Intro
Quick disclaimers - This isn't a how to get into google
post. I'm just going to try and give my whole story here. Maybe it'll help someone, maybe it's just me looking for attention and validation from strangers on the internet 🤷♀️
I say '~1 year' because I started a coding bootcamp in January 2020, and I got this offer in the beginning of February but basically January 2021 lol. But I did start looking into all of this in November 2019. So if I need to rename this to 14 months - sue me.
I'm not saying I had no experience when I started this whole switch. Experience is impossible to quantify but I think, relative to the entire tech job applicant pool, I had little-no relevant experience. If you compare with other bootcamp students/self-taught coders/career switchers, maybe I had a lot. Some people learn to code without ever having owned their own computer, but some people go into bootcamp having worked professional developer jobs before. tldr
- I acknowledge my privilege and helpful background going into this, but I at least had way less than the people with computer science degrees and/or multiple years of tech work experience that I would be competing with for jobs.
Ok, story time!
November 2019
This is what I consider the most important general turning point in my career, but it wasn't like I had never written a line of code
before this. I used some basic HTML as a kid on Neopets and MySpace. I tried Comp Sci 101 in college (I think it covered Java) but I immediately dropped the class. I could barely figure out how to access my Mac's terminal.
Every once in a while, after taking a personality quiz or reading a book about finding your dream career, I'd go on Khan Academy and check out some beginner videos on computer science and programming. I'd always enjoy it, but feel overwhelmed/too late to switch, imposter syndrome, etc. etc.
I was just about to commit to life as a lawyer. I was signed up to take the LSAT. This is a cheesy thing I say in interviews, but the 'logic puzzles' section of the LSAT actually was kind of the final sign I needed to make the switch. These puzzles reminded me of my favorite course in college (logic for philosophy). I like Boolean algebra, formal logic, puzzles, patterns, proofs, certainty. I knew that this was all very relevant to computer science, so it all just really clicked then - I didn't want to be a lawyer, and I liked what little I knew about computer science.
So I bought and read a book called "The Self Taught Programmer" and learned some basics in Python. I was pretty excited to see Hello World
in the browser - that, and even just using my terminal, was a huge deal at the time compared to the few exercises I had done in a Khan Academy IDE. This simple book was kind of a big turning point for me - it was the first time I really felt like I could do this. For some reason, I just didn't think it was too late/impossible to do a big career switch anymore.
Udacity Course
So at this point I had been doing the totally self-taught, free online resources route. I loved it, but I also got very excited/impatient, so I started to think I needed something more structured. I decided to do a Udacity online, self-paced course in full stack web development using Python.
And I loved that too! I remember the first time I looked at the clock while working on a project, saw it was 3am, and hadn't even realized how much time had flown by while I was actually spiraling down a StackOverflow rabbit hole. I've spent a lot of time in my life staying up late reading Wikipedia, but I had never had a moment like that before. I thought wow, I'm spiraling on the internet, but people get paid for this?
But, I wanted to go fast, learn as much as possible as quickly as possible, and I thought that a structured, in-person course was a better way to do this.
I did some research, some YouTube, considered applying to Master's degree programs because I'm a sucker for academia, but settled on Flatiron School coding bootcamp/full time software engineering immersive in San Francisco.
January 2020 - Flatiron Coding Bootcamp
Important to note - I had a lot of privilege in this decision making process. I had savings, supportive family, a job that I could easily quit, no partner/children - still a big/risky decision, but none of the other factors that make this bootcamp question even harder for a lot of people.
I went from just trying this thing out
to quit my job, move to SF, start bootcamp
pretty quickly. I wasn't that rigorous in researching which bootcamp to do, either.
Maybe I would have been better off somehow doing a different bootcamp. Or no bootcamp! These are endless debates that I have mostly given up on.
Overall, I loved bootcamp because: 1. I just love coding, 2. great instructors/classmates, 3. going into a WeWork building in the center of SF every day (until COVID). It was a cool feeling while it lasted - walking into a building that also hosts Uber/Square, right across from Twitter, learning coding in a welcoming space with free coffee and frequently free food.
I think these reasons are important to note because the whole experience made me think that this would all have been very possible without a bootcamp. It's impossible for me to ever say firsthand, obviously, but my reasons for enjoying the bootcamp were pretty general. Maybe I couldn't have done any of this without the bootcamp. But if you're reading this, wondering if you can do a free/self-taught/cheaper route without one of these big bootcamps - based on my limited experience, I'd say yes. tldr
- I liked my bootcamp, I'm thankful for it, but they're not magic.
May 2020 - August 2020: Start Job Search
I graduated from Flatiron May 8, then almost immediately got into the job stuff. I had sent a few apps before even. I was eager.
I naively thought that if I applied to a ton of jobs, at all sizes of startups and mid-size companies and large companies, sent some simple networking messages to current SWEs and recruiters, kept my mind and options open, I'd at least have interviews within a few weeks.
I could not have been more wrong. I had some really depressed/angry moments where I was just... shocked... at how hard it was to even get a response. I knew the interviews would be hard, but I didn't expect it to be that hard just to get the interview. Or even a phone screen. Even a LinkedIn response!
August 2020: First Offer - Short Term Contract
At this point - I was frustrated with Flatiron as an organization. Even with all the disclaimers/research, saying 'we don't guarantee a job,' etc., I had high expectations. Not that they would get me a job. I never expected that. I never even expected that they would 'get me an interview,' but I thought if I did all the work, on my resume/website/projects/networking, they'd get my foot in the door. And they did eventually! But it took 3 months, and a lot of nagging.
Flatiron has 'Employer Partnership' representatives - people who work with companies to connect grads. Some were really helpful. One was particularly helpful. He set me up with an interview for a small startup that would later offer me a contract job.
So... at the end of the day, I got a job because of Flatiron. I am extremely thankful, but also critical, because so many things had to click into place for this to happen. Main takeaway here - do not expect anything from a bootcamp career-wise.
My main problem with these bootcamps is just that they're overpriced. Not worthless - not even close - not a 'waste of money,' nothing extreme like that. I guess it's similar to debates on private vs. public universities. Some say the private/prestigious universities are truly better education/better opportunities, but ridiculously more expensive.
I like to complain, but I don't think I have regrets. Overall Flatiron was a positive experience, and I am very thankful to the EP rep and my career coach for their help.
This offer was with a very small startup called DaoCloud. They are a platform for connecting/finding wellness practitioners. The entire company was around 20 people, and only 1 other coder, also on short-term contract. I'm not making any judgments about any of this, just throwing some numbers out for comparison.
December 2020: Second Offer
So I had been working for the first startup (DaoCloud) for a few months, as a contractor. Some people like contracting, but I wanted regular full time. There are all kinds of complexities about taxes here that are important, but I won't go into them. Point is - I really liked that first position, but wanted something full-time.
I had interviewed with this other startup (Universe
, an iOS app for mobile website building) in July 2020. They rejected me first time around too! But they said they might be able to offer me a position in a few months. And surprise surprise, they actually meant it! They reached out to me again around Nov/Dec, I had one more informal conversation with someone, and I got an offer to be a full-time software engineer with them! They are also small, but slightly larger than the first. And they had way more engineers, which I liked.
I absolutely loved my time with both of these companies. I truly learned so much. I always used to think learning
and growing
professionally were meaningless cliches that people say in interviews, until they actually happened to me!
I learned things about coding, git, deploying, product management, you name it - in such a short time. I worked with some amazing people. I can't emphasize enough how much I enjoyed these companies and am thankful that they gave me chances when no one else did.
Ok so Google kind of has its whole own timeline. May 2020 - I applied online, but with an employee referral, and was rejected - no phone screen or recruiter contact or anything. I was super mad at the time! I had heard that employee referrals were a big thing, so I thought I'd at least get a chance. I wasn't expecting to get a job or anything, but I expected more than what felt like an auto rejection.
July 2020 - I went to a virtual networking event and talked to a Google recruiter. I am also thankful to Flatiron for this, because the same EP guy who got me the startup interview, told me about this Google networking event.
So I went to this event. Followed up with the Google recruiter on LinkedIn because he said he likes LinkedIn. We set up an initial phone call. He was super nice and cool. I wasn't even expecting anything at this point either! I was still a little ego-shook from being rejected when I applied online, and thought I was just having a networking phone call for the heck of it. This recruiter had also said during the event itself that Google wasn't really hiring (this was peak mid-pandemic time). So basically, I was very surprised when he said he'd set me up with a first round technical interview.
I really am trying not to give any direct advice here, but I will say, in the job search, you have to be shameless and relentless. Don't ever take no
or we're not hiring
for an answer. 99% of the time - it's true, and you're going to get rejected/ignored, but I just had to always remind myself - you have nothing to lose by continuing to ask/try. Worst case is you get ignored. It might seem obvious to some, but it was tough, yet important, for me to actually internalize.
Anyway - back to the first Google interview. I was extremely excited and nervous. I studied my data structures and algorithms to an unhealthy extent. I did practice interviews. I did LeetCode. I obsessively watched YouTube videos of other people doing LeetCode and practice interviews.
And then, I bombed the interview. I had been doing entirely like, binary search trees in Python, and actually, little had I known, this was a frontend specific interview. So the interviewer asked me relatively simple frontend questions, but I absolutely choked/panicked/failed because I just hadn't even thought about frontend or JS or anything relevant in weeks. Not to make excuses, but the recruiter had told me to study the standard DS&A/LeetCode/Python. So you really just have to be prepared for anything in these interviews.
Sept 2020 - the recruiter offered me another chance to first round interview for the general SWE position! I.e., not frontend specific. I was stoked and grateful and nervous all over again. I got a do-over. I spent weeks doing the same level of obsessive studying. I could write a whole other post about the pros/cons of my studying. I had some standard study books, Cracking the Coding Interview, I bought AlgoExpert
and enjoyed it. I strongly believe anyone can succeed at these interviews with entirely free/online resources, and it's just a matter of sheer practice. I liked prep courses/books to keep me structured.
Due to some combo of not studying the right things, simple not studying enough, and/or test-taking nerves, I bombed the interview again. No one to blame but myself. I studied and practiced so much. I understood why you need to spend several months doing 100s of questions to nail these interviews.
So there I was, rejected, told I couldn't apply to these roles again for a year, 3 strikes I'm out. Sad, but I fully accepted it.
Nov/Dec 2020 - A Google recruiter reached out to ME!!! Pure irony. I had lost all hope in Google. I had other job options. She was recruiting for a position I hadn't really heard of before - Technical Solutions Consultant/Customer Solutions Engineer. Maybe unimportant but there seem to be like 5 different names for my position based on official job postings and what my contract ended up saying lol. I could write more about the specifics of the position, but the important takeaway is that this job is generally around half coding, half business consulting/data engineering. She said she had seen my resume on file from my past interviews and I could be a good fit.
I actually laughed and thought, ok Google, trying to get my hopes up again. There's no way I'll get this, and they're just trying to interview as many people as possible. But I might as well take the interview. Nothing to lose.
And wow! I had some of the best interviews of my life. I will never know if it was just having the right attitude, months of studying finally clicked, and/or good luck. I don't think the coding/algorithm questions were as hard as the general SWE one I had, but whatever. I nailed them. I had fun talking to the interviewers. I started to get truly excited about the job and have hope again.
I passed the first round technical, and still thought, wow this is exciting but there's no way I'll actually get it. The process is so long and has so many steps. But the 'Virtual On Site' (main day of interviews) was amazing. I had truly the best interview of my life with my future manager. And still - I had to wait for the 'Hiring Committee' stage!! This whole process is pretty well documented for Google in general. It was pretty standard, but a lot of waiting and still thinking, wow there's a good chance I'll get this job, but don't get your hopes up yet.
But obviously, finally, they offered me the job! I still can't believe it. I was genuinely sad to leave the startup job I had, but this was and is my dream opportunity. At the time of writing this, I haven't actually had my first day yet. So stay tuned!
Conclusion
There's much more I could say, and yet maybe I already said too much. I hope this is the right balance of informative and concise. I could definitely write specific posts about my interview experiences and studying.
I think the 'job search' is all a random mess and there's no good way to give advice here. My only advice is don't give up
🤷♀️
Good luck and thanks for reading!