Increasingly more IT companies are looking for senior developers. But what does it mean to be one? We interviewed our senior developer Christophe Oosterlynck about his position and approach at Flow Pilots.
What defines a Senior Developer?
It is hard to provide a clear definition of a senior definition as I think there are multiple ways to be a senior developer. You can be a specialist in your domain (e.g. knowing the ins and outs of Android development). But you could also master a few domains (e.g. mobile development and backend development) and be able to reason about an entire technology solution or software architecture. You could also choose to be more involved in analysing requirements and preparing them to be implemented by a team. Or it could be a combination of these.
But in any of those cases, you are not picking up clear cut tasks anymore which you can just solve by starting to code. You need to be able to take two steps back and look at the bigger picture. As a senior developer you usually have to take all the moving parts into account, where more junior developers are more focused on single tasks.
Do you think everyone can become a Senior Developer? What are the skills required to become one.
I think the most important part is experience and being able to use this experience in new contexts. If you are confronted with a new problem or challenge, you should be able to use your previous experience to tackle this new challenge quicker than it would without this experience. Experience also allows you to have a few tools in your belt (e.g. knowing how to refactor a piece of code without breaking anything) but also know when to use it (you might not want to do this right before a deadline just to fix a small bug). Being pragmatic without lowering quality is important.
I have direct contact with the clients we are developing for, discuss their wishes, decide on how to implement and than demo the results. Being this involved gives a lot of satisfaction.
What made you decide to work for a young, growing company?
I mainly wanted to work for a smaller company again. I have worked at a small and bigger company before and thus have experienced the difference. When working in a bigger company, you are part of a larger hierarchy and structure. You have a clear cut out job and responsibilities and are not involved in other parts of the company or product that you are making.
In a smaller company, you have more responsibilities and your impact is bigger. I have direct contact with the clients we are developing for, discuss their wishes, decide on how to implement and than demo the results. Being this involved gives a lot of satisfaction. There is also less overhead which allows you to move faster.
Do you sometimes feel like a mentor for Junior Developers?
As we are a growing company, we have new people joining us fairly regular. They need to be introduced in our way of working, the technology we are using and the contents and history of the projects they are working on. I feel responsible to guide and train them so they can be productive as fast as possible. This way they can quickly have an impact as well and get the same satisfaction as I’m getting out of my job.
This mentoring can take on various forms. It could be a general training session. Or it could be a one on one session to set out an action plan to tackle a specific challenge or look at it together. But also code reviews are part of the mentorship. It is a great way to give constructive feedback and help others improve.
What is the most rewarding thing in your job?
Solving new problems for which you don’t see a solution at first sight. As a senior developer, you get in touch with problems or challenges we’ve never had before. Being able to solve these or guide others to solve these is very rewarding in the end. As I have direct contact with our clients, I can experience their gratitude first hand as well.