Skills Multiply Productivity

Posted by Chris Carter on September 5, 2020

I am amazed in how many different skills a good software developer can obtain. From knowing when to use a programming pattern, to knowing the faster algorithm to solve a difficult problem. There are so many different ways to solve a problem, and many times they are all great solutions.

I am constantly teaching myself how to solve problems the fastest way possible. When I come across a difficult problem, my first question to myself usually isn’t “Is this problem solvable?” but instead I ask myself “What is the best way to go about solving this problem?”

In the past, when I have worked on software engineering projects, there always seems to be so many requirements that need to be implemented, but so little resources and time to allocate. Therefore, it is not just important, but required to understand good software engineering practices to finish software correctly, without neglecting any vital feature.

There can be so many tiny details that need to be implemented in a finished program. For example: what happens when the user closes the program without saving? Will the program run as fast on different operating systems? Will the program eventually be released to other platforms such as mobile? Can users change the color scheme?

Having a lot of training and practice can multiply the speed of development of code. There are times when I came across a difficult problem for the first time, and it may have taken me an hour to solve. Later one, when I came across a problem that was similar or equal, I was able to solve the problem much faster. Day after day, I am growing the problems that I understand how to solve, and I am growing quickly in solving a wide variety of problems.