What can you teach about problem solving to a developer
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 problem is the entry point to build an efficient product.
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.
Point 3: Identify well inputs that will produce the 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.
Point 4: Seek feedback through iteration
Feedback is key to know if your product is doing what the customer asks 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:
It doesn't work...
Guide the tester with hints of what you need to solve an anomaly.
Point 5: Trace the system working to troubleshoot 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 that you would need to trouble a problem. Usually, it is done in the development process, because you will debug your app. Where you set breakpoints is probably a good place to put a trace!
Please leave your thoughts on Twitter.