As a professional developer and a freelancer, I've collaborated with many different people on numerous projects. Some of them have been successful, some of them have failed. During the failures, I always try to reflect and find faults in my actions, but sometimes I still find myself blaming others. Such a mindset of mine was truly challenged by a book called "Extreme Ownership"(Jocko Willink and Leif Babin) which showed me that even though mistakes could've been made by others, it's still me who could've taken the action to mitigate risks.
Check out the video in my YT channel called DeveloperHabits.
In this article, I'd like to discuss what is extreme ownership, why it's good, how it will help you in your career as a developer, and bring some specific examples of how to utilize it.
What is Extreme Ownership?
Extreme ownership means taking ownership of everything that's going on in your life and career.
It means not blaming others for failures. It means asking "what I could've done better" as the first thing when things go south. It means preparing and planning as well as you can. It also means asking the necessary questions and explaining your plans to others. And most importantly, it means having the humility to admit and own the mistakes you make.
Why is it needed?
The mains reasons why practicing extreme ownership is beneficial:
- It puts the focus on finding solutions instead of blaming
- It makes you analyze your failures
- It makes you take an action
- It encourages you to plan ahead
- It makes you ask questions as you want to mitigate the unknown
- It helps you to build trust with others as you're honest and transparent, admitting your failures
- It makes you want to improve yourself as there's always room for that
- It makes you humble as you understand that even with great preparation, failures can occur.
How can a developer implement Extreme Ownership in everyday life?
There are many ways one can implement extreme ownership. Let me bring out some of them.
- Is the code quality in your team's projects too low? Start with yourself - make sure the code you produce is following the best practices and is well tested. Set an example! You can also raise a discussion and agree on routines like PR reviews, automated testing, etc.
- You do not agree with the architectural decision in a project? Find out why the current decisions were made and explain in a friendly manner why you do not agree. Propose a better solution with evidence.
- Inexperienced developers in the team? Take it upon yourself to mentor them by pair programming and encouraging them.
- Did you produce a bug? Take responsibility. Find the solution as fast as possible. Analyze what happened and let it be an educative example to others.
- About to join a new project? Ask constructive questions about the business and technical goals. Make sure that you(and other developers in the team) understand the objectives.
- Do product managers have a hard time scoping the project? Help them by asking questions, discussing possible solutions, and not giving unrealistic promises.
- About to lead a project? Make sure every single member of the team understands the plan and goals.
I could go on and on bringing examples of how you can take ownership to improve yourself and the team. My main message is that whenever you do not like something or things do not go as planned, look in the mirror and ask yourself: "What can I do to improve the situation?"
How can it improve one's career?
Let me tell you a story from my own career.
A month later, I was promoted.
I was a junior front-end developer, although, in our team, everyone was expected to do full-stack development. One day I took the simple task of implementing an endpoint in our web application's backend. Being quite frustrated with the state we had there, I took the liberty of spending some extra time to refactor the whole system. Later, in the code review, one of my teammates asked me "Wait! You're still a junior? Junior's don't write code like that". A month later, I was promoted.
If you see problems, use it as a chance to take action. If you make a mistake, be open about it, learn from it. And help others. Eventually, people around you will notice how valuable you are and thus, new opportunities will open.
When you feel the time's right, all the actions you've taken can be used as a reason to ask for a promotion.
Take extreme ownership!
My main message is that you are the person that should control your life. If you want something to be done, take action! If something went wrong, look in the mirror! Don't blame others, don't take the victim mindset. It will waste time that could be used to find a solution. And as a developer, there are many problems to be solved!
Last but not least, if you want to learn more about Extreme Ownership, I strongly recommend reading Extreme Ownership by Jocko Willink and Leif Babin. It's a book that gives tons of tips about extreme ownership, team leading, and communication. Most of the ideas in this article are also from that book.
Do you agree with the points in this article?
What's your opinion on Extreme Ownership? Should developers utilize it?
If you have your own examples of how taking responsibility has helped you in your career, please share it with us :)!
Oh and...! If you are interested in coding, growth mindset and are willing to share your experiences, ideas, then please do PM me on Twitter :)!
DeveloperHabits
π· Youtube: developerHabits
π Twitter: https://twitter.com/developerHabits
π IG: https://www.instagram.com/developerhabits
Top comments (11)
I largely agree, but I've seen examples of projects and companies which are so totally beyond salvation or fixing that there's really no way - in those cases taking ownership isn't going to make a difference, and it's better to just move on than to waste time on it.
To be honest, I thought about it when writing the article and I agree with you.
From the perspective of extreme ownership, not fixing/spending resources or some lost cause can also be a conscious decision. But in order to make those decisions, one should consider alternatives.
In principle the idea of extreme ownership sounds like a very good thing in terms of one's career, but as always "it depends", choose/pick your battles wisely as they say.
Well said!
Once you understand how much ownership and responsibility are important, you truly see how much positive impact it can have on your professional & personal life. Fully agree with the message, well said!
Well said, Renato!
Truly agreed with this!
In my perspective, I always treat the project I'm developing on as my own child. That will make any development that I do, will give a positive result, whether it's a personal project or a team project.
Once again, well said!
Thank you.
I agree with you - every project should ideally be made your own. Although, I have to admit, I haven't always been able to do that.
I am working with a person who follows everything you mentioned, and I have always respected them for this. Yet, it was only after reading this article that I realized the finer aspects of what makes them so dependable. Thank you for sharing this.
Love it! Thank yo so much for posting this. Your examples are point and they make a lot of sense. Itβs incredible to realize the impact that a correct mindset could have in our actions.
Thank you for the kind words, Elizabeth!