My Journey Into Software Engineering, Part. I
As I start my journey into a career in software engineering, I decide to join a coding boot camp, and as a total amateur when I started on this journey, I had the notion that software engineers were magicians, spending innumerable hours in front of the screen crafting a complicated magic spell that makes machines do their bidding.
To my surprise they are not magicians, software engineers do solve complicated problems but it is done following the necessary steps.
- Understanding the problem.
- Breaking down the problem.
- Finding the solution.
Understanding the problem
The first and most important step is understanding the problem in order to provide a satisfactory result. Let’s take for example a client, that walks into a restaurant and ask for fried egg and toast. We must understand that the problem at hand is to cook fried eggs and toast to our client, no risotto, no macaroni, and cheese, but fried eggs to give to our client.
It also takes into consideration what is needed to solve the problem, in our client case, we will need an egg, oil, a frying pan, a spatula, bread, etc…
Breaking down the problem
Great! We understand what our client wants but we can’t just throw all the things we need in a pan. We don’t know what the making of fried egg and toast implies.
As a wild guess, I will say it should imply the act of frying an egg and the act of making a toast, let’s take a closer look and see what it really means.
Frying an egg means :
- Turn on the stove
- Put the pan on the stove
- Put some oil on the pan
- Wait until it heats up
- Break free the egg from its husk
- Put the egg on the pan
- Once cooked place it on a plate
Making a toast means :
- Slice the bread
- Put a slice of bread in the toaster
-Once done, place it on the plate
Wow, now we got it all, It is time to start the making of our dish.
Finding the solution
Now we follow the individual steps of frying an egg and making a toast. We put de individual results together en the final result is exactly what we wanted. Fantastic!
We arrive at our solution and our client is happily eating his fried egg and toast.
Conclusion
All of us have been following this technique even before we were aware of it. Think about what you have to do to commute, tie your shoes, change the channel, etc… Software engineering is not that different, is not magic or rocket science, but relentless dedication to finding a solution by using the discussed techniques and technology.