I recently finished reading the book “Ego is the Enemy”, by Ryan Holiday and came up with many valuable advice and I decided to write this article.

When you hear the word enemy, you probably think about regular expressions, bugs, deployments, meetings and deadlines. Actually, in our quest to reach our goals and become the software developers we want to be, we are usually our own worst enemies. Ego is what prevents us from asking for help, learning, collaborating and working hard.

Here with ego we are referring to the unhealthy belief in our own importance, our arrogance and our self-centered ambition. That petulant child in every person who chooses to win all the time and at the expense of others.

Ego leads us to think that we are special, we know a lot more than we actually know and that we do not need to collaborate with others, as we are self-sufficient. It prevents from the real mastery of programming. From working well and building good relationships with other fellow developers or other people in general. From recognizing opportunities, or creating them, simply because we live inside our own fantasy of greatness.

Ego is a constant threat at every moment of our lives. It prevents us from building more great products, maintaining and progressing towards higher objectives and recovering from our failed projects.

If we really want to protect ourselves from ego, we should be aware of its techniques at every stage of our life.

If you know the enemy and know yourself, you need not fear the result of a hundred battles. If you know yourself but not the enemy, for every victory gained you will also suffer a defeat. If you know neither the enemy nor yourself, you will succumb in every battle. – Sun Tzu

To whatever you aspire, ego is your enemy

You may have a really good GPA, or many of your family members and close friends may have called you a prodigy. In these types of cases, your ego tends to make you feel that the world owes you the success you want. That you must get employed and climb up the corporate ladder for a record time. That you are supposed to be employed without needing to go through the formal recruiting stages. You may think that you do not need to have any repository on GitHub, as you have already surpassed your peers with your GPA. Your ego leads you to think that you do not need to work hard.

If we look back in history, people who amaze us with the work that they have done are really hard workers.

WordPress is one of the most famous Content Management Systems in the world that powers up more than 27 percent of the web. Its founder, Matt Mullenweg slept only fours a day and worked really hard while developing WordPress.

The co-founder of Microsoft and the richest man in the world, Bill Gates, used to work everyday. “I worked weekends, I didn’t really believe in vacations,” he recalls during an interview.

Back in the days when Mark Zuckerberg was a developer at Facebook, he had to work hard. “The last six years have been a lot of coding and focus and hard work. But maybe it would be fun to remember it as partying and all this crazy drama.”

During the time he used to be a software developer, the co-founder of PayPal, Elon Musk worked from early morning until late evening, despite being considered as a prodigy. He now works up to 100 hours per week.

You should not overestimate your abilities and get trapped into thinking that you are a lot better than you actually are. You should be very committed and dedicate a lot of time and effort into programming if you really want to excel at it.

Your ego may even prevent you from collaborating with other people. It can make you feel that you are smart enough, and sufficient enough with your own skills without the need to collaborate with other colleagues in your project. In reality, big projects that have made breakthroughs and have helped millions of users are usually developed as a result of collaborative work.

Larry Page and Sergey Brin started Google together after meeting each other at the computer science department at Stanford. Bill Gates started Microsoft with Paul Allen, who came up with the name Micro-soft. Elon Musk created his first IT company Zip2 with his brother Kimbal, which was acquired by AltaVista for $307 million in cash and $34 million in securities.  Brian Acton collaborated with Jan Koum and founded WhatsApp.

You should work really hard, be humble and collaborate with others. You should not even think about starting and finishing something of a large scale on your own. You should be part of a team that you work with.

To whatever success you have achieved, ego is the enemy

You may think that you now already have a job and have a few years of experience, you have already a solid castle that should last until you retire. You managed to learn React for only a few weeks and got employed within a few months without a college degree. You got employed at a top tech company, or became a team lead of many other experienced developers. You developed the application that reached thousands of downloads on iTunes.

You might have gotten a job offer from a top tech company in Silicon Valley and brag yourself about it all the time, forgetting that this type of attitude was not the one that brought you up to this point.

 Reaching a certain level of success comes with territory. These types of successes can be very impressive, but also devastating for our own future selves. They may boost our ego and prevent us to deliberately commit to the principles, routines and hard work that brought us at this level. We forget how much work we had to do to come to this certain stage. As a result, we are not able to have more progress, simply because we can only see what we have already done. We shift our focus from the cause of our success to the effects. We skip honing our programming skills, and improving our performance.  as we are indulged in the benefits of our prior success.  As the performance artist Marina  Abramović puts it, “If you start believing in your greatness, it is the death of your creativity.”

