Since Kevin Weng graduated from Hack Reactor he has worked as a software engineer at Gliffy, Lyft, and now Google! Three years ago, Kevin felt stuck in his Mechanical Engineering job, so he decided to attend Hack Reactor’s full-time coding bootcamp in San Francisco after hearing glowing reviews from multiple friends. Kevin walks us through how he made his way from bootcamp to Google, how Hack Reactor prepared him to keep learning on the job, and shares some tips for other aspiring career changers!
What’s your background and what led you to go to Hack Reactor?
I studied Physics and Mechanical Engineering at the University of California, Berkeley, then got my master’s at the University of California, Los Angeles in Control Systems. After graduate school, I worked in the Bay Area as a Mechanical Engineer. I quickly realized I was not prepared for my job. Berkeley and UCLA prepared me for theoretical work in a Ph.D., rather than actual mechanical engineering.
Two and a half years in, I was not getting what I wanted out of my job and career and I felt stuck. Switching to software seemed like a no-brainer. Control Systems was mostly writing code to solve problem sets, so I was quite familiar with coding from the beginning. All of my friends in the Bay Area were software engineers – five of them went through Hack Reactor and all spoke glowingly about their experiences. Since so many people highly recommended Hack Reactor, that's the one I went with.
With your background in tech, why did you feel like you needed to attend a coding bootcamp?
For most of my life, I’ve needed to go through an education system to get to the next step. I did not feel prepared to dive into a junior software engineering position without any formal training. I definitely needed some hand-holding and guidance to feel like I could change career paths.
Coding bootcamps don't fall under the same hierarchy as higher education, which was what I was used to, so in choosing one, all I had to go on was the school advertisement and alumni reviews. It all seemed a bit vague. I looked at App Academy and a few others, but I ultimately picked Hack Reactor because so many people whom I knew and trusted had gone through it.
What was the learning experience like at Hack Reactor?
The program was broken up into two sections. The first section was structured learning and the second section was a project learning.
The first section had one or two lectures per day. It was different from a college course where you would go to a lecture, receive homework, then go home and do the homework. In large part, it was self-driven, self-learning. They give you the material, the mental model, and exercises, then you learn it yourself. How much you learn relies entirely on how much effort you put in.
Learning how to read documentation and learning how to struggle and come out the other side were the most important lessons for me. In traditional schooling, if you don't know the right answer, it is usually somewhere in a book. You can find it. In coding, there is not always a “right” answer. There are multiple ways to get to an answer. But once you've solved it once, you can solve it a second time. What I valued was the environment that allowed me to learn by fearless trials.
What was your coding bootcamp cohort like?
My cohort was super cohesive! Our schedule was Monday through Saturday, 9am to 8pm, so we spent a lot of time together. Everyone worked hard and helped each other out. It was a close-knit environment. People leaned on each other. Sometimes we literally cried on each other's shoulders.
The cohort was not super diverse. There were six or seven women out of a cohort of almost 30. In terms of background, there was a wide array – people came from finance, mechanical engineering, chemical engineering, philosophy, and there were a few people who had dropped out of computer science degrees. We all had some kind of technical background and I think our similar backgrounds helped our cohort bond more closely.
How did the Hack Reactor team prepare you for the job hunt?
They gave me a ton of career advice. I got zero career advice at college; Hack Reactor was the exact opposite! We had a resume workshop where we looked at resume structure, bad examples, good examples, and reasons why resume strategies work. The best advice was that every sentence should answer the following questions: What did you do? Why is it important? What skills did you demonstrate? Why should they hire you? It really stuck with me.
Hack Reactor instructors also conducted mock interviews which we practiced with our cohort mates. They provided a list of coding challenges and we went through one per day to prepare for coding challenges in job interviews.
There was a lot of psychological support, too. Hack Reactor did a great job of emphasizing that continuing to apply to jobs was important because my chances increase with every position I apply for. Their encouragement to not worry about rejection pushed me to keep applying and know that I would eventually get a job. When you’re rejected multiple times most people start to feel discouraged, or feel like imposters. Hack Reactor made sure I did not fall prey to that negative spiral and that I felt like I was good enough.
The outcomes team tracked every job students applied to and would encourage students to apply for more. They set a target goal of how many jobs to apply for based on statistics of previous cohorts and calculated the chance that one would get a position based on how many jobs were applied to. They also helped with salary negotiation! They know exactly what the job market looks like. They even showed us what salaries previous students were offered, what we should expect to be offered, and how to avoid taking a low-ball offer.
How did you land your first Software Engineering job after Hack Reactor?
I applied to as many jobs as I possibly could. A small company called Gliffy gave me my first offer. Once I had the offer from Gliffy, I got two other offers at the same time – all for the exact same salary. Hack Reactor helped me negotiate my starting pay and a signing bonus – which none of the three had originally offered.
Did you feel like Hack Reactor prepared you well for that role?
Hack Reactor gave me the confidence that I could figure it out, no matter how difficult the problem was. Technically, there were a lot of things that I still didn't know after graduating from bootcamp. Hack Reactor acknowledges that at the end of the three-month coding bootcamp I am not going to know everything but that I'll know enough to find a job. Had I known back then how much I didn't know, I would have felt unqualified, and may not have even applied. But having the confidence that I could figure it out helped me get to that job and once I was there, I learned so much.
What was your process for moving onto your next jobs after that one?
I stayed at Gliffy for about a year and a half as and was promoted to Senior Software Engineer. I was building some cool features and helped them launch an alpha version of a second product. I learned a lot there but a lot of people that I had learned from and looked up to had left. There had also been several upper management shifts. I knew that if I entered a new environment I would learn a lot, and my priority was to learn a lot. The second time job hunting I did not apply to nearly as many jobs as I did the first time. It was much easier and I aimed for slightly larger companies. I prepared with InterviewCake, which I think is super helpful.
What was your next job?
I joined Lyft in 2017 and I was there for about a year. I was a front end engineer working on their driver application and referrals team. The referrals project was a lot of full stack problem solving and revamping the existing driver-to-driver referrals system.
What was your process for moving on from there to Google?
I heard this from someone, and I found it to be true, first hand: "People don't leave jobs, people leave managers." In the second half of my time at Lyft, I wanted to move to a different team and manager within the company, but that process wasn’t feasible at the time. I hadn’t been thinking seriously about applying to other companies, but recruiters had been reaching out to me. When I first applied to Lyft, I had also applied to Google. Lyft's interview process went a lot faster, so I ended up there. A Google recruiter reached out to me while I was still at Lyft and asked if I would be interested in joining one of their teams. I went through their recruitment process (phone call, technical interview, onsite interview) and that was that!
What is your role now and Google and what are you working on?
Currently, I'm on the Google Pay team working on Peer to Peer Payment. I'm a full stack engineer there working mostly on the website and servers. The roles are quite flexible on my team. They truly see me as an engineer. I can do web or mobile, front end or back end, everything. I work mostly on the web stuff at pay.google.com.
Are you using the stacks and programming languages you learned at Hack Reactor?
At Lyft, the front end is in React, which was great because I knew that from Hack Reactor. The back end at Lyft was mostly in Python so I picked up Python there. I know enough to read and write some but not enough to call myself an expert by any means.
Did Google give you some training when you started on their proprietary frameworks?
Yes and no. At this point in most companies, the languages and tools are so advanced that it's easy to pick up. There is a lot of documentation on how to do certain things like design patterns. Unless you are starting something from scratch, a deep understanding of the language isn't super important. A shallow understanding is enough to get the job done. If you want to dive more into it then you need to put in the self-learning work. They do provide support for you to learn but it's mostly learning on the job. They definitely offer some training workshops here, but I am relatively new and have not attended any of them yet.
Since you graduated from Hack Reactor a few years ago, how do you feel you've grown as a developer?
My breadth and depth of knowledge in software have grown. Where I feel I've grown the most is in perspective. I used to beat myself up over something if I didn't get it and felt like I needed to learn everything about everything. Over time I have realized that there is too much out there and I’m not going to be an expert in every aspect of software development. I've grown in the sense that I make sure I know enough to get my job done and I don't stress about the rest. When I was at Hack Reactor and when I first graduated, I was in the state of mind that I needed to prove my worth and therefore needed to know everything. My confidence in my skills has grown as well.
Have you found your background in mechanical engineering to be useful in transitioning into a software engineering career?
My background as a mechanical engineer helps me in explaining concepts. I have received consistent feedback that I am able to communicate a relevant software engineering idea to non-software engineers, like designers and project managers. In larger projects with larger complexity, this has been helpful.
My education background has also helped me understand, and have the confidence to say that I will be able to understand pretty much any code. My education background has shown me how the sausage is made in the sense that I know how this comes about, it's not a magic box. I understand the technology and the process of how software is built. Nothing is too daunting because I’ve seen how it works at every step of the process.
When you look back at the last few years, what role has Hack Reactor played in your success?
I absolutely do not think I would have been able to get to where I am via self-teaching. I'm a rather lazy person and I think the motivation that I had at the time, coupled with Hack Reactor's intensity and the environment that was made for concentrated learning drove me to work harder than I've ever worked before. Without Hack Reactor I don't know that I would have gained enough confidence, skills, and pep talks to actually get to where I am today.
If I did self-learning, I think my first job would have been a junior engineering position and my career would have depended on how my first job turned out. If I had a bad experience in that first job I don't think I would have stayed in software engineering.
Have you stayed in touch with Hack Reactor or your cohort at all?
I keep in touch with Marlene who runs the outcomes team at Hack Reactor. I keep in touch with my cohort mates and we get together once in a while to catch up.
What advice do you have for other people who are thinking of making a similar career change through a coding bootcamp?
Make sure you have all of the motivation you can muster. At the end of the day, making this change is a lot of hard work and the success of this change depends entirely on how hard you work. If you're not motivated and not prepared to work that hard, I don't think any bootcamp is going to be successful for you. Find a bootcamp that puts you in the right mental mindset.