Software Developers, You Needn’t Be Perfect

Emre Savcı - Jul 21 '22 - - Dev Community

Photo by Vitolda Klein on Unsplash

Lately, I have observed that developers, especially the ones who’re starting out — are under the influence of different factors and get lost in the concept of “perfectionism”.

We, as developers, want the best for ourselves and what we produce. As we build from scratch it’s natural to be committed to what we produce. Hoping it’s flawless. This is one of the factors that force us to be “perfect”.

So, is being perfect a realistic goal?

Do we have to be perfect? Or are we unintentionally forced to be perfect?


You don’t have to keep up with everything

We know that the software community has a multidisciplinary structure. The emergence of a working code is the result of the collaboration of scientists, mathematicians, and programmers.

You will meet people with different knowledge and experience in such a field. In such a situation, you should not feel inadequate.

Backend, frontend, DevOps, security, AI/ML, design, infrastructure, cloud…

Go, Java, C#, Python, Kotlin, Scala, Haskell, f#, Elixir, C/C++, JavaScript.

Different areas of expertise, different tools, different approaches. If you try to learn all of them, at the end of the day you will remain a tired and exhausted “coder” who has not learned any of them completely.

You don’t have to know everything. No one expects such a thing from you. Which is not an attainable goal in finite human life anyway. You should not expect yourself to know everything.

“But people on the Internet know many things, they are very good and successful in everything?”

If you say so, let’s move on to the next topic.


Social media fallacy

The world is like a stage. Everyone plays their part in this scene, and when their role is over, they leave this scene forever.

  • Shakespeare

You may be deceived by what you see on Twitter and LinkedIn and get the impression that people are always highly motivated, hard-working, never making mistakes, and know everything. But the truth of the matter is not at all what it seems. Most people do not share the facts, they only share the parts they want you to see. This, in general, reveals the misconception that those persons are “constantly successful and good at everything”.

People share their best moments on social media because they don’t want their failures to be seen. However, experience is gained as a result of failures and mistakes. It is hidden that this is a natural process and the perception is created that they are flawless and perfect. This is an illusion. Do not lose your motivation and self-confidence when you make a mistake or fail to achieve the desired result after a few tries. You make as many mistakes as anyone else. Treat yourself fairly.

Having lots of basic-level posts on different topics does not necessarily make a person very knowledgeable.

As Morpheus said, “There is a difference between knowing the way and walking on it”. Since even specializing in a single subject is something that requires many years of effort, you should not get the thought of “how much people know, I miss everything” after every post you see.

In the same way, do not view people you see on social media as those who live everyday with a plan. Who do not miss anything. Who continue to write code with one hand while rubbing an avocado on toasted bread in the morning. Who never make mistakes and know the best of everything.

It wouldn’t hurt to play games for a few hours, spend time with your friends, or even take time for yourself to do nothing sometimes. On the contrary, sometimes you need to do these things to clear your mind and relax.

So, don’t get caught up in thoughts like “I wish I had written code instead of playing games”, “I wish I had read a few more articles instead of watching movies”, “I should have looked at projects instead of going out with my friends”. There’s nothing wrong with living your life. The activities you will do to distract yourself a little will not hinder your self-development.

Another concern is the effort people put to be justified — simply by hiding behind the masses. Even when something you think could be wrong, your sense of truth can suffer when too many people take the opposite view.

Popularity, combined with fanaticism leads to the veiling of reality and the perception that what is being advocated is true. However, every truth can be defended, but not all defended truths.

“There is no doubt that our age… prefers the description to the object, the copy to the original, the representational to the reality, the outer appearance to the essence… The only thing sacred for our age is illusion, the only thing that is not sacred is truth.”


Perfection has no limits

Chasing the impossible is insane.

  • Marcus Aurelius

What is perfect? To be faultless? To be the best?

What is the definition of good? How good is the best?

How to gain experience if no mistakes are made?

Does knowing everything perfection? Can everything be known?

Go deep into something? How deep do you go?

Knowing all the libraries of a programming language by heart?

How many of these do we need? Is it necessary to be perfect if what is needed is enough?

The answers to the above questions are things that can change from person to person and whose boundaries cannot be determined. Trying to reach something immaterial that cannot be defined in the same way by everyone will be nothing more than a futile effort.

In the past, perfection for me was knowing at the source code level what the code I wrote and the product I used was doing in the background in each process. But this is not an achievable and sustainable goal.

Knowing the language, orm tool, http package, database, operating system, kernel/CPU calls, and network operations at the source code level, it is impossible to try to learn more than one in this list. This is not perfection, it is madness. There is no need for such a thing.

You too may have different definitions of perfection. It doesn’t feel right to generalize such a variable, ambiguous and abstract concept for everyone and to put it in front of people as if it is a goal that needs to be reached.

Most of the time, it will be “sufficient” to know the tool you use enough to reveal something, solve your problem, to be able to build on it by researching and learning.

You need a lot to be perfect, and the more your needs, the more restricted your freedom. Freedom is not needed — to be enough, to be self-sufficient…

So does happiness come from having something or not wanting anything to have?

Freedom is not the right or ability to do whatever you want.

  • Epictetus

Perfect is the enemy of the good

“We are what we constantly do, excellence is a habit, not an act.”

  • Aristotle

How many projects do you have that you strive to be perfect but can’t finish?

How many codes do you have that you are afraid to share because you think it is not perfect?

How many attempts have you failed to do because you couldn’t find the perfect idea?

How many blog posts are there that you didn’t write because there wasn’t great content?

Do you realize how much trying to be perfect causes us to miss out? In fact, what we need is to come up with a working project, write and share the right code, and have the courage to try an idea. To try, to do, to complete. These are far more important concepts than perfection.

Don’t let others define how you should be. Keep in mind that striving to be perfect deprives you of how many things.

In seeking the perfect, we lose the good enough.


Not to compete with anyone

“The wise man does not compete with anyone, so no one can win against him.”

  • Lao Tzu

Competing with others is another occupation that will consume you. Comparing yourself to others every day and trying to be like them or better will wear you out both mentally and physically.

The only thing you need to compare yourself is how you were the day before. Trying to ensure your development by focusing entirely on yourself will eliminate the distraction and demotivating situations that will arise from external factors.


Your progress is up to you, not perfection

There is only one path to happiness; and not worrying about events that you can do nothing about.

  • Epictetus

We want to improve ourselves to feel better, achieve our goals, and be happy people.

You don’t have to try to be perfect while doing this.

Setting achievable goals and working towards those goals will bring you to the level you want. Development is achieved not by trying to be perfect, but by working hard in a disciplined way.

Setting achievable goals during this process will help you stay motivated. If you constantly set big goals and cannot reach them, you start to feel that you are running out over time and that your old enthusiasm is no longer there.

What you really need is not to be perfect, but to have discipline and habit.

As long as you keep yourself in shape by regularly writing code, reading articles, and doing research, the development will be inevitable.

It doesn’t matter how slow you go as long as you don’t stop.

  • Andy Warhol

Now, without waiting any longer, share your first code, realize your first idea, write your first article, and complete your first project.

It doesn’t have to be perfect. Being yours makes it special.

Want to Connect?

Twitter
Linkedin
Github

Buy Me A Coffee

. . . . . . . . . . . .