Being a Junior software engineer at Torii
Every junior software engineer knows this feeling. You’ve just graduated from college with a fancy B.Sc in Computer Science. You've achieved success in an extremely difficult degree, and passed every course and exam, and now you are on a quest to get your foot in the door of the high-tech industry.
For weeks and weeks, you’ve trained for interviews, solving every question on Leetcode, watching endless Youtube videos on how to pass coding interviews, doing mock interviews with your friends. The journey where you try everything possible to land your first job as a software engineer begins.
After receiving a few rejection emails, on top of the many companies that don't even get back to you, finally, you get your chance. You’re invited for an interview at a company that sounds interesting and they offer junior positions that include a training period. They invite you to an onsite, to get to know you better. You dress up in your best outfit, arrive 10 minutes early, smile at everyone, and attempt to make the best impression possible.
The interview starts. The conversation is fluid and interesting. You emphasize the courses you enjoyed most in your undergrad, explain the projects you worked on, and most importantly, elaborate on why you think you are a good fit for the company. You also come prepared to ask your interviewer questions about the position and the company. It seems like you are forging a solid connection with your interviewer.
Then, Even though it was never previously alluded to, the interviewer takes out a piece of paper and a pen and asks you to code on paper a class in C++ that does complex image processing and 3-D matrix manipulations. Right there, on the spot, with him watching every word you write, and asking you questions, you write the code.
Let's face it, coding on a piece of paper is probably not something a Software Engineer would ever have to do as part of his job. So, you panic a little, and battle to remember how to write a constructor or the template of a copy constructor, or how to use a shared pointer, but after a little help from the interviewer, you write a solid solution. You subsequently thank your interviewer for their time as they tell you they will get back to you once they’ve considered the interview and reviewed your solution. And then, after anxiously waiting for an answer, you get the rejection email. The reason is simple and frustrating - your coding skills were just not good enough.
It seems nowadays that to pass an interview for a software engineer position, you have to get the coding questions perfect, not so-so, not good. Perfect.
I, like many other Junior Software Engineers starting their careers, have been in such discouraging situations countless times. Just when I was starting to believe that all tech companies expected candidates to solve tough riddles with perfect coding skills, I was invited to an interview at Torii, the company I currently work for. To my surprise, Torii’s interview process was completely different from anything I had experienced in the past.
A Software Engineer interview at Torii has no complex coding riddles to determine whether you pass or fail the interview process. At Torii, they believe that this methodology does not predict whether an interviewee will be a good fit for the company or not. The ability to come up with a good sorting algorithm that works in O(n*logn) surely tests coding aptitude, but it doesn't measure things like the capacity to work in a team, handle criticism, code reviews, lead a project. These are, after all, the important things that you do in your everyday life as a software engineer.
Allow me to paint a picture of the interview process for any prospective candidate. The interview process is rapid, and, if everything goes smoothly, the interviewee could find themselves with a job offer in just two and a half weeks.
The process starts with a phone conversation with our People Experience Manager, Maayan, who explains the company and the role. As the People Experience Manager, she walks you through the entire process, phase by phase.
Then, you'll have a one on one with our CTO, Tal, who explains the company’s mission and the position in more detail.
Tal will then inquire about your background, previous work experience, academic projects, and any other interests you may have to get a sense of who you are professionally and personally.
Following the interview, you will be given a home task to solve on your computer in your free time, with a code-review session set upon completion of the task. The code-review session is held by two senior developers, who will ask you questions about your implementation, essentially conduct a simulated code review session, just as they would do in an actual review session, debating and talking about the various possible methods to solve the problem while taking into consideration all constraints.
From this moment on it's just one more HR interview with Maayan, and if everything goes smoothly, you will receive a job offer. That's it, not a lot of fuss is it?
I personally believe that when a company seeks to examine how interviewees perform tasks the equivalent to those that a Software Engineer performs each day they will hire excellent personnel. This will ensure that they have a strong R&D team with quality people, who not only have great coding skills, but can express themselves in a group, accept criticism, quickly understand new ideas, and work excellently as a team. I, and Torii, think that these qualities should be considered when hiring a candidate, and that's what makes our dev team such an amazing one.
After being at Torii for 3 months, I can now confidently say that at Torii we maintain high standards in the people that we hire. I'm really happy to have been accepted into a quality company with amazing people. I couldn't ask for a better place to start my career.
If you would like to join us, take a look at our open positions here, and apply for a position in an amazing company with great people, a company that gives maximum respect to the candidate experience!