These tips aren't listed in order of importance. They're all equally important and try to follow these advices to be a successful programmer.
1. Over Estimate Your Working Time
Unless you're entirely confident in your programming project, you need to over estimate your project duration. It will give you more cushions in completing your job and it can make your performance looks better because you can get project done ahead of the schedule.
Negotiate with your client or your boss about your project duration; if you are preparing for a worst case scenario, the project duration should be 1.5 times longer than the standard duration. It may not make them happy, but you want to have an acceptable level of comfort with your tasks and over-estimation is a better approach to deal with the unknowns.
2. Become An Expert On A Framework System
Using a framework system, like CodeIgniter, will improve your productivity if used properly. If you're working for a company that uses different system, then you need to become proficient with it in a few months, if possible weeks. The ability to learn new systems quickly will make your resume more attractive and will get you better jobs quicker. It is suggested to spend some time researching about a company you want to join and then learn about systems used in that company before applying.
3. Never Assume that Your Employer is Everything
Is your company giving you enough salary and bonuses? What about in ten years? Is the company expanding and going anywhere? Are you comfortable with the working condition? Are you always overworked?
Of course, you shouldn't constantly apply for a new and better job. But it is a good idea to have a good understanding for what else is in your industry. Talk to other developers in your field that live in your city and determine how much they make annually. Research other companies in your area and also other companies outside your town. If you are ready to accept jobs from other city/state, there is a better chance that you can increase your earning greatly and have the chance to work for a more active company.
What really matter is you need to make sure that your career can get progressively better; you need to be open yourself to other job opportunities when they're available. Don’t let your current company make you feel bad for going with this strategy. Sometimes the best alternative is to immediately quit working with your current company and form a team with other freelance developers. Don’t burn the bridge and keep your options open.
4. Get Familiar with SVN
It is now commonly used in many companies, and it is suggested that you start learning, if you aren't familiar with it yet. Making an incorrect change or accidentally overwriting a file is not a big problem when implementing SVN, as you can easily revert back to previous versions. It will help if you're managing other workers because you will know exactly how they work with the code, and redo any changes. Over the last five years or so it has become essential in many software companies.
5. Maintain A Blog Or Website
For many, this is an obvious necessity, but for those who are too “comfortable” with their jobs, they may forget the benefits of staying connected with the community through the Internet.
Having a well-maintained and interesting website can be useful if you are unexpectedly to lose your job. For web programmers, a website is a good place to showcase and demonstrate their skills.
6. Be Organized
Being unorganized may cause many headaches. You will forget about meetings and can’t keep up with the work schedules; lack of organization will make you look awful. Try to take it seriously and create a system that allows you to meet the schedule. As a matter of fact, this is an area that many programmers fail to do. They are probably brilliant people and can write impressive codes, however, when it comes to being dependable and reliable, they fall flat. It is an area where you can be different and shine!
7. Learn About New Things
Frequently we get so tied up with what our daily routines that we don't have enough time to learn about the latest developments in our field. Or perhaps you work at a place that ignores the fact that employees must learn about new technologies to make the company stays competitive. In any case, it is a good idea to spend some quality time with things outside your works for learning about new techniques, languages, systems or tweaks.
Those who fail to do this run the risk of being badly outdated as the IT world progresses rapidly. Of course, you can always catch up, but being one of the first technology adopters can bring an immense benefit to your career.
8. Learn From Your Mistakes
If you fail on something, don’t blame it on someone else. Find out why you make those mistakes. This will show your level of maturity, don’t let it ends there. Do as best as you can to not repeat the same mistakes again.
Many skilled programmers end up making a single mistake over and over again. Those who don’t want to learn from their mistakes will look ineffective. Make a "Mistake Book" which records your daily mistakes, lists ways to prevent them and also tracks your progress, you may end up getting raises and promotions because a competent employee does matter to supervisors and employers.
Actual Job Listings for Developers