The society praises us and dramatically exaggerates our accomplishments, which fuels up our ego. We are not aware of our real achievements. We greatly overestimate them.

Computer programming is a profession in which you do not need to get a four year degree to get a job. You can get employed by learning a programming language with the opportunity to even work remotely. If you do not become better, and learn what is valuable currently in the market, chances are that you may easily get replaced by a young and enthusiastic guy from the other side of the world. You may not be as special as your ego suggests.  

If you want to get better as a programmer, and still have the opportunity to develop really cool applications, then you need to always be humble and learn. You need to engage in deliberate practice and constantly challenge your limits.

There is no such thing as plateau. In physics there is something called entropy. You are either going down, or you are going up. That’s all there is. There is no stagnation.  It’s easy to be successful for a week or a month and get trapped by ego’s stories and fail quickly. I believe the true success is sustainable. As 49ers coach, Bill Walsh has said, “The toughest thing I ever had to do was get my team to overcome success disease.”

To whatever failure and challenges you face, ego is the enemy

No matter how hard you try, some failures are inevitable. The startup in which you worked at that wanted to change the world failed to launch a successful product. The company had a major decrease of sales and had to lay off the majority of its software developers. The enterprise got sinked into a big debt and now you need to find a new job.

These and other similar failures may be out of your control. There may be other cases in which you are responsible for some types of failures. In both cases, this does not mean, however, that you should totally surrender and never make an attempt to change your situation.

“It is because mankind are disposed to sympathize more entirely with our joy than with our sorrow, that we make parade of our riches, and conceal our poverty. Nothing is so mortifying as to be obliged to expose our distress to the view of the public, and to feel, that though our situation is open to the eyes of all mankind, no mortal conceives for us the half of what we suffer.” – Adam Smith

Your ego may prevent you from being humble and learn from your mistakes. You do not want to learn a new programming language, or a new framework, as your ego tells you are already skilled and accomplished enough. You may hate to ask for help, or try to learn new things and overcome the failure in which you are in. You start to blame everybody. You do not stop to take extreme ownership and responsibility for your own situation. You can as a result fail to understand that you are actually in need to a become better software developer.

Microsoft was not the first company that Bill Gates and Paul Allen started. They had another company called Traf-O-Data in the early 1970s, which they had to shut down because of the losses. The lessons they learned from that experience played a crucial role for Microsoft.

Brian Acton was not accepted in Facebook. He was denied by Twitter HQ as well. He did not do a suicide, but collaborated with his partner Jan Koum and made WhatsApp. One of the social media companies that rejected Brian bought WhatsApp for 19 billion dollars less than 5 five years later.


Rovio developed 51 unsuccessful games before reaching the “overnight” success with Angry Birds.

The likelihood that you’re working on a project that will fail is high. This should not make you feel miserable, however, as long as you use these failures as learning experiences. As video game designer Will Wright says, ” I’m actually more likely to hire someone based on how many failures they’ve experienced. I think it’s the best learning system.”

Humble and strong people do not follow through only during the times of success. They use the lessons learned from their failures and manage to overcome and use them as catapulting standpoints. As Ryan mentions in the book, “The only real failure is abandoning your principles,” and further adds, “If your reputation can’t absorb a few blows, it wasn’t worth anything in the first place.”

For everything that comes next, ego is the enemy

Now that you have read this article, you have made a serious blow against your ego, but this is not sufficient. We need to apply these advice if we are seriously considering to become the best versions of ourselves. As Derek Sivers regarding the possession of knowledge, says “If [more] information was the answer, then we’d all be billionaires with perfect abs.”

We should learn from other people’s experiences with ego and not become its victims that others can learn from. We should be humble in our aspirations, gracious in our success, and resilient in our failures. This does not mean that we are not unique and that we do not possess something valuable to contribute. It simply means that we we should not have ourselves always as the main theme of the story. We should focus more on the work and the overall process instead.

We need to identify ego’s silent talk in our heads and suppress it early enough before it makes us cultivate bad habits. We must suppress its temptations with humility and discipline when we reach a certain level of success. We must be humble, ready to learn from others, and cultivate strength and fortitude when things go out of our way. As the Nobel Prize winning physicist, Richard Feynman used to say, “The first principle is that you must not fool yourself – and you are the easiest person to fool.”