About a month ago I entered the last five months of my college experience. This last semester consists of an internship that has to result in a Bachelor thesis. Repeating 'this project has to turn out right or I might as well not write a thesis at all' has caused me to overthink everything. The moment I noticed this, I realised I needed something to calm me down. There was one book that I had laying around that has always been interesting to me but I didn't finish until now. I'm glad I picked it up and read it all.
Ego is the Enemy by Ryan Holiday is a book about dealing with your own thoughts and self-sabotage during different stages of life: Aspiration, Success and Failure. The advice in this book has helped me with shaping my thought process into something that helpful instead of hurtful. There are a lot of 'nuggets' in this book I really recommend reading it. In this post I'd like to share my favourite advice, which happens to be the advice that helped me the most.
Most of us have goals and, whether they are big or small, we think about them often. We talk about them with people we respect and love. We visualise them and try to experience a bit of the success we think we'll feel when we achieve them. There is nothing wrong with any of that, but it's easy to take this too far. Instead of doing the work we talk about doing the work and confuse it with actual progress. Even when we are working on our goal, our idea of what success looks like slowly steers us into a different direction. It is suddenly about impressing others instead of reaching goals. Solving a big pile of small JIRA tickets instead of solving a bigger bug that will take more time and effort. Over-engineering something a just little, so we can flex instead of writing something that can easily be understood by everyone.
The only way to overcome this is by noticing it yourself. Other people might be indifferent to your actions but you know when you are trying to impress others and slow yourself down. Learning to get out of your own head and step back can help you with actually achieving your goals. If you can redirect your focus from looking for validation to doing the work you need to do, the likelihood of reaching success will be bigger.
Achieving a goal you have wanted to achieve for a while feels amazing. You're finally there. You got the job, you're promoted to senior or you finally launched that product. Is this the end? Is this the start of becoming bigger and better than anyone else? When success gets into your head it can trap you in two ways: complacency or endless ambition.
When you are hired it's done right? You can sit at your desk, type a bit of code and go home afterwards. You have build some CRUD applications before, all you have to do is repeat it. Unfortunately, having done something successfully in the past is not a guarantee you can repeat that success forever. Don't blindly write code without running it because you have written something similar before. It's easier to debug something if you made a small change than when the bug is hidden under 100+ lines of code.
In that case being hired is just the start right? Keep studying. Read about development before work. Don't leave until the last dev does. Code until the middle of the night as soon as you get home. Don't stop until you're at the top. What is the top exactly? CTO? Do you even want to be CTO? A lot of developers realise they don't when they discover that a CTO barely touches code and focusses more on drawing the architecture. Putting in endless hours to reach the top often leads to burn-out. Make sure you define your next step based on what you want.
The author was able to summarise all of this in one sentence: "The only way to manage success is to manage yourself." Goals are our way of defining happiness and fulfilment but as soon as we are 'too good' or must 'grind endlessly' success turns into something meaningless. It's difficult to not fall into complacency or endless ambition. That is why it is hard to stay successful. No matter if you fall for one trap or the other without managing yourself you'll end up failing.
A mistake doesn't need to be big to get to us. Getting notified that your pull request is rejected. Shipping the bug into production. Not recalling something that is considered base knowledge. It can happen to anyone. The way we respond to these events is what will determine wether that mistake is a failure. Being defensive, covering things up or wanting to prove someone wrong can easily lead to behaviour that will hold you back. Most people know that it's important to learn from your mistakes. What not a lot of people realise is that fighting mistakes often leads to more of them.
Wanting to avoid failure often means wanting to make sure other people don't perceive the consequences of our actions as failure. However we can't control the thoughts of others. A lot of times we can't even control the outcome of our work, all we can do is adopt a process optimised for success. Letting go of both external opinions and outcomes we can't control is key to moving on. Take notes, adjust the process where necessary and try again. Being less attached to outcomes often leads to better results because it allows for more focus on the process.
You don't have to do anything wrong to achieve what others perceive as failure. You might receive less than 100 views on that tutorial you worked on for weeks. Your pull request could be rejected because the team decided to move their project in a different direction. That doesn't mean that your tutorial didn't help anyone or your contribution contained unmaintainable code. Not being rewarded for the effort in the way that you or others expect does not mean you should not have taken that action at all. The only failure in that case is letting those things get to you.
Most thoughts and instances of self-sabotage are rooted in insecurities of what we think others think about us. Letting go of those thoughts is the key to happiness and, in the long run, success.