What Do Algorithms and Your Favourite Barista Have in Common?
One of the wonderful aspects of being a coder is the ability to work from anywhere. My favourite “office” is my local cafe. I enjoy casual conversations during work breaks with locals and tourists. Inevitably, the question of what I do for a living gets brought up. When I state I am a coder I see their eyes quickly glaze over like the doughnuts in the cabinet. “Oh, I have no idea what you actually do?! It sounds good though.” When I explain to them that it’s not as esoteric as they’ve been led to believe through pop culture and social media, I am usually met with a look of disbelief. However, I am confident that the words surrounding coding and technology, in general, can be demystified.
Let’s start with algorithms. Guess what? You do them every day. You are a master at many of them too. So what exactly is an algorithm? Put most simply, an algorithm is a step by step process to solve a problem or complete a task.
A nerdy example is when you apply a formula to solve a simple math problem. You have 3 kids that need 2 pieces of fruit each as a treat for their morning school break. The problem is “How many pieces of fruit in total do you need?” The solution is solved by using the algorithm: 3 kids x 2 pieces of fruit = 6 total pieces of fruit.
What does this have to do with your favourite barista? When you order the usual, he or she performs a step-by-step process to complete the task. When I order a flat white, the barista performs the flat white algorithm which contains these steps: the barista grinds the beans, heats the cup, makes the espresso, steams the milk, and pours it into the cup. So the next time you pop into your local cafe, let your favourite barista know how much you appreciate the algorithm performed to make your favourite beverage.