Building Good Habits as a Junior Developer
This article we are going to explore how to build good habits, and how good habits help you as a junior developer level up.
Every developer started out as a junior developer. Don't beat yourself up if you don't compare to the senior developers you see on Twitter or even here on Dev. Your goal should be to get roughly 1% better every day, because that 1% is going to really pay off in the long run. A good way to remember how 1° or 1% can change an outcome:
- Water is really hot at 211°
- Water boils at 212°
- Boiling water makes steam
- With enough steam, you can move a locomotive.
1° makes all the difference between rolling down the tracks or sitting in really hot water. If you can progress even 1% daily, you are making significant progress. At a junior developer level, this could be almost anything from remembering syntax, to generating a JavaScript Date object, or even setting up an ordered list correctly in an HTML file. Simple things compound to greater things. Just do your best and make small amounts of progress daily.
Another important step in building a solid foundation for good habits is to forget about setting goals. Don't get rid of goals completely, on the contrary - goals are essential to having a target to work towards. As a junior developer, looking to succeed, first you need to focus on your system. This system will be the groundwork of continually building good habits.
What is a system and what should your system be? That depends on your end goal. Previously, I said not to get rid of goals completely. As an example, if you are a football coach, your goal would be to win a championship. Your system would be the way that you recruit your players, how you manage your assistant coaches as well as how you set up your practices for the team.
As a developer, we all have different goals. Some want to work at a FAANG company, while others want to do freelance work. Regardless of your end goal, your system is what will get you there. My goal is to be a JavaScript Engineer. My system is currently learning JAMstack and building as many projects using JavaScript, learning and following the updates and changes to the JavaScript language, and trying to build up the courage to contribute to open source libraries and projects. The goal is good for planning your way, but the system is your actual progress towards that goal. You never succeed because of your goal, but you will fail to reach your goals due to your system.
So What Do I Do About It?
Changing your habits is challenging for multiple reasons, but the main things we do wrong are that we try to change the wrong thing and we try to change our habits the wrong way. There are three main layers to changing behavior.
- A change in your outcomes. This is about what you get.
- A change in your processes. This is about what you do action wise.
- A change in your identity. This is about what you believe.
Layers of Behavior Change
First, new identities, which is what you are trying to create by changing your habits require new evidence. This is a 2 step process.
- Decide the type of person you want to be.
- Prove it to yourself with small wins.
Let's start with the first statement. Who do you want to be? Think of the type of person that would achieve the outcomes you are wanting. What do they do that you aren't doing. Your identity comes from your habits. Every thing you do is a vote for the type of person you wish to become.
- Who do you want to be?
- What do you want to stand for?
- What are your principles and values?
- Who do you wish to become?
Effectively, this produces a loop of sorts. In the military we call this an OODA loop. Observe, Orient, Decide, then Act. Your habits shape your identity and your identity shapes your habits. Your values, principles and identity drive this loop, NOT your results. Focus on who you want to become, not what you want to achieve, and you will be on the right path to building good habits.
Up Next
In the next few articles I will dive deeper into Atomic Habits by James Clear and as it relates to developers by helping us build good habits and break our bad habits. As always, feedback is greatly appreciated and other ideas are also welcome.
Top comments (13)
That's a really good insight on personality trends and likewise. Really appreciate the way you wrote these stuff.
Variability and effort on the practice of programming goes a long way. different types of projects combined with work effort.
I think that's all it takes to become better developer. A lot of my mind opened up when I started working on EKON - JSON alternative which I decided to write in C instead of another "slower + abstracted away" language. This opened me up to the problem of how programming languages work in general. On why OOP is awesome. On why abstraction is awesome until its not. Just a few examples. There are many more.
It felt like suddenly I jumped levels in terms of my programming ability.
Definitely. Putting in effort every day will help you get further along the journey. Thank for you commenting.
So much of this is fundamental to having a good life, having to start at the identity, then building as the process, and finally the outcome. What an excellent illustration Jeff, great article, and looking forward to the next one.
Thank you, this is so true. This can be applied in so many ways to our overall lives. Start small and work towards a happier life one step at a time.
Loved this bit of advice – thank you!
Thank you for reading and commenting. Much appreciated.
I needed this, thanks!
Awesome. Thanks for reading and commenting.
Very insightful. Thank you.
Thank you. Hopefully it helps a little bit.
Awesome article, Jeff. And I'm looking forward to the upcoming article on Atomic Habits and how it relates to your developer journey!
Hopefully won’t be too long for the next article.
Great Article! , Thank you