As always, I can only speak about my own experience, and the particular companies I happen to have taken interviews with. That said, I want to tell you a little about my experience interviewing for developer jobs.
The first thing you should know is there’s really no particular level of experience you need to have before you start applying to jobs. It’s all just a crap-shoot. I wrote more about actually getting interviews here: https://adamcross.blog/2019/07/24/landing-your-first-job-as-a-software-developer-getting-to-an-interview/ . Apply for everything and work to better yourself at the same time. Pay special attention to jobs that have the word “junior” in the headline of the post.
LinkedIn is an especially good way to network and find a job. LinkedIn isn’t paying me to say that. It’s just my unbiased personal opinion.
Once you start getting invited for interviews, very likely you will still have to apply for dozens of jobs and take several interviews before getting anywhere with any company. Now let’s talk about the interview process itself.
I used to be really nervous about interviews. The only way I eventually got to not being so nervous was that I’ve had perhaps a dozen in-person interviews and perhaps 3 dozen phone interviews in my life. Some of them I thought went great. Some of them felt terrible. In both cases, by far the most frequent response from the company was that they just ghosted me. Even when I was great.
Here are some things that happened at actual interviews, in no particular order.
At least two interviewers have given me a task of computing the best way to give someone change after a money transaction, using the larger bills first, then smaller bills. This is a popular test/demonstration. The second or third time I did that, I think I improved myself by walking the interviewer through my thought process as I wrote it. I said things like “first I want to just make it work, and later I’ll think about cleaning up the code to make it elegant.” By the way, I did great in that interview, and the company still just ghosted me.
I had a very lengthy HR-type interview for a tech job. They asked me a lot of HR questions like, “describe a time when you saw something unethical happening at work”. It was completely unrelated to tech. It was just about who I am as a person. This was my third interview with that company, and I got an offer and I took it.
I interviewed with Epic a long time ago. They make healthcare/hospital software and such. They flew me in for a two-day on-site interview. The interview was heavily focused on smartness tests. Like, “here: do this stupid smartness quiz in 2 minutes while I watch.” Then there was a much longer smartness test I had to do at a computer. Very bad and stupid experience overall. I didn’t get an offer, and as for smartness, I’m a math PhD. So… you do the math. I don’t think I even met an actual developer while I was there. The entire interview process was done exclusively by HR. From that point and forever onward I don’t think HR should play any role in matters of hiring.
For my in-person interview at LendingTree, they sat me at a computer to do some simple task, and as I recall I wasn’t really able to finish it because of technical difficulties, so after that they put me in a room with some senior developers and mostly we just talked. It wasn’t a whiteboard test exactly. But they asked me things like how I would handle tracking button clicks on the frontend. Not the analytics behind it, but just how I would capture them, globally. I know how to do that now, but I had never done any sort of frontend with analytics included at that time. I really don’t recall if I gave a good answer. Probably not.
LendingTree offered me a job and I took it. And I don’t think I did anything special or different for the LendingTree job. I was the same person, and acted pretty much the same as I had in other interviews. They just happened to be open to hiring a junior developer at the time. That’s how I got into frontend.
I’ve had several interviews where basically I just sat at a table with a senior developer and 1-2 other guys/gals and they asked me questions to poke at the limits of my knowledge. Those are hit or miss. They will never tell you anything before you leave. They have to talk about you behind your back. That’s just how it works. If one guy on the team thinks you should know a random edge case of the language and you don’t, that could sink you. For this kind of interview, very likely you will have no idea how it went until they call you or don’t. But this interview style is not something to be afraid of. It’s way more meaningful than an HR-only type interview like with Epic. Developers are pretty good at detecting when someone else is a developer also, or if that person is a good candidate able to be trained.
After having been through so many interviews in my life, they don’t scare me as much anymore. I’m still a little scared of whiteboard interviews, and now that I’m a more experienced developer I also just think they are a stupid practice. But I’m less scared than I was. Everything becomes familiar and less scary if you do it enough. And even working developers like myself have very likely gone through many interviews and received plenty of rejections. It’s like Stephen King has said. He received dozens of rejections from publishers before ever publishing his first book (paraphrased: I don’t remember how many he said). Now he’s one of the most successful writers who ever lived.
For whiteboard interviews, I recommend to my fellow working, and more senior developers, that they are just a bad practice. Maybe try just having a conversation with the person.
If you are on your way to a whiteboard interview, don’t worry about it. It might go great. It might go poorly. But either way most likely you won’t get the job, and most likely you will get another interview with a different company. So just keep moving forward. It takes patience.
Here is some general advice that has worked well for me.
- If you need time to just think over a problem before you start to write anything, then just say that. Developers get that. You might need 5-7 minutes or something. Just ask for time to think quietly.
- Once you start writing, explain your thinking aloud as you go. It has happened to me before that I misunderstood what they were actually asking for and that came to light as I talked about what I was doing.
I guess that’s all I have to add to the copious advice about interviewing you can find online.
Also, I previously wrote a post dedicated to the “describe a time when…” type interview question. That’s available here: https://adamcross.blog/2019/06/27/describe-a-time-when-interview-questions/ .
I hope this was useful to you. Feel free to contact me on Twitter. I’m @adamfgcross. I don’t encourage people to comment here on the blog because I don’t really read or follow those comments. I funnel all my social media through Twitter if possible. Thanks for reading!