The post was originally published on ExplainThis with title 《My Journey from Designer to Big Tech Frontend Engineer》
This is a blog post on my experience from a designer to a frontend engineer at a big tech company. I pivoted my career three years ago. And now I am working at a big tech company as a frontend engineer. My journey wasn't smooth-sailing, and I hope it gave you a more realistic picture on switching career to frontend engineering.
My motivation to learn coding
When I was a student, I chose to major in Econ. I didn't choose it because I loved it, but because I didn't know what to choose. After declaring my major for a year, I regretted it. I wasn't interested in the classes I took. Most of my friends went to banking or consulting for internship, but I didn't think those were for me.
A pivotal moment in my college life was that I took a design course, and I absolutely loved it. I loved that I could design something out of nothing, and design a solution to solve a problem. That's why I decided to start my career in design after graduating from college.
Working in the field of design, I sometimes needed to work with engineers, especially with frontend engineers. When I worked with them, I always felt they were cool, because they were doing something I had no idea about. I'd never learnt anything related to coding and programming. I couldn't understand any line of codes they wrote. Nevertheless, it's still fascinating to me because my frontend engineers colleges always turned my design idea into reality. Without the help from them, my design wouldn't be able to interact with the real users. This experience planted a seed in me. I started to think about learning how to code.
How I got started
In the very beginning 2019, I asked my frontend engineer colleges what to learn. They recommended me HTML, CSS, and JavaScript. In retrospect, I think this is generally a good recommendation. There are many programming languages you can learn. But if you want to work on the frontend, you probably don't need to learn Java or Python despite their popularity.
I bought a few books on HTML, CSS, and JavaScript. However, reading books are not very helpful to me. So I tried to search for different learning materials. That's when I found freeCodeCamp. I like that in freeCodeCamp, you learn coding in an interactive environment. I think this is particularly important. You must learn coding by doing. Reading books or watching tutorials are not enough. In fact, there is a term called Tutorial Hell. It refers to people who watch a lot of tutorials but code nothing It's like a hell because you would never truly learn how to code by doing so.
Committing myself to frontend engineering
After around 6 months of learning during night and weekend, I felt I've grasped the basic idea of coding. I started to think about switching my career from design to frontend engineering. However, I wasn't very sure about the jump. So I took a safe route, I went to a part-time online coding bootcamp. It's part-time so I didn't need to quit my day job, but it's still very intense.
When I was in the bootcamp, I felt very tired every day. After working for 8 hours a day, there wasn't much energy left for the assignments and projects from the bootcamp. But I didn't give up, because I thought of it as a test. I wanna to see if I really like frontend engineering. If I gave up, then it meant I probably didn't like it as much as I thought. I always like the brick walls quote from Randy Pausch. It was what I told myself during the coding bootcamp.
"Brick walls are there for a reason. The brick walls are not there to keep us out. The brick walls are there to show how badly we want something. Because the brick walls are there to stop the people who don't want something badly enough." -- Randy Pausch
By the end of the bootcamp, I built two projects and put them on my resume. One was a simple Twitter clone, and the other was a simple Yelp clone. I built them using JavaScript with React for the frontend, and Node.js with Express for the backend. Since my goal was to get a frontend engineering job, I put much more time and effort on the frontend part, making sure both the design and the code look good for the frontend.
Imposter Syndrome in my first job
I was able to secure a frontend engineering job after graduating from the bootcamp in March 2020. I have to say, getting a job is just a beginning. Compared with my time at bootcamp, it was much harder in the first few months in my first frontend engineering job. In my first job, I experienced what people call Imposter Syndrome. I still remember I received more than 20 comments in my first pull request. It made me feel like I did not know how to write code.
If you are feeling the same in your first software engineering job, don't worry about it. I know it's hard, but it's only temporary. When you gradually get yourself familiar with the codebase and coding convention in the team, things will get better. Trust me!
First FAANG offer
In 2022, I got multiple offers from different big tech companies, including FAANG companies (Amazon) and the largest unicorn startup in the world (TikTok). But I am not going to sugarcoat it. It wasn't smooth at all. In fact, I gave big tech companies a try in 2021 after gaining two years of full-time experience in frontend development. But I got 0 offer.
That's why I spent almost a year, preparing both LeetCode style interviews and frontend interviews. That's also the reason why I built ExplainThis with my friends. ExplainThis is a free interview prep website, aiming to help people like me to prepare their interview well. We've curated the most common interview questions and solutions, and we share them for free. I believe if a normal guy with only a liberal arts degree like me can get an offer from the big tech company, you can do it too!
Struggle optimistically
It's a long 3-year journey, but when I look back, there wasn't a single moment that I regret. Even though I am in a big tech company now, I still feel struggling all the time. Especially seeing the recent layoffs from almost all big tech companies, I feel very insecure to be honest. But I know, I cannot control what I cannot control. What I can do is keep learning and growing.
I'm optimistic though. Software is still eating the world. Even though most big tech companies are cutting jobs, there are still many opportunities in non-big-tech companies. So if you are also struggling now, let's struggle optimistically together. And if there is anything I can help you with, send me an email at hello@explainthis.io 😊