I have been teaching software development for the last 4 years and have trained over 200 developers. After graduating 200+ developers, I started to see a lot of patterns in their learning and behaviours. One of the most important thing I notice among new developers is they fail to isolate the issue from the big picture. This result is frustration and lost productivity, which could have been avoided.
In this post, I will talk about how to isolate the issue and how isolating and focusing on a one single problem can allow you solve the problem much quicker and in the end, make you a better developer.
How to isolate the problem?
The main concept behind “Isolating the Problem” is to extract the problem out of the original context and try to solve it independently. This approach will provide a narrow focus on the problem and you will be not disturbed with other complexities of the application.
Unit tests provides the same level of confidence, but unit tests is an intermediate concept and may not suited for someone starting out with software development.
The art of isolation comes with experience and practice. A junior developer might end up running the app countless number of times, just to see the correct date format printed on the screen. A better solution would be to work on the problem of formatting the date independently of the application.
You can use various tools for confirming the validity of the small section of the code, I found Xcode Playgrounds to be extremely useful. Simply, implement the algorithm in Playgrounds, make it work and you are good to go. Once, the code is working you can integrate it with the actual application.
You will be surprised to find, how quickly you will be able to solve a problem when the noise associated with the application has been removed. This is all great but what happens when you have something more complicated than a small function or few lines of code to test.
Enters Demo Projects!