Becoming a senior developer is a big step in every programmer’s career. What does it mean to be a senior developer? How long will it take you to become one? What set of skills are necessary for a senior developer position? Finally, once you’re promoted to senior, what’s next?
The growing demand for specialists in the IT industry makes it necessary to involve the company in improving the qualifications of employees and providing them with continuous opportunities for self-development in the company’s structures.
In this article, we are going to present how The Software House supports senior development, and what skill set senior developers to require and acquire while working in our company. And who’s better to talk to, than Adam Polak who is not only a Head of the Node.js department but also the technological support for Human Resources during the recruitment process.
Two senior developers are never alike
Katarzyna Kotarba: In the recruitment process, I meet candidates who automatically consider themselves seniors of a specific technology, after crossing some magic barrier (usually understood as “a few years in the industry”). Meanwhile, I am sure it’s impossible to clearly indicate that “magical moment” in time when an employee reaches the senior level. It’s not the years of experience alone that determine this.
When do you think we can speak of seniority in software development? And what set of competencies go with it?
Adam Polak: In general, a senior is a person who understands the full life cycle of an application and is able to navigate it. This means that the senior developer is not only able to design a system, but also to implement it. Seniors feel responsible not only for the project but also for the business behind it. If something doesn’t work properly or there’s a problem in production, the senior immediately goes into action mode and looks for a solution.
Seniors also have highly developed soft skills. They can easily talk to business clients, propose solutions to problems, and act as a consultant. Finally, they mentor and train younger colleagues.
How to become a senior software engineer at The Software House
We’re not here to settle on the final definition, so I’d rather talk about who is a Senior Developer at The Software House. What technical skills and corresponding responsibilities do they have?
We require seniority in several important areas:
- DevOps – each senior must be able to deploy the code they have created, regardless of whether it is a frontend, backend or serverless application;
- architecture – seniors must have architectural knowledge that allows them to implement efficient and scalable systems; modular monolith, microservices, CQRS, work with queues and a message broker.
Seniors are a guarantee of successful implementation, but also take responsibility for taking care of younger colleagues. From my point of view, a senior is someone who will answer any of my questions with: “Adam, we’ve already taken care of it”. True blessing!
How to recruit senior developers?
You are the Head of the Node.js department. Job interviews are, to some extent, your daily bread and butter. How do you verify whether a given person meets our expectations regarding seniority level? What do you pay attention to in the recruitment process?
I always prepare a different set of questions for junior and senior developers. During the interview, I deviate from the basic questions about languages and technologies and focus more on software architecture, scaling, deployment, and understanding the development process.
Instead of quizzing the candidate about the specific tech features, I prefer to check the candidate’s mindset.
It’s much better to ask how the candidate approaches and solves a specific problem, what technologies will they use, why exactly those? I can easily modify this thread with new variables that may complicate the whole solution, e.g. “You picked AWS, unfortunately, the client said the project can’t be hosted on a public cloud. What are you going to do now?”.
By introducing unexpected situations like that, you can straight away see the experience, but also how that person will deal with stress, how they approach conversations when there’s a problem to communicate and tackle. After all, this is a senior developer’s everyday life.
At The Software House, developers have constant contact with the clients, so it’s extremely important to use the language efficiently. Hence why, in addition to the technical aspects, I also check the language skills. Advanced English is unavoidable nowadays, nothing can be done about it. Senior must be able to clearly present the problem, solution, and consult. So if you want to climb the IT ladder, make sure to polish up your English because there’s no way around it.
We’ve already covered skills and technical experience, but you’ve already said that’s not all. What soft skills do you look for in a senior developer?
Communication! This is probably the most important soft skill that a senior should have. It’s not about being talkative, but more about being straightforward and able to get along with both the team and the client. Seniors should be precise in their statements and answer all the questions clearly.
And we’re back to English skills, yet again because language skills are extremely important here. At The Software House, this is one key skill that we expect from every Senior – no exceptions. And it’s not just being able to read the documentation. 😊
Senior should have something of a teacher. They are largely responsible for the training of future TSH staff. It requires a proper approach to people, patience and the ability to draw conclusions.
Supporting developers on their way to seniority
We are currently recruiting for the mid and senior levels, occasionally we look for ambitious juniors who want to join our ranks. Many of our employees started working with us at the very beginning of their professional careers, and many more have been in the company for years. They stay because they receive a lot of support on their way to become seniors.
How do you support a developer in their personal development?
Each developer in our company has clearly defined goals for the next 3-4 months. For a given quarter, the goals may be different and related to:
- technical aspects (training, workshops, certifications, open-source development),
- soft skills (mentoring, preparing workshops, building your own brand on webinars, conferences, communication skills, language classes),
- leadership competencies (training, conducting internal projects).
If you give people continuous feedback and the possibility to develop and explore various areas of the software development business, it will become diverse experts. That is why our seniors are so valuable to the customers.
Senior developer, and then what…?
We have hard-working and committed employees on board who have acquired skills and experience that fit into our definition of the senior level. What’s next for them? Are there further career paths for senior developers at TSH?
Every Senior at TSH can follow one of four paths (sounds like character building at an RPG, no?):
Is programming your whole life and you want to dedicate most of your days to deliver super high-quality code? You’re proficient in various technologies, keep your whole team constantly up-to-date with news and trends? You know which technologies suck and which are worth learning? Do you want to help your colleagues to code harder, better, faster, stronger and keep up the standard in the team? Nothing prevents this from happening!
Are you a person people want to follow, feel confident with, want to work with you? At the same time, do you want to take responsibility for delivering the entire project, make key decisions about the implementation method, take part in discussions about architecture? Do you want to be a mentor to your team and build cool products together? Then you are probably a future lead developer.
Would you like to be a mentor to larger groups regardless of the project? Do you have an eye for spotting talent? Do you want to have an impact on their development path, determine what training will be valuable? Do you want to support your Head directly in organizing the department and have a real influence on what is happening in it? At the same time, you still want to be around technology, and find a bit of time to code? Then the role of Team Leader is perfect for you.
Do you have extensive knowledge and experience in frontend, backend, DevOps, testing, cloud? Do you understand business needs and aren’t scared to be responsible for designing the entire solution? Advanced architecture and good practices have no secrets from you? Instead of focusing on implementation, do you prefer to look at the system from a bird’s eye view and create PoC for future solutions? You, my friend, are on your way to become an architect.
As you can see, there is something for everyone at The Software House. 😊
Personal branding under the wings of The Software House
The road from a developer to an expert requires some presence in the IT community…
Sure, and we give our developers every opportunity to showcase their skills and share knowledge with others. One of our mottoes is that “anyone can write”, hence why we encourage people to post articles on our blog. Not everybody is a wizard with words but we solve that problem with a proficient copywriting department. Our developers focus on preparing the content, and copywriters prepare it in any way necessary for publication. If the knowledge is there, we want to squeeze it out!
But people don’t live by blogging alone, some want to appear in motion. Over the course of a year, we are able to create approximately 16 webinars, fully run by our developers. Among them, our local meetup – Uszanowanko Programowanko. Pre-covid we invited people to our office, now we had to move online. With over 200 pairs of eyes and ears to watch and listen to your presentation, TSH will give you training in public speaking. We’ve already created some “monsters” who won’t drop an occasion to speak at tech conferences, which is obviously great for everybody involved.