Today I'm sharing an interview with an ex-Google Software Engineer who was able to get a job there after coding for just six months. Clément Mihailescu shares his advice on learning to code quickly, what his bootcamp experience was like and getting a job at a unicorn like Google.
Can you tell us a little about yourself (your background, a brief bio etc)
My name is Clément Mihailescu; I’m the co-founder and CEO of AlgoExpert, a website that helps Software Engineers prepare for technical interviews, I’m an Ex-Google Software Engineer, and I don’t have a Computer Science degree. Oh, and I also have a YouTube channel that I’ve been growing a lot lately!
What drove you to coding in the first place?
I’ve always had a penchant for entrepreneurship, but throughout high school and college, I repeatedly found myself in the frustrating situation of having lots of business ideas but needing a “technical cofounder” to help me actually build them out. Since I was plagued by the misconception that to study Computer Science, you had to have been coding since you were very young, I never made the jump and learnt how to code.
This led to a lot of abandoned projects and disappointment. I finally decided it was time for me to learn how to code when I graduated from college and realized that even “normal job fields” that I was interested in, like Product Management and Venture Capital, required a Computer Science background.
You only wrote your first line of code when you applied to a bootcamp. Were you not intimidated when applying considering you hadn’t coded before?
Not really. I trusted in the process, which claimed that people with absolutely no coding experience could apply to these bootcamps, get in, and be employable in the Software Engineering field. I figured that if anybody could do it, I could, because when I set out to do something, I tend to really go all in.
I know you spent pretty much all day learning coding at your bootcamp and then after your classes. Was there a way you avoided burn-out?
From my experience, burn-out comes in two forms: emotional and physical. Emotional burn-out tends to surface when you’re spending lots of time doing something you’re not passionate about or interested in, which certainly wasn’t the case here. It also tends to pop up when you put a lot of effort into something with little to no reward; but again, here I could see my programming skills improve by the day, so this wasn’t an issue.
Physical burn-out occurs when you simply don’t get enough sleep (which varies from person to person) or don’t take care of yourself at a very basic level (e.g., eating very poorly, not exercising at all, etc.). I simply made sure not to let myself reach physical burn-out.
How did using Code Wars help you learn?
Code Wars is a website filled with coding challenges similar to the ones found in coding interviews (though they’re a little bit more math-oriented; I’d recommend AlgoExpert if you’re preparing for coding interviews). I became addicted to solving these coding puzzles and found that it was a good way to solidify my programming fundamentals.
I know you were disappointed at not passing the phone interview with Lyft. How did you pick yourself up after that?
I acknowledged that I was purely and simply not prepared enough for the coding interviews, and I became very intentional with my interview prep after that.
You got a job at Google which has a reputation as being a tough place for getting a job. How did you land your interview?
Regarding passing the interviews, my main edge was that I prepared for them very intentionally and rigorously. As far as landing the interviews, I found a Google recruiter’s email address on LinkedIn and contacted them directly. The combination of my Math degree and my coding bootcamp experience was probably appealing.
Can you tell us about AlgoExpert and what it offers to developers?
AlgoExpert is a website that offers an organized platform with 77 curated practice interview questions, with more being added periodically. Each question is accompanied by:
- an in-depth two-part video explanation consisting of:
- a conceptual “whiteboard” overview of the algorithm at hand, covering its inner workings and its space-time complexity analysis
- an entire coding walkthrough of the solution
- a full-fledged coding workspace where you can type out and run your code against premade test cases and look at hints if you need help
You learned Python while preparing for interviews. Can you tell us how you did that in ten days?
I decided to do all of my practice coding interview problems in Python. Whenever I came across something I didn’t how to do in Python (for example, declaring a function, sorting a list, etc.), I Googled how to do it. This was a very effective way to simultaneously learn Python and prepare for the coding interviews.
What advice do you have for people who want to get that first role web development?
- Don’t be afraid to jump into the space, even if you’ve never written a line of code before.
- Be ready to put in a lot of time and effort into it.
- Practice your algorithms if you want to land a Software Engineering job at a big tech company or startup!