How to obtain an IT engineering position at Google having no higher education? Well, let me tell you a story… Like us I used to go to the uni...
How to obtain an IT engineering position at Google having no higher education? Well, let me tell you a story…
Like us I used to go to the university. I chose the University of California in LA (Los Angeles). Unfortunately, at school I had a small grade point average (2.45 on a four point scale) so I could not enter the UNI that time. Instead of that I went to the computer science courses at a local university.
Step number 1: cheat as long as you are able to do that
While studying on courses, I worked in parallel in a small company in Griffith, Indiana creating websites for local small businesses being paid 12 USD / hour. The job, of course, was not exactly the one I had dreamed for myself in the future but things could be worse.
I tried to keep a low profile as well as the promises given to the stock so that I could handle things on time with a little earlier effort. He worked in various projects. The company has earned good on me. In the meantime, I tried to create a game during spare time which was a little.
Well, somehow someday I went to management team and asked for the chance within 3 months to finish the game at their own expense and start selling it online. Thus, I made tables and colorful graphics being as shareware-model demonstrating how much you can get. I had a vague idea of all of it but by some miracle they trusted in me. Maybe, because of the colorful graphs so after two months of development I managed to launch the demo version online.
At some stage we got a message from a young startup in California under the support CodeFire saying they are doing the same game! That was a Space-shooter with a view from the top like SubSpace made in 3D. In the notification they demanded to stop my game due to some royalties reasons. For that I coluld only respond positive if you hire me in revert. And they answered a job offer! That’s why went to them. The Company has retained the rights to the original game. I alerted the previous employer that I am leaving within three weeks and we parted on good terms.
Step number two: Make friends with the professionals
This is probably one of the most important things you are to do. Try to find someone who is a professional in the current business and make him your mentor. And never stop learning. While working in the Double Helix I had a mentor Nathan Hunt whom perceived as one of the most intelligent and the most humble guys I’ve ever met. He used to be a very patient despite my silly questions. I must have a thousand times went to his office for the answer to another stupid question. Years later, he would join Google in a month after me. Every one of my mentors has changed something in me and in my vision of the world. And this is only a small part of what they gave me.
Step number 3: Fill in the gaps in your knowledge background.
Once I did not have higher education I was not aware about many fundamental things. For example, I implemented a php engine but never faced dynamic programming which is a way to solve complex problems by breaking them down into simpler sub-tasks. Thus, to overcome these shortcomings and lack of knowledge I have implemented almost all of the most common algorithms and data structures that I have heard or read. The required information can be found in abundance, but there is a huge gap between the observation of how things work and understanding of the nature of the work.
Over time you are to do the following:
- Become a professional in at least one of these languages: C, C + +, Objective-C, Java, PHP, Python, orRuby. Fluent in at least one other language and get acquainted with languages such as Scala, Haskell or Lisp.
- Study the structure of the data. Make the implementation of most of them. You also need to understand the time complexity of algorithms (O – notation evaluation of algorithms).
- Solve puzzles on the programming. Read them and try to solve the problem right here.
- Build up your portfolio. (E.g. written by you frameworks various applications, small game and so on)
Step number 4: Be sure you have self confidence
Six years later, after moving from Indiana I completed the development of six games based on different platforms. After some time I got bored and needed something new. So I sent a resume to Google, and thought that if they took me I would have become an engineer as “consider myself inferior” due to the lack of desired paper. But I never got an answer, which actually was not surprised.
A year later I again sent them my resume. But this time I removed “Education” section completely. Ironically, the recruiter called me to arrange a preliminary interview on Skype. I asked to reschedule the interview for two weeks later, and he agreed. I needed this time. I used these two weeks to cram into your head as much as possible of algorithms and data structures. I programmed the 12-14 hours a day and decided to hundreds of tasks during this time. I was obsessed and did not stop until my fear of the interview in Google has not turned into certainty. I remember each of my interview at Google. It was a stunning fashion. Since the interviewers were quite interesting to say. They saw my excitement and were friendly to me.
Some of the tasks that were given to me:
- Given a set of two-dimensional points, you need to calculate the horizon. That was easy. I took advantage of a data structure known as a binary heap. That’s one of the solutions to this problem
Configure Microsoft Paint. It was the most fun task. I started by making a diagram of interfaces and classes. I mentioned the tool “fill” and the interviewer asked me to realize it. Fortunately, I knew how to do it with your eyes closed.
- Describe your view of the good tone in programming. It was an open discussion. I talked about what test methods available and when they should be used (for example: Unit testing, Integration Testing, Acceptance Testing). I talked about a similar style of code. And so on. This can be found in books Code Complete and Effective Java
I truly enjoyed every round of interviews. If I was not prepared, I’m sure it would have been very different. After the interview, I had a very good feeling, I was pleased. But, I heard that even if the recruiters made good, Larry himself must approve the candidate. I was afraid that as soon as he sees my lack of education, then the story was over.
But that did not happen, and one day when I was eating sushi at a dinner in Santa Clare, they called me and I enthusiastically accepted the job offer. On that day, I knew that I would never return to school.