3 Life lessons taught by programming

Written by sanderfish | Published 2017/04/30
Tech Story Tags: programming | life-lessons | personal-development | software-development | life

TLDRvia the TL;DR App

by Sander Visser

How to pair socks from a pile efficiently?

A rather boring question to ask, you would think. Yet, as a programmer these kind of thoughts cross your mind fairly often. When talking about them with other, non-programmers, they turn out to be rather uncommon things to think about.

When you’re programming, you’re continuously solving problems. You’re thinking about what language to use, if you should group the code your writing or it should be split up in separate parts, how you keep things organised and how to make your program more efficient. After you’ve spent some time programming, you will notice that you start applying those techniques to daily life.

But that’s not the only way programming relates to daily life. It teaches some important life lessons too.

1. There are always multiple ways to accomplish something

When I was coding a new landing page for my product Wordeys, I wanted to make a gradient background. Not having done those before, I looked at websites that used those backgrounds and rewrote one of them to use on our page. When done, I realised that I wanted multiple gradients on top of each other. I started adding them, but soon realised that it became a mess. I decided to delete what I wrote and started looking at the other websites I had saved again. I deleted what I wrote twice, until a third technique turned out to be both efficient and readable.

Source: http://imgur.com/gallery/Ag9TWv2

Even though choices in life may not always be as simple as browsing the internet and looking for possible solutions, multiple solutions often exist. Looking for a new job? You could create a great portfolio, do non-profit work to improve your CV, take a workshop or bootcamp to learn new skills or call a recruiter (ok don’t really do that). All of those could work and it could even be the combination of them that would do the trick.

2. With patience, diligence and honesty, everything can be fixed.

Earlier this year, GitLab had a serious incident with one of their databases. Due to a wrong CLI (Command Line Interface) command, one of their employees started a removal process of the wrong directory. Instead of running it on db2.cluster.gitlab.com, he ran it on db1.cluster.gitlab.com. After a second or two he realised his mistake but by the time he terminated the command, only 4,5 GB of 300 GB of data was left. For some companies, this could have been their downfall. Losing customer data, either by being hacked or due to mistakes like these, is one of the worst things that can happen to a company. Trust is hard to win, but so easy to lose.

Yet, GitLab was extraordinary open about the data loss. They tweeted about it straight away, letting everyone know that something was up and that they were not sure about the possible outcome. They kept sending out updates and even added a Google Docs with live notes.

While they lost 295,5 GB of customer data, people praised them for their transparency. By being honest about their mistake, they were able to remain trust of their customers and users.

3. There is no “done”, only “in development” or “abandoned”

Programmers build things. Lots of things. When you look at a programmer’s GitHub profile, you will often see a ton of repositories with things they are or have been working on. To determine if a piece of software is still useful, people usually check when the last update was and the amount of Issues others have reported. This is where it comes clear: a project is either “in development” or “abandoned”.

But it is no different in life. Dreams and goals are seldom accomplished, because there will always be a next step. When the goal is to buy a big car, there will always be a bigger car. When the goal is to earn an independent living, there will always be a higher achievable income. When the goal is to eat healthy, an even healthier option is always available.

Thus, these goals can either be still in progress, or you can decide that you have reached the limit of that goal. Don’t get me wrong, there is nothing wrong with abandoning things. Circumstances and perspective can and will change over time, causing you to reshape those.

I’m excited to hear how you experience these and other lessons taught by programming in your life. Feel free to reach out in the comments or on Twitter: @fishsander.

PS: If you want to read posts like these (once a month!) and hear more about the stuff I make before everyone else, you can sign up to my private email list here.

Did you enjoy reading this article? Please help other people find it by clicking the 💚.

I am Sander, a designer and developer building Wordeys and Defty. I also built the front-end of Cribber, worked on Broaap and Rotterdam Summer School.


Published by HackerNoon on 2017/04/30