12 Things a CTO Looks for in a Junior Developer
What makes a good Junior Developer great? What qualities and skills should you have in order to be an excellent developer and maybe become a CTO one day?
Przemek Królik
May 11, 2022 | 10 min read
There are two ways to recruit people. One is to find the perfect candidate that ticks all the boxes and meets all the requirements of the job description. The other way is to find promising, less experienced people and create an environment that would allow them to grow.
At MasterBorn we aim for both. But in doing so, we always look for the best of the best - seniors and juniors alike.
In this article, I focus on the unpolished diamonds; the young, aspiring software developers who can join our team and whose talent can really explode. I share my thoughts on what I look for in junior candidates and what raises red flags.
The main traits of a Junior Developers that I look for as a CTO
As a CTO, I am always in between the business’s needs, different technologies and people. Believe me - it is not always easy to find the right compromise.
That is why it’s extremely important for me to work with people who are great communicators, who show empathy, and are emotionally mature. That is why many of the traits I am looking for in a junior developer are connected in some way or another.
(By the way - maturity does not always come with age. There are many mature university graduates and plenty of immature veterans!)
Furthermore, I believe in delegating tasks. Being a controlling CTO is one way of doing things, but it costs a lot of time and energy to micromanage.
When I talk to young developers I always try to catch whether they will quickly become independent in their work, and if they value mastery and ownership.
Because my expectations are quite clear, I am really careful when recruiting less experienced newcomers. I look for "diamonds in the rough" and verify if the candidate has the right attitude and mindset. So, what specifically am I looking for?
1. Future CTO mindset
First of all, I’m looking for people who have a plan for themselves. Such aspiring programmers know their goals, want to become seniors, Masters, or CTOs. I’m not afraid of them replacing me - it makes me happy to see people grow and I don’t feel threatened.
If I felt that other team members could push me out of my role, I should never have become a CTO in the first place!
Interestingly, becoming a senior or a CTO is not the end of the journey. In fact, it’s just the beginning in many cases. Mastering technologies must be followed by soft skills, because without them, we are not complete engineers.
Soft skills are what distinguish a good developer from a great one.
I’ll emphasize that even more: you can be a good developer if you have good tech skills but if you want to become great - you need to work on your mindset and communication skills. That’s how it works folks.
2. Having an open personality
It's easier to find a person with amazing tech competencies than those with decent soft skills. Technology can be relatively easy to learn, while self awareness, confidence, and empathy take years to develop. Finding your way around a new development tool does not.
Having an open personality is very important in the context of team work and working directly with a client. And yes, at MasterBorn, the developers talk to clients on a regular basis. We don’t hide engineers in basements but rather encourage them to communicate with our clients and learn as much as possible from this experience.
Being withdrawn is an issue that requires a lot of work and self improvement. I always prefer people who are open to feedback and sharing their knowledge.
3. Asking the right questions
Asking questions is an awesome way to learn things. Asking the right questions is a true art.
You can ask for anything, some of your questions may be irrelevant but your curiosity is definitely an advantage.
I particularly like open questions, deep questions, and questions about “the why”. When I hear them I can clearly see that the questioner really wants to understand more. Mute, passive nodding and a fear of challenge makes me sceptical.
I want to work with people who think, explore and do it through the right questions.
Don’t you?
4. Being sincere
This one is straightforward.
Honesty is the basis of all relationships. Malice, secret agendas, hidden intent, vague communication and an overblown ego won’t get you far in MasterBorn (and to be fair - in many other companies too).
Sometimes truth is difficult to handle by other people, so sincerity should not be confused with aggressive criticism or exhibitionism. Frankness should be accompanied by empathy and the will to help others.
Empathy and sincerity also lead to a no-judging mindset which I personally love. Judging kills connection and makes building sincere rapport impossible.
5. Knowing the basics of your technology
As a junior - not a trainee - you need to know the basics of your technology, including the programming language and commonly used tools.
For example, as a Junior Frontend developer you should know how to code simple stuff in React and how to use Axios, Lodash, Webpack,Babel and Redux, where Backend developer would need mostly Express.js, Lodash, Knex.js (or any other query builder/ORM tool) and so on. You should also understand the basics of AWS and serverless computing.
Don’t get me wrong, you don’t have to be on the same level of experience as your older colleagues, but some degree of skill is necessary to be introduced to MasterBorn (and other companies as well).
If you are a complete novice, and have no idea how to get to the junior stage, read an interview with Łukasz, a welder who became a front-end developer.
Stay updated
Get informed about the most interesting MasterBorn news.
6. Knowing the basics of coding concepts
Any development language comes with specific concepts. It's not enough to know how to write "IF" statements in a specific language. You need to know what most common data structures are or at least why it's important to use them.
In a sense, understanding those concepts requires a certain level of imagination. Some people are born with those skills, but some have to train them. So, a decent degree in engineering always helps.
7. Business openness
One of the biggest sources of problems and disappointment in software development projects is the fact that developers don’t always listen to their clients. Pushing a tech agenda instead of listening to their clients and users can result in overengineering which I covered in one of my previous articles.
A junior developer has to want to listen and understand. He or she needs to make an effort to deepen their business knowledge and get to the bottomline. Focusing only on “the how” and not “the why” is superficial and does not bring value to the client.
Business acumen is highly desirable from my perspective because it sets my conversations with developers to a higher, more mature level.
8. Doing things well enough, not perfectly
You know that your job is important and you want to excel. We value your hardship, your time, and expertise. That being said, we don’t want you to do more than is necessary.
There are times when perfection and an extreme level of engineering is required (e.g. in aviation, where you need to be prepared for every edge case). But, in the case of business openness, we prefer you to be grounded and focus on the real product value and necessary “must-haves”.
Our clients expect us to deliver sound, successful apps rather than pieces of engineering art. They for sure don't want to pay for work they did not order.
Thus, each project should meet the requirements of an MVP, rather than your own sense of perfection.
9. Being a team player
This one is easy.
In software development you work with others. You’re not a lone soldier on a one-man mission. At MasterBorn we are team players, we talk, compromise, and support each other to reach a common goal.
We know that teams perform better when it comes to efficiency. A collection of individuals will inevitably end up in conflict and jeopardize the success of the project.
10. Active thinking
What is active thinking?
Noone knows everything. To be honest, the more I know, the more I understand how little I know. That’s why to progress in any line of work, you need to speak loudly about your lack of knowledge to get feedback.
As a CTO, I very often say “I don’t know”. There is no shame in it. More important than knowledge is what we do with our ignorance. Can we learn something new? Can we google it? Can we ask our colleagues?
That’s why I am looking for proactive juniors who turn their lack of knowledge into motivation.
The worst thing that can happen is pretending to know when you actually have no idea about the issue. I know - the school system taught us to hide our incompetencies but.. Come on. We’re grown now. Time to say I don’t know and seek for answers that we lack.
11. Learning from mistakes
Similarly to active thinking, learning from mistakes is very important. The fact is that you WILL make mistakes. You WILL be angry at yourself. And you WILL have to fix them.
Unfortunately, some people react with frustration and shame, which leads to getting burnt out. At MasterBorn, we look at mistakes as a fundamental experience and a learning opportunity. We won't judge you or make fun of you if you break something.
Instead, we’ll ask you: what did you learn from your mistake?
Remember that the lack of mistakes means stagnation. Only those who don’t experiment are never wrong. So please remember to leave your comfort zone regularly, take risks and grow.
12. Sticking to our values
Everything I mentioned above is a part of our four core values: Acceptance, Clarity, Efficiency and Growth.
Acceptance means compassion.
Clarity means understanding.
Efficiency means progress.
Growth means self-improvement.
If you understand those values and share our belief in them, you are welcome at MasterBorn.
Junior web developer salary
At MasterBorn a Junior Frontend Developer can earn up to 9.000 PLN + VAT (B2B). I wish I could get so much in my first job... in a grocery store :)
The pay in IT is high, but it also requires intense learning. The right approach and pure growth-mindset is fundamental for every Junior Developer, staying focused and humble doesn’t mean that you are weak. It means that you are on your path of self development.
Anyway, if you think that the above 12 qualities and traits define you - reach out and let's start our path to JS mastery together!
Table of Content
- The main traits of a Junior Developers that I look for as a CTO
- 1. Future CTO mindset
- 2. Having an open personality
- 3. Asking the right questions
- 4. Being sincere
- 5. Knowing the basics of your technology
- 6. Knowing the basics of coding concepts
- 7. Business openness
- 8. Doing things well enough, not perfectly
- 9. Being a team player
- 10. Active thinking
- 11. Learning from mistakes
- 12. Sticking to our values
- Junior web developer salary
World-class React & Node.js experts
Related articles:
CTO myths debunked: Interview with Masterborn’s CTO Przemysław Królik
What is a CTO and what are the most popular myths about the role of a CTO? Read the Interview with MasterBorn's CTO Przemek Królik
CTO as a Service: What is CaaS? Key benefits and risks
CTO as a Service is not just another XYZaaS fancy word. It’s a solution based on responsibility that generates more and more buzz in the startup world.
Why your startup doesn’t need a CTO
I know it’s a bold statement, but I don’t believe every company needs a CTO in the very beginning.