All skills have a combination of natural talent, effort, and experience.  Technical skills are no different.  You can improve professional skills by practicing them in your daily responsibilities.  Yes, you should take advantage of this, and you likely have little say in this form of practice.  On the other hand, you can focus on becoming a better developer through intentional efforts to improve your problem-solving skills as well.

Practice Makes Perfect

There are two common ways to practice your problem-solving skills.  One works with new code and one with prior problems solved.  For new issues, take some time to think through them without referring to notes or previous examples of your work.  This step will at least help you get better at recalling prior work, but more importantly, it will give you time to inject your improved knowledge into the situation.  I know this approach is not the fastest way to a solution.  However, it does make it more likely that you will make steady improvements to your work.

I think of this like writing a paper on a topic.  If you edit or review previous work, then you will tend to stick to the thoughts and themes you originally wrote.  On the other hand, if you start from scratch, then you are more likely to introduce new ideas and themes based on your expanded experience and knowledge.  The same thing occurs if you present on a topic by following an outline rather than a script.  You will come up with new approaches to share the subject from feedback and other ways you have learned.  The lack of a tight script leaves you open to new ideas to present even if the highlights stay the same.

Problem-Solving In New Ways

A new environment is always good for exercising your problem-solving skills.  You will face familiar challenges.  However, the tools you have available are different.  Sometimes this is a monumental difference, but often it is minor or subtle.  Sort of like the difference between a hacksaw and a hand saw.  The different focus not only suggests new ways to approach problems, but it also can provide new insights.

This different tool for the same problem is often used in education.  Instead of starting with numbers, a teacher may start with toys or apples or some other common item to introduce addition.  As we progress in mathematical studies, we swap out numbers for letters and find equations or other advanced ways to solve problems.  Sometimes a new environment works the same way.  It gives us new ways to view challenges as well as tools that are better suited to create a solution.

Rob Broadhead

Rob is a founder of, and frequent contributor to, Develpreneur. This includes the Building Better Developers podcast. He is also a lifetime learner as a developer, designer, and manager of software solutions. Rob is the founder of RB Consulting and has managed to author a book about his family experiences and a few about becoming a better developer. In his free time, he stays busy raising five children (although they have grown into adults). When he has a chance to breathe, he is on the ice playing hockey to relax or working on his ballroom dance skills.

Leave a Reply