Four Big Mistakes Every Software Engineer Has Made

It’s okay to screw up — that’s how you learn and grow. But, be sure to learn from past mistakes

Indrek Lasn
Oct 8 · 5 min read
Photo by Blake Connally on Unsplash

Creating software applications is a form of art. Writing code lets us express ourselves and shows how we see the world, just like any other art form. Every software engineer has their own quirks. Individualism has its costs — here are some of the most widespread mistakes I’ve seen software engineers do, including myself.

Trying to Be Too Clever (Writing Too Clever Code)

Writing clever code feels almost too good. You get the sensation of demonstrating great wit with high doses of intelligence. I don’t blame anyone— after all, who doesn’t want to be seen as a smart software engineer? We all want that glorious title — to be seen as the “elite” developer. A quick way to fall into the “too clever code” trap is by trying too hard.

For example, I found this JavaScript code on my LinkedIn feed. What do you think the results are?

A prime example of “too clever” code — my LinkedIn feed

With a little bit of head-scratching, tinkering, and trying the code out yourself, you came to the conclusion that the results are .

If you were too lazy to figure out the code, I don’t blame you. I fell into that camp too. I wasn’t willing to put the work into the task since I knew this is “too clever code” and not worth investigating. Writing code like this creates confusion among teams. Don’t torture your teammates by making them solve riddles. Be easy to work with, be kind, and write clear, concise code for humans, not computers.

“Too clever code”

Anecdotally, treat your code as if the next person to maintain the project is a serial killer. You don’t want to upset the guy, or he will find you. Take care of your code and try not to be too clever. The “Keep It Simple Stupid Principle (KISS Principle)” is a fantastic motto to follow.

Not Exercising Enough

Imagine the following: You only could own one car for the rest of your life. What car would you pick? Well, chances are high that you would put enormous care into maintaining that car, right? You want the car to last for a lifetime since you only get to pick one car. Oil changes would become more frequent, and regular tire and engine checks would be the norm.

Well, we only get one body for the rest of our lives. Why would you not take care of something that you only have one of for the rest of your life? Neglecting your well-being and health is a lifetime problem. It’s ultimately your decision what you do with your body and health, but a wise decision would be to take care of something with so much importance.

Photo by Clique Images on Unsplash

Writing code is a stationary job. If we’re lucky, we might get a standing desk, but the majority of people are sitting while working. Our bodies aren’t just evolved to work like that — we’re hunters and gatherers. We need to constantly move to stay mentally and physically healthy. Don’t neglect something so important. Try to start small by going for a walk once or twice per week. Build on that progress — in a couple of months, try running instead of walking. Visit the gym, pick up jiu-jitsu, Crossfit, whatever you prefer. Just keep moving.

Not Documenting Enough

The Greeks thought the invention of writing knowledge on rocks was the biggest mistake ever. How wrong were they? Humans rose to the top of the food chain thanks to the ability to transfer knowledge and work together as a group. A single human is pretty much dead in the wild, but a group of humans will make it out. That’s why we want to belong, and it’s why it feels so good to be part of a “tribe” — our chances of survival increase tremendously.

Photo by Henry & Co. on Unsplash

Create a Wiki page for your project and write down everything. Every project has its idiosyncrasies, and so be sure to communicate them well. If your project requires access to a database, write down the how-to setup on the Wiki page. You’ll be very happy when a new teammate joins and you point them to the Wiki page with everything written down.

Giving Up Too Soon

We’re all victims of giving up too soon — after all, it’s much easier to just give up than work on something that’s deemed to be impossible by many people’s standards. Can you imagine living in medieval times and someone was trying to explain the concept of electricity? Every house has access to flowing electrons and electrical currents. You would be considered mad by many people, yet that’s the reality today. We’ve accomplished many impossible things by doing, and not by giving up.

Photo by Nathan McBride on Unsplash

“I’m convinced that about half of what separates successful entrepreneurs from the non-successful ones is pure perseverance.” — Steve Jobs

Software engineering is hard, like, really, really hard. Sometimes, it’s just too easy to throw your hands in the air and say, “I give up!” I’m no exception; I’ve given up on some projects that I wish I’ve completed. I’ve learned from those mistakes, and they made me a better engineer and a stronger person.

Next time you get a really difficult task, sit back, think, and try to break the challenge into smaller parts. The International Space Station — arguably one of the most complicated inventions ever created— wasn’t built in a day or two. In fact, the International Space Station was built as pieces of modules. As of today, the machinery is still improved by attaching new modules to it.

Better Programming

Advice for programmers.

Indrek Lasn

Written by

Engineer, founder. Let’s change the world together for the better. Follow me on Twitter @

Better Programming

Advice for programmers.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade