From Junior to Senior

Since we last spoke, I hit a (rather important, for me at least!) milestone in my career:

I got promoted to Senior developer!

It's something I've been working towards for a long time, so it feels great to be rewarded for my efforts. And through this journey, I've had many conversations with my boss about what it actually means to be senior. So I figured I'd share some of the key points with you.

1. Technical skills. You should be comfortable with development when aiming for a senior title. You build technical skills by doing lots of projects throughout your career. I've said this many times: the only way to learn to code is to keep coding for a long period of time. That way you'll have seen more problems and know how to deal with them. It's also how you'll learn the ins-and-outs of your programming language or framework. But technical skills are not the only important trait when advancing your career.

2. Taking responsibility. One of the big differences between junior and senior developers is how comfortable they are with responsibility. As a senior developer, you should be able to make significant technical decisions and stand up for them. You should also take ownership of any given project you're working on. Invest yourself in the project and always try to reach the common goal. Don't get bogged down by details or be afraid of your ego getting hurt.

3. Communicating . Another key difference between a junior and a senior developer is how they communicate. It's the job of a senior to flag any potential issues to other developers and to less technical stakeholders. It's also a senior's job to explain how something could be built - and if a project has gone off the rails. These communication skills are essential for the success of any project, which is why they're expected of more senior developers.

These 3 are some of the major points I actively worked on when pursuing my senior title - but there's lots of other things to work on too:

  • Mentoring other / newer developers
  • Specializing in your preferred language / framework
  • Helping to acquire new business for your company
  • Understanding the general development landscape
  • Helping your teammates / colleagues do their job

Of course every company will have different definitions of what it means to be "senior". But if you're early on in your career, I hope this can guide you towards some valuable skills that aren't necessarily obvious when starting out your coding journey.