How to become a better developer?
To make it interesting let’s start with some facts, which I heard during my career; to be a good developer, you must learn how to program and how to use a programming language. First thing you need to understand is, both these are different and learn why it is. Another thing you need to remember about software programming is Software is not bringing the solution to the business, but it is better understanding of the business. And finally learning a language will not help you solve a problem, and problem solving is the essence of computer programming.
Once you are through the basics, you always need to look for better yourself. A general mistake developers normally does is, update only on technology front, it will definitely help you write better code but not a better developer. Given below are some points you need to keep in mind to become a better programmer.
1) Find the correct way
Lots of people will simply be done with some work around or bad fixes, particularly if this is easier and actual solution is tougher. If you actually enjoy the challenge of solving problems instead of doing this, then that’s a great sign that you are doing a good job.
In your attempt to solve problems, if you will also take into account of realistic constraints (timeframes, budgets, etc…) then the good becomes great.
2) Premature optimization
Premature optimization is as much a problem as no optimization. If you think only about code quality and execution speed, your code could become tough to manage. It would be tough to debug or understand by another person. It might contradict with my last point but finding perfect balance here is imperative.
3) Data structures, algorithms and basics
Most of good programmers are really good in data structures, algorithms and basics. By learning these things, you take better advantage of what is available. Since data structure is key piece of any program, solid knowledge of them helps during problem solving. If you limit without DS, it could seriously damage your progress.
4) Plan ahead
Rather than jumping into a new assignment, a good addition to your programming skill will first learn as much as possible about the desired end product. If there is a change, make sure you did an impact analysis before start coding.
5) Code reviews
Code reviews are great ways to improve your quality. It would help both reviewer and reviewee. Ask whoever reviews your code to be thorough and detailed, even if he is hard on you at first. Ask more than one person to review your code and be thankful for the feedback you receive.
6) Work together and be proactive
Developers needs to enjoy working together and should be prepared to study, Review and improve one another’s work. Working this way can actually involve a great deal of interaction with others across the business. This gives you an enjoyment of communicating and an ability to explain things in a way that is easily understood by others. It could improve your communication skill, which is not knowing a language but expressing yourself.
7) Handle failures
Don’t expect all your code to work perfectly; in fact failures are unavoidable. View errors and bugs as a challenge rather than a sign of defeat. Persistence is important, as well as the ability to start over if necessary, even after hours of work.
8 ) Plan your future
Plan your future ahead and work towards it. You need to have a definite career plan in front of you and choose your options wisely.
The points given above are not tough to follow, just easier not to follow. But as the topic suggests to become a better developer, you must consider these among many other advises given to you by your mentors. Learning from others and willingness to accept good advise will always take you on good path.
Well said Anoop…. Being proactive and proposing good solutions is a vital part of the career development. We should always try to be innovative!