A boy travelling back to school needs some good company on the bus. So after taking his seat he puts his backpack on the empty seat next to his and tells everyone whose company he wouldn’t enjoy that the seat is taken. As luck would have it, a girl he likes boards the bus. He picks up his backpack and puts it on his lap. When the girl nears his seat he gives her the most charming smile he could conjure. The girl sits next to him and as they say, the rest is history.
That boy came up with an algorithm to get what he wanted. When ladies put on makeup or choose beauty products they follow an algorithm to give themselves the best look. When you follow a recipe for your favourite dish that recipe is essentially an algorithm. By now you have figured out that algorithms are part of our everyday lives. Surprise! You have been writing algorithms all your life!
An algorithm is simply a set of rules followed in a problem solving operation.
Computer algorithms are not that different. One key difference is that software engineers use code or programming languages to tell computers what to do. The same way ordinary humans (software engineers are not ordinary :-) ) use language to communicate procedures. Sometimes algorithms fail, just like makeups fail. But if we use the right processes this hardly happens.
Computer algorithms can be very complex. Because the problems they are meant to solve can have very many moving parts. In the same way when making a financial investment you have to keep in mind many market factors and handle many unforeseen scenarios. As engineers we always have to visualise so many connected parts of a problem. This requires good spatial reasoning skills, creativity, being systematic, thoroughness, the patience of a saint and if you are to avoid being a mental case, playfulness.
That is it for now. In another article, I will walk you through how we use Algorithms at Sendy. Stay tuned. :-)