5 Tips to Become a Senior Developer
5 Tips to Become a Senior Developer

In this post I want to share with you my 5 tips how you can become a senior developer.

Who is a senior developer?

So who is the senior developer at all? Actually we don't have any strict requirements as in other fields.

In programming it depends completely on the company.In one company you can be a senior developer and in another company they can say, that you are middle or even junior developer. It is completely possible. But typically here is an average.

A senior developer is somebody who has at least 3 or 5 years of experience.

But it is not the amount of years that you coded something, but a lot more. When people talk to you as a senior developer they expect that you are an expert, which actually means you know your field really good.

For example if we are talking about JavaScript you must know almost everything, which is possible in language. You must have lots of experience with JavaScript, it's environment and all possible modern technologies around JavaScript to help you create projects. Because actually in 3-5 or even more years you typically did at least like 10-20 different projects and you have a variety of knowledge to create different applications.

But in order to achieve that you really must change jobs. If I see the guy who just sit in a single company 5 years on the same project and his role was just changed to the senior it doesn't really mean that he is a senior. Because he doesn't have any additional experience except his current company and maybe even 1 project. Which actually means he lacks variety of different projects.

Because even if we are talking about frontend it can be that in one company you are doing React, in other Angular and in third company Vue. You might also get a project where you do something with plain JavaScript. So you have a variety of different technologies in your portfolio and every single company improves your knowledge of JavaScript.

Working alone

The next important thing that people wait from seniors is ability to work solo. Which actually means you can implement everything completely independent. You just need to get requirements for the feature or maybe even a project and then you can do it completely solo without any other people and without additional guidance or help.

If you didn't get to this point yet, it means that you are not senior developer.

Because the main idea is that company doesn't need to provide anything additionally to you like men power to implement feature or a project.

Architecture

The next important point is that senior is less about just writing code and more about architecture of the project and choosing the best solution for the task. Which actually means if you are a junior or middle developer you typically discuss the feature you can ask for help and then you don't choose the architecture you just code the task with the best solution that you got. But as a senior developer it is not enough, you are in charge to create the best possible architecture and to drive the project. It must be super fast, it must be reusable, easy to understand and it must be understandable for all your teammates.

Languages

Also typically a senior developer must know more than one programming language. And even if we are talking about JavaScript it is not enough to know JavaScript on frontend and on the backend with NodeJS. You must know at least one other language or better even two or three. Because in this case people can see that you have different knowledge from different languages.

And actually programmers implement things in different languages differently. Which actually means you can use all this knowledge with different technologies inside your main language, where you implement your projects, for example inside JavaScript. But if you for example just did a JavaScript on the frontend and nothing more you have a really narrow field of perspective. This is why it is important to cover the whole flow of creating the application that you are typically doing.

For example if we are talking about creating web applications, you must create something from scratch to the deployed production application. Which actually means you create not only the frontend part, but also the backend part of your application, your plan your database, you create this application, you deploy it to production, you rent the domain and then you publish this project. This is the whole flow of creating a real application.

And as a senior developer you must know not only your niche inside frontend part of the application, but the whole process and you must understand it quite deeply. This is why I highly recommend you to invest your time not in any language, but in languages, which are related to your main language. For example if we are talking about web development, it make sense to invest some time in the backend language or in learning databases.

Teaching skills

The next really important point that a lot of people are neglecting is you must learn how to teach and you must learn to love sharing knowledge. Which actually means when you are a senior developer you are not only coding things, you check pull requests, you guide other members of the team, who can be junior or middle developers, because not everybody are senior. And actually every single company expects from you as a senior developer to guide and improve knowledge of other developers.

Soft skills

Also when you are a senior developer you must have some soft skills and some management skills. Which actually means you can communicate really fluently inside your team, with your product manager, teamlead and maybe even a client.

So you need to have some skills not only related to coding.

You must know how to describe everything, that you are doing or what your team is doing to the client or maybe to the product owner, who doesn't know anything about technical part of your application. And you must have enough soft skills to communicate with developers in your team, to understand how to improve their code and how to communicate correctly and politely with them. So you don't just say that their code is garbage, but you propose some improvements in friendly and knowledgeable way.

So as you can see senior position is much less about coding and more about managing, architecture and all this additional stuff. And actually if you want to learn what are 10 typical HR questions make sure to check this post also.