This is a very short essay about what can you teach about problem-solving to a new developer. But it is not limited to software development, I think.
I will enhance the post in later iterations…
Let’s break it down into 5 points
Point 1: breakdown your initial problem into small chunks
It is well recognized that breaking down a big project is the entry point to build an efficient product.
Why? With small chuncks, you will be able to draw the story of the product and you will be more aware the possible user routes.
Point 2: Keep things simple
A simple system is a system that works and that will be easy to update and improve with new features.
Don’t over think it, like overusing abstraction. Make the product efficient for your users and your developers to work with.
Point 3: Identify well the inputs that will produce the desired output
Define what the inputs are, how they’re going to work together to produce the output.
You need to know what the source of your inputs: a human being, an API, a file, etc.
Then, make sure you gather and name well your output. The best is to use term that the enduser understand.
Point 4: Seek feedback through iteration
Feedback is key to know if your product is doing what the customer asked for.
Iterating several times will help to ease the bug hunt.
It is a good idea to set up a little form or list of things you want to get from feedback, so that the person testing doesn’t just say to you:
It doesn’t work…
Guide the tester and the end user with hints of what you need to solve an anomaly.
Point 5: Trace the system in execution to troubleshoot it efficiently
The worse thing is to deploy a product that you think works as intended, but, when the customer puts his hands on it, everything breaks.
Be sure to trace the important data or processes that you would need to troubleshoot a problem. Usually, it is done in the development process, because you will debug your app or you will need information to solve bugs you find.
Where you would set breakpoints is probably a good place to put a trace!
Please leave your thoughts on Twitter.
Photo by Brett Jordan on Unsplash