Hiring your first Junior Level Programmer can be a challenge; not only do you want to find someone that will be a good fit for your company or project. You also don’t want to have to fire someone; I know that fear. Keep reading, and I’ll tell you about my experiences, what worked and what didn’t.
Answer: Hiring your first Jr software developer is only different from hiring any other employee in one keyway. Jr-Level people need more guidance, patience, and mentoring than the other skill levels. It would be best if you committed to spending time with your new Jr-Level employee to help them grow.
Don’t get me wrong, you have a ton of considerations you should make during the hiring process, but before you decide you want to hire a Jr-Level Engineer, you should make sure you know what you are paying for. Because with a Jr Developer or Engineer, you are not only paying them in monetary compensation, but you should be devoting time and effort to growing them out of the Jr-Level.
If you are on a tight time crunch for your project, you may not want the Jr-Level coder; however, if you are working on something long-term and can invest in someone’s career, then a Jr-Level position might be the right fit.
Before you decide, though, you might want to know the Junior Level Software Engineer’s role, which I cover in the next section. I also wrote another article about this subject (Junior Software Engineer: What Should I Expect).
What is the Role of a Junior Level Software Developer?
You’re the boss! You can have your Junior Level Software Engineer stand in the corner and recite documentation all day if you want. However, I’m sure we can find something much more productive for the newest and greenest member of your team.
Before we get into roles, let’s start with some basics that should happen at any new job.
- Make introductions where necessary, show people around, let them know the culture.
- While this should happen during the interview process, I think you would be surprised to see how many companies throw the new developers in a room and point to a computer. This is much worse for the Junior Dev.
- Let them set up and familiarize themselves with their computer and the coding environment.
- Yes, this is very similar to the first task, where the first one is more about the office and hierarchy of the workplace. Now you need to let them start getting familiar with the digital structures and standard operating procedures for your company and project. Realize this can take a few days up to a couple of weeks depending on several factors.
- Let them fail but only just enough; then guide them
- Some might see this feels a little familiar to other project management methodologies and even agile. It is also suitable for the employee’s psychological well-being to know someone is there to help, but they are given the room to try things.
For the most part, be ready to do a lot of training. Be ready for a lot of guidance. You can hope for a surprise of someone that is very good but just never had a title before. In such a case, you can move them out of the Jr-Level much faster. Some companies I know about have the Junior title for only as long as needed, which could be as little as one week.
Although I have talked much about treating them well, you should still expect them to do quality work and help you move your project forward. For that reason, I have compiled the following list from my other article.
- Assisting in regular software development and engineering problems
- Constant learning about your new companies codebase
- Familiarizing yourself with the policies and coding standards of your new company
- Working on bug fixes
- Writing reports
- Writing documentation
- Meeting with and communicating with colleagues and bosses.
These are the most typical things I have seen companies use Junior Level Coders for. I was able to confirm this by searching job boards and reading the listings. At least five items from my list in some very high percentage of postings an estimation would be 75%.
For the most part, what you should have them do depends on your needs and how much time you can spend training and teaching them.
What might matter more is the hiring process; keep reading to get ideas and information on the kinds of things you should be looking for in your candidates. If you want to watch some videos on this subject, you should subscribe to my YouTube channel.
What You Should Look for in Candidates?
Colleges must have mock interviews all the time where they ask the same basic questions. I say this because two managers I know have been to college ask the same kinds of questions in a very similar way. They may get what they need following the script, but anyone with some sense and a little quick thinking could blow right past that interview process.
Instead, I like to engage the person in conversation; while they are talking, I give them the prepared coding question. You don’t want to use any random one you find online; either come up with your own or purchase a set of them.
While they work on the interview problem, I watch how they work, and I notice the questions asked, and I see how much guidance they seek.
Interaction like this will tell you a lot about what it will be like to work with someone. You may need to coax them out of their shells for some people and let them know it is ok to ask questions or make mistakes, but most people will give you many clues about their personality and work habits.
Think about the following:
- Did they solve the problem?
- Did they ask for help?
- How did they ask for help?
- What pitfalls did they run into? How did they handle them?
- How did they approach the problem?
- How long was it before they asked a question?
- How long was it before they gave up?
Answering any of these questions will give you tons of insight into your new potential employee. For instance, “How long was it before they gave up?” This single question alone will tell you a ton about how hard this person is willing to work on something.
In one of the best interviews I had using this technique, the interviewee asked so many good questions they were the only person to solve the thing during the interview, and I knew I had to hire them right away. He has turned out to be a great employee and an extremely hard worker.
I realize now I need to dive much deeper into this subject and do more posts about it. I might even post good interview problems to try and have people solve them. But for now, let’s keep on task and learn about what you should expect from your new Junior Programmer.
What You Should Expect From Your Jr Level Person?
Your new hire is going to be great, but only as good as you let them be.
Please, I beg you to have some things ready for your new Jr-Level employee. The new developer you hire will need you to guide them. Give them tasks to do and have ready answers, or at least know you can come with an answer pretty quickly when they fail. Your goal should be to keep them and yourself moving as much as possible, realizing you have taken on a new responsibility in growing their career.
Often, especially when the hiring manager is the company owner, they are not ready for the Jr Programmers’ arrival. I had a conversation with a printer once about hiring software devs at Jr-Level, and it went something like this:
Owner: “I will hire some Junior Developers; they will be cheap and be able to figure out the project. Since they cost me so much less, it will give them the time they need to figure it out.”
Me: “Sounds good, but what are you going to have them do first?”
Owner: “Oh, I didn’t think of that.”
Many business owners are often brilliant people, but our experience comes from working in the physical world for a vast majority of us. Things we can touch and see. When building a house, you can see the foundation being poured, the walls going up, the roof coming together, and every bit of progress is apparent day-to-day.
But if you are new to hiring programmers, things are not that simple, and people, even brilliant ones, forget they would not hire an apprentice level Framing Carpenter and start putting up the frame for new home construction.
In the print business, this is like hiring a Printer Apprentice and tell them, “Hey, I know you have never done this, but here are the keys to the print shop; go figure it out.”
Just like handing your new Junior Developer your requirements document, I hope you have one, and saying, “I trust you have this, also your good to publish to live when you finish writing that.”
Instead, have a plan and expect to be doing a lot of guiding, answer questions, and in general, supporting their growth to become self-sustaining employees.
Before you go off to work on your new hire plan, here are some “war stories” from my experiences that you should think about or at least consider briefly.
Problems You Should Think About Ahead of Time
Make sure you hire someone qualified or at least capable:
I have seen four instances when managers feel we’re not ready to handle their first Junior Software Developers. One of those, of course, was me. The first time I hired a Junior Frontend Developer, I let the company owner bring someone in and took their word to be a good fit for the company.
Sadly they had no programming experience, and due to the nature of circumstance surrounding their hiring, I could not let them go. So I was told to have them start with data entry.
This nearly killed my project and more than doubled my work-load.
Make sure they are a good fit for the company culture and your sanity:
You might have to spend a lot of time with the person you are about to hire.
Let that sink in for a moment. No matter what someone answers for, where do they see themselves in 3 or 5 years? The fact is even a year working with some people will make you wish 5 had passed.
This is where you have to walk a fine line. Many colleges teach these standardized questions, and formulaic approaches to finding a “good fit” are doing so for a reason. You don’t want to be sued. And it would be best if you found people that won’t “break” the system.
But I argue that you should make sure you actually can stand to be around the person long enough for them to be an asset to your project. This doesn’t mean you need to be buddy-buddy and have a beer every night after work, but you need to be comfortable working with the person.
I once had a co-worker addicted to illegal substances and always talked about inappropriate things with other co-workers. At the time, my manager told me the guy acted the exact way in the interview, but since he answered all the questions the right way, he wrote it off as he must be nervous.
He regretted hiring him for several years and eventually was able to let the guy go.