Lessons Learned From Conducting Junior Software Engineer Interviews for Small Companies
Introduction
I have worked for smaller software companies most of my career, and from what I can gather, the interview process can range from overly formal, to overly informal. Every small company is different, and generally will conduct interviews based on the direct influence of whoever is actually doing the interview.
However, having conducted interviews for quite a few small companies, I have found amid the vastly varying criteria, there are a few common principles that usually lead to a successful hire. In this article, I will be doing my best to give you an insight into what can be the deciding factor when interviewing for a position at a small company.
Why join a small company?
Getting a job as a software engineer can be far more fulfilling than working for a larger company, if you find the right fit.
Pay can be just as high, if not more
You can be paid just as much as working at a larger company, although you may have to expect a smaller wage packet to start with. Doing well in a small company is far more likely to result in immediate returns in the form of bonuses or pay rises. Whereas in a large company, there will be a far more formal policy in place to review and reward.
You may have more autonomy
Depending on the type of work the company does, you may be given a lot more autonomy. This is especially true when given greenfield projects to work on, small companies rely on you taking ownership of your work to move forward quickly.
You will most likely have more impact on the direction of projects
With smaller teams, and less management and design overhead, the responsibility of where a product goes, and harvesting user feedback falls to you. This is a great opportunity to sink your teeth into other aspects of the design process by interacting directly with users.
You may have more creative freedom
Along with autonomy, you may find you are also free to use the technologies and languages you are comfortable with. Or at least have a stronger weight to your opinion on what technologies are best to solve this particular problem.
What does a small company look for in a junior engineer?
Unlike larger companies that will usually have a formalized onboarding path for you, smaller companies will most likely play it by ear. The people hiring you will not know for certain what you will need to know before hiring you, so will most likely take a more general approach when it comes to finding out how technically competent you are. You may find that they simply start conversations flowing based on your previous experience that resonates with them.
Technical testing will mostly be informal too, baseline questions to prove you weren't lying on your CV/resume, along with more advanced questions to test you on your claimed experience.
Now, this all may sound like a normal interview at any company, but I assure you a lot of is designed beforehand with a hidden underlying mission. This underlying mission will be slightly different fore every small company, and is usually curated based on experiences they have had hiring poor performing engineers, or people that ended up not being a great culture fit.
Junior developers have so much to learn, and are known to be sponges that can be moulded into what you need them to be. This is why, after trial and error, I found the one thing I required from a candidate when interviewing, was to be interested in learning, that's it.
I would take this as far that I would ask many questions covering a very broad spectrum of technologies, knowing that they couldn't be proficient in all of them. I did this not only to get a gauge of their experience, but to see if they would respond with “I don't know” or “I don't know, what's that?”. There is a massive difference between the two, and consistently asking about the topic I have brought up is what I looked for. If the candidate is eager to understand everything they come across, they are likely to grow quickly and succeed!
What YOU should look for in a small company
An interview is a two-way street, a double-edged sword. Just as you may not be a good fit for a company, a company may not be a good fit for you! You have to understand this and come to an interview prepared to ask questions that give you an insight into the company culture.
Some questions to consider asking
- Do any employees do anything outside of work together?
This lets you get a sense of the company culture, if you are a bookworm that likes to game online, you may not like to work in an environment where you are expected to go binge-drinking with the sales guys twice a week.
- How many experienced engineers does the company employ?
This lets you gauge your growth potential. Self learning can be good for you, but having multiple experienced engineers at your fingertips will catapult your progress.
- Who would I be interacting with on a daily or weekly basis?
This allows you to get a head count of the people you would be working closely with. You will also want to be meeting the majority of them, if not all of them, prior to accepting a job offer, as you may not like the environment otherwise.
- Who would be training me? If I had a problem I was struggling with, who would I be able to go to for support?
Onboarding can be a pretty hectic experience in smaller companies, and knowing that they have already addressed who will on-board you and provide ongoing support will give you some peace of mind that the experience will be a good one.
- What would I do for me to be considered successful in this role?
This one was requested by Victor Eke and originally proposed by Danny Thompson!
This is a great question to ask if you are still unsure about the scope of the roles you would be expected to perform. It may also uncover aspects of the job that you didn't realize were expected of you, and you may not like them!
Conclusion
That's it! I hope this article helps land a job at a smaller company if you are considering it. Some of my best years in the industry have been at small companies! Take the time to consider what you want from your career as a software engineer, and don't just jump onto the first boat you find, because it may already be sinking!
Follow me on Twitter to keep up to date with my projects and get notified of new articles like this in the future!