From Junior to Senior: 6 Lessons learned along the way

Published on Jan 25, 2023

Junior to Senior:
6 Lessons I Learned Along the Way

As developers, there is always a certain level of pressure to be at the top of our games. The journey from a junior to a senior developer can be a gruelling one. I that think most who have taken it can look back on and recognise that it is a highly rewarding experience, with many opportunities to grow as an individual along the way. Through my own experience, and while mentoring and guiding others along this path as an educator, I have learned a few important lessons that I want to share with those who aspire to become a senior developer.

1. Do not fear failure:

Maybe you haven’t taken down prod… yet.

One of the most important lessons I have learned on my journey is that failure is not only a natural part of the learning process, but the most valuable one as well. It is of utmost importance to embrace it, use the experience and take something away from it.

When I started my developer career, the fear of failure outweighed my desire to make an impact. I was afraid of making mistakes and looking foolish in front of my colleagues. Little did I realise that this in itself was the foolish act. As I have progressed in my career, I have come to realise that failure is one of the best tools we have - be it for learning, testing, or trying to reach beyond your boundaries. It’s not expected to get it right on your first try.

The more I failed, the more I learned, and the more I grew as a developer. It is important to remember that failure is not the end; it is just an opportunity to learn and improve.

2. Consistency trumps explosive effort:

Let’s see your commit history - My favourite part of interviews

There is not much that I can attest to more strongly, than consistency trumping whims of explosive effort. In the early days of my career, in fact, even until recently, I used to work long hours and on multiple occasions, have burned myself out. Rationally and short-sightedly, I thought that by working harder and longer, I would be able to achieve more. While it met the short-term needs, this approach was not sustainable and projects suffered in the long term.

Nothing kills passion, like things being forced 👀 I feel as though this is also a general life lesson

The key is to try and maintain a consistent pace, even when things get tough - and that is when it’s hardest to not overdo it. Some bursts here and there are fine. But nothing has set my learning trajectory back, the way that crunchtime does. By working consistently, you’re more inclined to enjoy what you do, and you’ll be able to achieve more in the long run.

3. Repetition is key to fluency:

Developers hate him. This one weird trick senior developers don’t want you to find out

In our industry, we’re constantly learning new technologies, mental models and languages. Lukewarm take: The big secret to getting fluent and comfortable, is repetition.

In my experience, the most effective way to become proficient in a new technology or programming language, you need to practice it over and over again. The more you practice, the better you will become. Repetition is the key to fluency, and the more you practice, the more comfortable you will feel with the new technology or language.

Interestingly enough, there’s a similar idea around immersion in language (the spoken kinda) learning.

4. Always ask why:

And no, your little cousin repeating “why” for two days straight is not what I’m getting at.

Our job as developers, foundationally, is to solve problems. It’s critical to understand the reasoning as to why things are done in certain ways. One of the most valuable lessons I have learned is to always ask why.

The same applies to questions that feels like they might be obvious, and you are apprehensive of asking a dumb question, it is doubly important to ask - as that’s a great opportunity to learn. I’m also usually of the opinion that the onus here is on the explainer, to ensure that the message is effectively communicated, but this is a topic for a different post.

By asking why, you’ll gain a deeper understanding of the problem you’re trying to solve and come up with better solutions. Asking why, will help you to understand the underlying principles and concepts that are at play, which will allow you to make better decisions and write better code.

5. Talk about your thoughts:

Another important lesson I have learned is the importance of sharing your ideas and thoughts with others. As a developer, it’s essential to not only get feedback on your work but also learn about mental models from different perspectives. I often use the analogy of filling in a puzzle, it takes a whole bunch of pieces to complete the image and each step of these discussions could be an additional piece for you to fill in.

Collaboration is key to growth as a developer. By sharing your thoughts and ideas with others, you’ll be able to get a different perspective on your work and learn from others’ experiences. It is exponentially more difficult to break new ground independently, than for someone to help guide your way.

Lastly, I have learned that it’s important to not get too hung up on trends. Technology is constantly evolving, and it can be easy to get caught up in the latest trends. However, it’s important to focus on what’s important and to not get too hung up on the latest and greatest technology. Instead, focus on the fundamentals and the principles that underlie the technology you’re working with. This will give you a solid foundation that will last throughout your career, regardless of the latest trends. By not getting too hung up on trends, you’ll be able to make more informed decisions and build better, more sustainable systems.

In conclusion, becoming a senior developer is the product of trajectory and time. By following these lessons, you can try make sure you’re staying close to the correct path to reaching your goals. Keep in mind that it is a perpetual journey, not a specific destination, a developer will always be learning.