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
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.
With a little bit of head-scratching, tinkering, and trying the code out yourself, you came to the conclusion that the results are
[2, 1, 2].
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.
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.
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.
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.
“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.