With the vast array of technology, language and platform choices available today, it can be very difficult to figure out where to best invest time in training your skills as a software developer.
I’m often asked advice on how to be a better programmer.
Most often the question someone asks is based on whether or not they should invest their time in a particular programming language or technology versus another.
I’ve been giving this quite a bit of thought lately and I’ve come up with what I think are the most important and timeless skills that a software developer can attain which will give them the best career opportunities and make them the most effective.
Skill 1: Solving Problems
I’ve talked about the need to learn how to solve problems before and I’ve even given some steps of how to learn to solve problems, because I believe this skill is critical to any software developer.
Software development is 100% about solving problems.
Without problems there wouldn’t be a need for software.
All software is designed to solve some user problem and within that general solution is a wide array of smaller problems that make it up.
It really doesn’t matter what programming language or technology you use, if you can’t solve problems, you won’t be very good at developing software.
It is amazing how bad most developers are at solving problems.
I constantly hear complaints about job interviews that are too hard because they ask the developer to solve some difficult problem.
I’ve talked about why hard interviews are good and part of the reason is because they test a developer’s ability to solve problems.
For More Details animated app promotion