What's the one skill that any new Developer should focus on learning? Yes, actually learning to code is pretty high on the list. But how would you even know where to start without being able to understand what you've got to build?
Now, being a Developer is like being a Business Analyst, or a Marketing professional - it's a pretty broad term. There are a number of different types, and an exponentially increasing number of disciplines that you can specialise in.
You cannot possibly know everything there is to know. And you're not expected to. But what you do need to know is 'how to figure something out', or, 'how to solve the problem'. And therein lies the rub.
It's not easy. If it were, everyone would be Marc Andreessen.
But don't worry, it's something you can learn.
And like all things, practice makes perfect.
Well, every piece of software created is actually the solution to a problem. For example, SOLID was written to provide ISP's with all the very specific operational features they need in a single platform.
If we knew the answer to everything all the time, how would we ever create anything new? Push the boundaries? Come up with something exceptional?
The essence of great development lies in the ability to be a great problem solver.
To paraphrase Donald McMichael's "3 Attributes Powerfully Successful Problem Solvers Possess", all good problem solvers are good at:
Essentially, you need to be able to take a problem, understand it, and then work towards finding a solution using any means at your disposal. Often, it's the 'understanding' bit that's the hardest.
Of course you can’t very well go around saying that 'problem solving' is the key skill without providing some tips and tricks for success:
Being a Developer is all about creating something useful and relevant out of nothing. You take a real-world business problem, leverage your coding skills and apply your mind in order to create an elegant and brilliant, practical solution.
This is why we think 'problem solving' is the #1 skill all Developers should learn.
If you liked the pieces of advice we included above, check out this post for some more top tips from the SOLID Dev Team.
Let us know what you think in the comment below.