Getting a job as a dev only felt like a dream. Afraid that it will be like my every other dreams or major goals that I wasn’t able to achieve before, I grinded for 8 months with the anxiety that I’d never make it. Everyday, it crossed my mind that maybe I’d never be good enough to get a job.
After reading so many “I got my first job!” posts, I only dreamt of posting one just like it, and share my journey and struggles to motivate fellow campers that’s going through the same road.
Well here goes nothing
About Me
I graduated from UCLA with a neuroscience degree. I was originally hoping to go to a med school and maybe become a psychiatrist or some kind of surgeon. During my time at UCLA, I literally studied my absolute ass off to keep up with all these smart kids. Eventually, I didn’t want to go through another 6 to 8 years of school and amass a debt debt of half of a million dollar in student loans. So I thought I’d settle for pharmacy school after graduating.
I worked in the pharmacy prepping for pharmacy school. It’s funny because I always hated the pharmaceutical industry, yet I was going into it just for money. While in the pharm industry, I realized how much I hated this most corrupted industry in the US. I definitely couldn’t envision myself doing that for the rest of my life. I decided not to pursue pharmaceuticals. Then I went through a a crisis in life where I no longer had a path or direction. It felt like crap.
I went into a little soul searching, and really asked myself what I wanted to do for rest of my life. Something I could wake up and be grateful that I get paid to do what I love. Of course, software engineer wasn’t something that instantly popped into my mind. But after some researching, and digging deep, I remembered that I was building web pages, playing around with html since I was 5 years old in the 1990’s. My dad brought home a bootleg version of this web creating framework based on a click and drag + html console. I was doing it just for fun. I decided I wanted to give this path a try and see how it fits me.
How I did it
I started in late February/Early March 2018.
I tried Code Academy and freeCodeCamp to start off, and I realized that freeCodeCamp has a great platform to learn. It forces repetition and has a very structured curriculum. It forces you to use what you learned in the previous lectures. Some problems, you can’t pass unless you REALLY know what you just learned. But there were so many times where it felt like “The apple weighs 100g. Now calculate the mass of the Sun.”
At first, for about 3 months, I couldn’t get myself to code for more than 4 hours a day. It was a struggle to keep going. I had trouble developing real passion for coding, because it is hard to see the big picture when you are just learning JavaScript. One down side of freeCodeCamp for me was that it didn’t teach DOM manipulation as much, or show exactly how to add a to a website, how to target for event handlers, handling input, event listeners, etc. I had to look at a lot of youtube videos to learn all the concepts. It was hard to develop passion for something that I didn’t understand deeply about.
freeCodeCamp isn’t perfect, but eventually it will be.
Nonetheless, it provided me with amazing platform to learn on.
After 3 months, I started to transition from 4 hours of coding to all day. When I wasn’t working, I’d be coding.
This was only possible with the development of some passion. At this point, I was watching a LOT of youtube videos (I will list all the good ones later) and Udemy videos. Eventually, coding consumed my life. I had a tendency to be addicted to something. I had game addiction problem my whole life, and I always ranked high in whatever game I was addicted to. I became addicted to coding. And when I’m addicted, I let the addiction consume me. I developed an immense passion for coding at this point.
Even though I loved coding at this point, I was always challenged with frustration and impatience. I was unwilling to learn at times, or aim big for projects because it might be too hard. I wanted the job so fast, the desire for a job actually distracted from my studies. But I still managed to keep focus most of the time and got right back on the track.
I went on like this until 6th months, and then I started to apply. My website was pretty simple, and my projects were mediocre at best. I thought they were cool enough to get attention. Then I didn’t hear back from anyone for about a whole week. Applying on Indeed and LinkedIn, ZipRecruiter, and even craigslist. CyberCoders replied to my application asking “Where is the 3 years client based experience? Am I missing something?” Rekt.
I was pretty heartbroken. Stupid, I know, I guess I thought it was that easy. It was a reality check. You better be impressive if you have no experience. You better be at least impressive for a guy with no EXP to the point they can’t ignore you. So I expanded my game. I achieved for harder project goals, with more technologies, and started to hammer the back-end knowledge. I developed a full stack app that you can post things with log in and log out function, and I also developed a sequencer with React.
Learning the back-end allowed me to see even the bigger picture of web development. There was this huge area of web development where I was just not even scratching the surface. The backend knowledge made me a better front-end developer. It taught me how REST APIs are generated, and how the authentication process really works. That allowed me to understand fetching datas better, how to render that onto the front-end, and it made me a much better object-oriented programmer. I understood how most aspects of JavaScript fit into web development, and I was able to create better apps, and come up with better project ideas. It allowed me to see more possibilities of what I could do.
2 months later, marking it my 8th month, I started to apply again. Before applying, I totally overhauled my portfolio and used everything I learned up to that point. It came out just the way I wanted, and I loved it. My friends loved it. After I applied I started to get many more responses. I got my first in-person interview for a start up, and the interview lasted about two sessions. Then I got the offer sheet. I was so relieved and happy that I could finally start to get paid to do what I love. I was so grateful and humbled.
Conclusion
This path was definitely not easy. It required me to constantly challenge myself on a daily basis. Everyday was met with frustrations of learning. It required great discipline to stay focused. In the end, it was worth it, and I can’t wait until I learn much more and keep moving up, and hopefully work for companies like Amazon, Google, or Facebook one day,
Tips
- Don’t focus on getting the job. Focus on being a great developer. The job will come if you are good enough. Don’t let the desire of wanting a job get in the way of your learning, like it did with me.
- Watch a lot of Youtube videos and practice it. After I finished up to the React section, most of my education were from Youtube, documentations, and Udemy.
- Practice. Practice what you learned. If I watched a youtube video where I just code along, I try to think of a project that is similar, but not exactly the same. If a video showed me how to build a whole project, I code along the whole thing, and once I understood everything, I try to create my own project, while using the video as a reference.
- Always aim for harder projects. Use projects with different libraries, like Redux, and a middleware like redux-thunk… axios… external libraries. Then maybe learn how to use Express on Node, and MongoDB.
- Don’t be afraid to use libraries. You should definitely aim to understand what you learn inside and out, and should know how to do everything without the library. But during the hiring process, he noticed that I imported a lot of stuff from Material-UI. And I said it cut out a lot of time to build my project, even though I could build it without all the additional components from Material-UI. He told me he prefers me to use a lot of external sources, because he pays me to get the job done, not to create something on my own.
Edit:
6. Get started on HackerRank. It’s a great website to practice your algorithms, and people get interviews based on your HackerRank stats sometimes.
Youtube and Udemy courses
I plan on being a patron for these youtubers:
TraversyMedia
NetNinja
Academind
These Udemy courses really helped me out:
JavaScript: Understanding the weird parts by Anthony Alicea (a MUST watch… MUST!!)
React 16 by Maximillian (great react course. Has almost everything about React)
Complete Node.js by Maximillian
My portfolio
Feel free to ask me anything!