AMA with Omar Sanseviero on interviewing at Google, mentoring at Udacity, and attending a bootcamp

The Coding Diaries
CodeBuddies
Published in
6 min readAug 1, 2017

Omar is a college student from Mexico City and soon-to-be software engineering intern at Google.

Background: A few weeks ago, over in the CodeBuddies Slack, a member (@tallpants) suggested that we start an #ama channel. A couple of wonderful people volunteered to do AMAs and figured out a schedule. This post archives one of those AMAs.

What are you currently doing career-wise and personal wise? Where are you aiming to get to?

I’m really passionate about education and technology, so I try to work in projects that involve both. All this year I’ve been a mentor on Udacity AI Nanodegree. Next semester I’ll be working in Google as a Software Engineer Intern.

In the long term, I want to get involved more seriously with edtech projects. So that’s what I’m aiming for. I believe that education is the solution to all of the problems that we face as a society, and here in LATAM there’s a lot of space for improvement in education.

How did you get into AI, and then mentoring for it at Udacity?

Right now I’m really excited about AI. During the last year and a half the industry and the academy have reconciled, and really interesting projects are being created in all areas (economics, health, biology, etc). I think that we need to be a bit careful about all the ethical consequences, and, at the same time, be careful about what we consider AI. There has been a trend this year in which everything is being considered AI. Startups think that because they use some simple machine learning techniques they are an AI startup.

I began in January in their AI Nanodegree. At the same time, since I was taking a semester in UC Berkeley, I was able to attend excellent classes and meet people working on really cool things. I was able to meet Peter Norvig (I really admire him) and other people working in this field.

Since I was part of their Nanodegree, knew the material, and did good, I was able to start mentoring it :slightly_smiling_face:

How do you get better at the kind of algorithmic problem solving you have to handle in interviews?

That’s an excellent question. First of all, remember that each person learn in a different way. What works for me, might not work for you. The only thing that I can tell you is: practice. The standard book for improving in this is cracking the coding interview (https://www.amazon.com/Cracking-Coding-Interview-Programming-Questions/dp/098478280X)

Additionally, websites like HackerRank and Interviewbit will help you practice.

Also, try to do mock interviews in the same environment. There are many websites that allow you to do mock interviews with people that worked at companies like Google, Amazon, and Microsoft.

And what were the interviews like?

About the interviews. The processes were really different. All of them were by phone. With Bloomberg, for example, they used HackerRank to solve a problem. The con of that was that the code had to be perfect to run, which I disliked. With Microsoft (I did not pass all the stages), it was a 45 minute interview in which they asked me questions about everything: past projects, some really short technical questions, etc.

My best experience by far was with Google. After they contacted me, I had a hangouts with my recruiter. He gave me resources to study and prepare for technical interviews, and also gave me a lot of flexibility. Some months after that, I had two technical interviews. Everything was programmed in a Google Docs. They don’t care about your code being perfect, they want to see how you think, and which is your approach to solve problems.

Did you whiteboard in those interviews?

I didn’t whiteboard. For Bloomberg we used an online tool to program directly (HackerRank). For Google, everything was programmed in an empty Google Docs (I practiced writing code there because it’s challenging!). When I practiced for the interview, yes, I did whiteboard a lot.

When did you “know” that you were ready to interview at such elite places? (Participant: “As a self-taught programmer, I just recently started my first professional programming job, but I’m still shaking off/fighting against crippling imposter syndrome”)

Just do it. The imposter syndrome is a thing. I still feel that my technical knowledge is far below what is required for Google. Just do it. Worst case scenario: you won’t get accepted and you can try again 6 months later. Best case scenario: you get a job at your dream company. Also, if you get contacted to interview with them, you will get dead serious about practicing a lot; at the end, if you don’t have the pressure of a deadline, you will go much slower.

If you can remember, what was the hardest question you had to answer? And what was the easiest?

Oh, I can’t tell you! I signed a confidentiality agreement. By far, my hardest question was a dynamic programming which involved huge amounts of recursion. The easiest one was some string manipulation things.

For Google, there normally is a warm-up question (5–10 minutes), and a hard question (20–25 minutes). Sometimes the hard question is a follow up of the warm-up question

Earlier you talked about being excited about some AI projects. Can you give some specific examples of which AI projects you’re excited about?

A really cool one is a project from Stanford that uses deep learning to identify skin cancer

http://news.stanford.edu/2017/01/25/artificial-intelligence-used-identify-skin-cancer/

Another project that is really cool is Voyage. It started from Udacity’s self driving car nanodegree, and now they are a startup creating self-driving taxis which are going to be pretty much free. http://voyage.auto/

There are many, *many* projects that I really like. So I could talk about that all day long hehe.

Did you need a specialty like AI in order to interview at Google?

No! I’m going to do software engineer internship. For the interviews, they just wanted to see solid CS foundations and programming skills. I’m going to be working in web development specifically, so no AI required.

You can see what kind of things they expect here: https://www.google.com/about/careers/students/guide-to-technical-development.html

That’s an excellent compilation of resource to learn CS.

When did you first start learning to code/getting interested in technology?

I started to get interested in technology when I was around 15 years old. I really liked to play games online, but I got bored, so I wanted to cheat, and I started hacking them to earn the rewards (nobody was affected by these actions). After that, I was part of the first cohort of Edx MIT CS course, but it was too hard to me. I tried to do it every year, each time doing better. I was able to complete it the third time :slightly_smiling_face: the fourth I was a teacher assistant.

How do you keep up with current trends?

That’s a hard question. To be honest, sometimes you just can’t. As a person who works on AI, have been working on Front-End for three years, and do project of Augmented Reality, it’s pretty hard. As a tip, have good reasons to use tools. Don’t use a tool just because the others are using it. Angular is good for some things that React fails to do, and React accomplishes things that Angular can’t do. Being in CS, you need to accept that you cannot learn everything (I would really love to be able to do this).

That’s just my opinion :slightly_smiling_face: I went from working in vanilla javascript, html, css, to work with some Angular, Bootstrap, jQuery, Ruby on Rails, Python with Django…at the end, all of these are just tools. What really matters is what you’re doing with them.

What coding bootcamp were you involved with, and what did you learn at it?

It was in Mexico City. The name is dev.f. Most of the skills I got from there were related to how to build a product with solid UX in a 4 person team.

I learned Ruby on Rails, but that was just the tool. The objective was not to learn Ruby on Rails or another tool, but to build a project that solves a real issue.

And, seeing the requirements of your project, know how to pick a tool to solve the challenges.

What kind of music to you normally jam out to while coding?

It really varies with my mood. When I need an energy boost, I hear a DJ named Neelix. If not, I hear indie rock :slightly_smiling_face:

Love for Radiohead, Kings of Leon, Muse :slightly_smiling_face:

What is your favorite IDE/Text Editor / Dev Tools?

I’m an advocate for Sublime. I tried Atom but it’s really “laggy” when scrolling. I’ve added all the plugins I’ve needed. For both web and AI, I’ve been able to do everything I have wanted.

Thank you for the 35 minutes of rapid typing and insightful answers to these questions, @osanseviero! Will you be taking questions if they trickle in the rest of today?

Thank everyone for your questions. If you have any additional questions, don’t doubt to ask them, I will still be around during the day.

--

--

The Coding Diaries
CodeBuddies

Educational tips about coding from a self-taught software engineer finally chronicling her journey ✨