What Does It Mean to Be a Senior Dev at Monterail?

Mateusz Karbowiak

senior developer at Monterail

At Monterail, a developer's advancement is mostly concerned with a gradual increase of their responsibility for the team.

At the very beginning of their career, each junior developer sets off with a responsibility for themselves, working in their domain, as well as trying to avoid making mistakes.

A regular dev is comfortable with what they do, because they've already learnt the technology stack in Monterail, becoming crucial for their projects. They also play a role in processes involving the entire company.

A senior, on the other hand, is expected to be responsible for the whole team, and – considering their experience – to contribute to the creation of the whole development team's working technique.

I’ve been on every leg of this journey. Three and a half years ago, I joined Monterail as a junior backend developer and a few months ago I was promoted to a senior position. And today I want to explain to you what has changed for me ever since. If you are wondering what it is like to work at Monterail as a senior developer or you would like to apply for such a position, I am sure you will find this read particularly interesting.

Who is a Senior Developer?

To give our team members better understanding of their role and their career path inside the company, we have defined a role model for every role here at Monterail. It is basically a list of responsibilities within a team and a project with points like:

  • She/he sets an example of the communication culture within and outside the company.
  • Knows the technology stack of production application inside out.
  • Knows the idea of technology debt and prevents it, e.g. through planning and refactoring.
  • Implements new tools/libraries in Monterail's technology stack and shares experience related to it.
  • Guides other team members in the process of problem-solving, instead of providing them with ready-made solutions, so that everyone is given the opportunity for a balanced development.

However, it doesn’t mean that every senior developer must meet the same criteria. After all, we don’t want to build the Grand Army counting hundreds of Stormtroopers. 

Stormtroopers

Stormtrooper army via GIPHY

To put it simply, I’d say there are two key roles of a senior programmer in our team:

  1. Technology expert
  2. Knowledge promoter, team leader

Technology expert is someone who is fluent in their primary technology (for me it’s Rails), they feel comfortable with it, and they have enough experience to make informed decisions. For example, they do not have to stick to the “Rails-way”, but they understand its benefits and know perfectly well when to use it.

Additionally, they are quite knowledgeable in different technologies and concepts. For example, a senior backend developer at Monterail may know Rails or Elixir, but also be fluent in JavaScript and/or DevOps. They are also experienced in advanced software aspects like meta programming or building new solutions to be implemented company-wide and they take care of SOLID architecture in projects. Apart from being deep, your knowledge must also be broad.

Knowledge promoters and team leaders put themselves out there. They like to share knowledge, lead other devs, and present new concepts. They are willing to talk to a client and are great at translating technical concepts into the language of business.

Of course, most of our devs do not follow only one of the role models in one hundred percent. They should always be a mix of both.

What’s The Role of a Senior Developer in a Project?

Being a senior developer does not mean you are a tech lead in every project. If a regular dev is assigned for a tech lead – it means they are on their way to become a senior, and now they are being tested in battle. And, in such a case, a senior often serves as a backup for a less experienced programmer. They should also be a great source of knowledge about business logic and technology.

That is right. A senior programmer understands that we can save a lot of nerves and time by diving into the business requirements. It is equally important to understand the business side, requirements of the app, and technology. And once the last-mentioned comes into play, you should have all the knowledge and experience necessary to advise and recommend the right solutions.

With seniority comes more responsibility. It also guarantees the client that everything is under control, and that the quality of the code developed by the entire team is on an expected level because YOU are on your watch. And YOU are able to explain the nitty-gritty details of the project, including its technological aspects.

What’s The Role of a Senior Dev in The Company?

Knowledge sharing is the foundation of a software development company like Monterail. We share concepts, ideas, and use cases throughout the company in order to grow and build better products.

So if a senior dev is an expert in some technology that is slightly less familiar to the rest of their team, they are often the go-to person for devs from other teams. And they should, and usually have, the answers.

What is more, a senior is partly responsible for the company's technology choices. They have sufficient knowledge about trends and the market to test new languages, frameworks, and libraries. This is very important as it helps us stay at the top of our game. Seniors already gained the trust of all the team and they can initiate new undertakings (not just in the field of technology) and be in charge of them.

Being promoted to a senior programmer means you get more trust from the entire team and clients, thus shouldering more responsibility. So even though you can meet all the requirements that are listed in a role model, you need to be able to embrace everything that comes further.

Want to build meaningful software?

We are a team of specialists working with passion and sharing the knowledge to build beautiful and meaningful software. If you feel these values are close to your soul join us!

Check our career page and apply directly for a vacancy that you find most appealing.

Mateusz Karbowiak avatar
Mateusz Karbowiak