As I mentioned in my last post, I interviewed with a total of 4 companies before accepting my first job as a Junior Developer. I also spoke with several other companies that I’m not counting in my interview tally because the discussion never went far enough.
The interview experiences differed wildly from one company to another. Perhaps that’s the reason it’s so difficult to find information on what to expect from a Junior Developer interview: there is no standard experience.
Nonetheless, I wanted to give aspiring developers some insight into what my experiences were like, in the hopes of shedding some light on the mysterious vortex of misdirected energy and flying chairs that is commonly referred to as “the job hunt”.
Here are the answers to the questions that Me-From-2-Months-Ago would have loved to have asked Gainfully-Employed-as-a-Software-Developer-Me:
Q: What types of questions did the interviewers ask?
A: The questions were all over the place, but most of them fell into one of the following categories:
- Standard Interview Questions: All the same interview questions you hear from any other type of job, such as “Tell me about a time you had to deal with conflict at work. How did you handle it?” or “Why do you want to work for this company?”
- Overview of Skills Questions: “How well do you know Jquery?” or “Tell me about the project you enjoyed working on most.” or “How long have you been working with Ruby on Rails?”
- Definition of Terms Questions: “Tell me everything you know about Object Oriented Programming.” or “What is (insert term here)?” A few of the terms I was asked to define: Encapsulation, Polymorphism, MVC, Service Oriented Architecture, SOAP API, RESTful API, Anonymous Function. —> Before you panic and try to memorize every Computer Science term on the internet, please hear this advice: First, there is no way to prepare for all questions. Just make note of the questions you can’t answer and research them to be better prepared for the next interview. Second, if a potential employer fires too many of these questions at you and/or cannot handle the occasional response of ‘I’m not familiar with that. Would you mind telling me about it?’ this is a HUGE red flag that they are not equipped to mentor you and you should stay FAR, FAR AWAY. Asking 1 or 2 of these questions can be useful to gauge knowledge, but asking too many means they expect you to walk in fully trained and function as a Senior Developer with the pay of a Junior Developer. RUN.
- Code Problems: This is where they give you a relatively simple problem, such as FizzBuzz or a Project Euler problem and watch you solve or attempt to solve it. Some companies do this using a whiteboard and others use screen sharing. The important thing to know about these problems is that they are looking to see and HEAR your thought process. It is more about showing that you can think logically than showing that you can solve the problem. Make sure to talk out loud about what you are thinking, no matter how dumb that makes you feel. I was terrified of these problems until I actually faced one, and it was not nearly as frightening as I had imagined.
- Pair Programming Exercises: In my opinion, this is the best interview technique. This is where they pair you up with another programmer and you solve a coding problem together with the programmer. It helps them evaluate both your coding ability and your ability to work with others. It helps you evaluate whether your potential coworkers will be the kind of people you want to work with.
Q: How much knowledge will they expect me to have, and what specifically will they expect me to know?
A: Again, this was all over the place. Some companies seemed to think I was more than qualified for a Junior Developer position, while others didn’t take me seriously at all. Some managers clearly expected a Junior Developer to be knowledgable enough to be immediately productive, while others were looking for someone they could invest in and mentor.
At the beginning, after having one company try to steer me towards an Internship and a second steer me towards Project Management, I began to wonder if my skills were not sufficient for a Junior Developer position. I now understand that: 1) there is not a consistent, objective measure of what a Junior Developer should know, and 2) if a company likes you, they will try to fit you into whatever slot they have available, whether that is as a Junior Dev, an Intern or a Bathroom Attendant. The titles and associated pay that you will be offered are only very loosely correlated to your actual level of skill.
And now, at the risk of inciting a riot, here’s the one question everyone likes to dance around:
Q: How will being a woman affect my job search? Will it help or hurt?
A: YES. It will help and it will hurt. I have no doubt that being a woman gave me an edge with at least one company that was trying to improve their diversity. On the other hand, I am equally certain that at least one manager (and I suspect several others) did not take me seriously because I was a woman.
How do I know these things? Let’s just say, ‘A facial expression is worth a million words.’
I am also acutely aware that being a woman affects my communication style. I believe women have a greater tendency to downplay and/or underestimate their skills and are more open about discussing their flaws and mistakes. Whether this is true for most women is debatable, but it is certainly true for me. In some cases this made me compare unfavorably with other developers who would state the exact same skill set in much less humble terms. In other cases, my communication style helped me because the managers were concerned less with (perceived) minor skill differences and more with the ability to play well with others.
On the whole, being a woman had a polarizing effect. Sometimes it really helped and other times it really hurt. In a field that is only 5-8% female, it often made me stick out, which could be good or bad depending on how well I handled the spotlight.
I would suspect that anyone who does not fit the stereotype, whether because of gender, race, disability or some other factor, might experience a similar effect.
The negatives and positives balanced each other out for the most part, but I did gain one clear advantage: it made weeding out the asshole managers 10 times easier. In fact, they graciously weeded themselves out. Perhaps I should send them a thank you note. (wink)