What does it take to become a senior IT developer? What traits and knowledge to possess and polish so you can carve your way towards the seniority of IT craft?
Just a few weeks ago, Digital Explorers organized a webinar on “How to become a senior I.T. professional”. From exact how-to’s and what-not-to’s, it has left insights and life advice in its wake useful for any level professional working within IT, from seniors, CTOs, IT recruiters to mid’s and juniors.
All – coming from the masters of the field Peter Milne (Adform), Artūras Šlajus (Project Zero Deaths), Algirdas Zelatoris (Revolut) and our very own Bart Kappel (TeleSoftas) and Digital Explorers program participant John Ojetunde (TeleSoftas).
For your convenience, we have compiled all the top answers as the panel guests answered the burning questions of aspiring and colleague developers and shared their career wisdom. Here we go…
Q: What is the situation in the IT labor market today? How do people understand seniority?
Algirdas: Currently the market is split into two types of senior developer employers: companies that are completely driven by the result, where seniority comes down to knowledge skills and abilities. And others, which are more driven by processes, less by the result and where seniority depends on your tenure, and the years you worked at that job.
This creates a big gap/ mismatch of expectations in the market, between the employers and candidates, especially for those coming from the public sector.
However currently the majority of companies in the Lithuanian market are shifting into the mindset, shared globally. That seniority depends on knowledge skills and abilities. And that there are certain universal requirements for a role for junior, mid, senior levels.
Q: The mismatch between company and employee expectations? How do you manage the expectations during the interviews?
If you want to be a senior, you have to be super well knowledged in ci/cd processes, good in TDD, good in concurrency and multi-threading, good in databases, good in Java, PHP or whatever generics and so on and so forth.Algirdas Zelatoris
Algirdas: In my opinion, all the recruiters have to be technical. If a recruiter is recruiting technical roles and he or she doesn’t understand technical terms or how to assess the level, the person shouldn’t be recruiting tech. This way you save the time of the engineers, the time of the company.
Recruiters should understand that if you want to be a senior, you have to be super well knowledged in ci/cd processes, good in TDD, good in concurrency and multi-threading, good in databases, good in Java, PHP or whatever generics and so on and so forth.
Because if you don’t know that, that’s cool, but you can go only for the middle role. For example, say you’re not exactly sure how database transactions happen or what are the isolation levels, or maybe you are struggling with Java, don’t know well what are the newest features of Java we use – we cannot give you a senior role.
It should be a clear collaboration between the recruiter and the engineer because miscommunication every time results in rejected offers, unsatisfied people when they join the company and it’s bad for both sides.
Q: John, what are the key things that you learned in Lithuania that you would like to bring back to Nigeria?
John: Constructive criticism. People are actually very objective when it comes to criticism. In the sense that when I criticize your work there’s nothing personal about it.
First, it does not make sense to you review code showing them this is wrong, but not providing a solution. Because if you’re gonna tell me, this is the problem, you have to tell me why it’s the problem and how I can fix it – that is what is called constructive criticism.
Also when you criticize someone’s work, make sure that you celebrate them for what they’ve done well. For example, if I’m reviewing your codebase and I see some things are wrong, I could tell you this is wrong, you could do this. In fact, sometimes you could put it in the form of a suggestion. However, I would also be smart enough to tell you that I like the way you implement some particular features. Because we are still humans and you shouldn’t trump on anybody’s ego.
Q: What features are you looking for in a person when you’re hiring a senior professional?
Artūras: What I actually look for is not only the current knowledge base. Because current knowledge may not be applicable for our particular use case. What I always look for is curiosity, ability to change and the ability to learn and that’s the most important factor.
Q: How do you measure the ability to learn during the interview?
Peter: Take-home homework is great for technical assessment. The second thing is, you want to know what sort of a human they are. When you speak to them in the actual interview at that point you’ve already assessed their technical skills. And now this is the hardest part. So I asked two questions:
First, I asked them what was their greatest success, whether it was something in their production or in their own life. And everybody knows what that is. And second, I asked them what their greatest screw-up was and how they fix it. The greatest screw-up shows that they are human, that they’re humble enough to report the fact, that they screwed up and that they were creative enough to find the solution.
Asking somebody what their worst failure was from a technical perspective and how they recovered from it is a way to determine what kind of human they are.
Artūras: First, we don’t do the interviews in that standard sense, instead we give them a task, go and do it. Send us the result and don’t be afraid if it will take a few feedback loops.
Eventually that either goes good – the person applies the frameworks, or bad – they do it in their own way, ignore your feedback and you understand its not a good fit.
Algirdas: We are all able to learn, it’s more about the eagerness to learn. I have been hiring engineers most of my career and in most cases, we were looking for people who are able to think broadly, have critical thinking.
E.g. If someone is still using spring at this moment and when we ask why they need to be critical. Is it just because the whole world uses it or just because they really need that? The ability to question yourself also leads to curiosity. Broad open-mindedness, never settling on your current skill set – this is what most companies look for.
Q: What’s the difference between someone who travels around different companies to become a senior and someone that works for a very long time in one company?
Bart: If you want to switch many companies just to reach seniority I don’t think you understand EXACTLY, what seniority means. Seniority means not only that you are an expert in the field, but also that you can teach others and understand what business you are in.
My advice: stick at least for two years at a job, build your network. And work on relationships. Meanwhile, if you don’t know if you are a senior in your team or not there yet, there is one indication that can help: see if you are the person, that people come for advice.
John: Moving around companies in little time shows how volatile you are as a professional and means that no company can rely on you. Because it can take up to six months until you were able to take the context of the project in and by that the time we need you to start giving back to the project, maybe start training junior developers or mid-levels, depending on the level. However, you may also work in the same company for years and never receive a project that challenges you, and that is what’s most important.
Q: How not to “watch something fail” when decision-makers fail to listen?
Peter: A decision-maker has to make a choice. Sometimes between two good things, other times between the least bad of the two. And they can get it wrong. Getting grumpy about it won’t help.
But one thing you can do is to say, okay I understand your decision but I want to make it clear to you that these six points may cause you to have a problem in the future. If it happens, you can only look at them very lovingly and say and this is an “I told you so” moment and then leave it at that. Next time they will remember and halfway through you might remind them “Look Bob are you sure we’re not going towards that “I told you so” moment?”. Here he might choose to adjust the course or he might decide to go down that path anyway. You can’t do anything more than that and it’s very frustrating.
Your role is to give the decision-maker the information that they need, help them understand why it is important and let them make a choice. They have to understand for themselves why. And that’s my best advice.