Let’s try this coding thing — Part 2, Accepted Job Offer

Written by jonathanahnjs | Published 2018/02/18
Tech Story Tags: programming | coding | software-development | codingbootcamp | job-hunting

TLDRvia the TL;DR App

How I landed my software engineering job after graduating from a coding bootcamp.

Victory!

I am now officially a Software Engineer. For anyone thinking about entering a coding bootcamp, currently in one, graduating from one, or for anyone pursuing a career in tech, here’s what I’ve learned from my 9-month journey from not knowing anything about coding to landing my first job as a Software Engineer at Unified. For those of you who are interested in how I started to code, feel free to check out the first post on Let’s try this coding thing, otherwise, read on!

Life after coding bootcamp

After graduating in mid-December 2017 from Fullstack Academy in NYC, I immediately started applying to jobs and studying heavily. I knew that I had to keep the momentum rolling, in order to use the habits and daily routines I’ve inhabited throughout my time at Fullstack Academy, to maximize productivity and eventually, land a job.

I tweaked some of these habits/routines to work better for me. They might not work for you, so keep tweaking them until it’s just right for yourself. Remember, everybody is different, that includes you. Don’t assume that one thing, is going to work for everyone.

My Daily Routine

Cafe Browny. Every single day, I would walk a block from my home to this cafe and stay there to study for hours on end. And sometimes, I left at closing (at 11PM). For me, getting out of the house to go to Cafe Browny was supposed to simulate having an actual job and commuting to it (even though it was only a block away). I wanted to adopt a mindset of leaving a comfortable space to go somewhere not as comfortable and being okay with that. Plus, I also made some new friendships with the baristas and got to know them and learn more about them and their lives. Now they know, I drink my coffee black with no sugar with a french vanilla muffin or a banana-chip muffin. It depends on the day.

Study. I studied and practiced coding as if my life depended on it, which it did. On average, I stayed at the cafe for 8–12 hours. However, it wasn’t about how much or how long I studied but it was about how well I studied. The longer I stayed away from home inside this cafe, the chances of me studying increased dramatically. Not only that, the chances of me reaching that zen-like focus, came more often inside an environment where I am more susceptible to keeping myself busy. As a result, I created a habit of coming to the cafe. EVERY. SINGLE. DAY. Gradually, I studied harder, stayed focused for a longer period and retained information better.

Fun. Just like your body needs to rest for the next day, your mind also needs to rest**.** Make sure you take frequent breaks. I didn’t study for 8–12 hours straight if that’s what you’re wondering. I took breaks. Sometimes, as long as 2-hours. I listened to music intensely (Chopin, Tchaikovsky, Dvorak, Duke Ellington, Miles Davis, Bill Evans, Wynton Marsalis etc.), talked to my baristas, walked around, walked outside, stared at a wall and imagined it being a painting or drawing of some-kind, and I did the same thing with the ceiling. I went out and played billiards with some of my best coding buddies, we watched movies together, we got drunk together, we played board games, we ate food together, we just enjoyed life and did something other than coding. Occasionally, I cheated and brought up the JavaScript jokes.

What I studied..and dabbled in.

Something new.

  • Python from Codecademy. I wanted to pick up a new language and researched some popular ones. Python was a top choice amongst coders. After finishing the course, I learned Python3 from reading documentation and practicing on Codewars (Codecademy teaches Python2). Also, Python just sounds really cool too.
  • Docker, for a DevOps position I was interviewing for. Even though, I didn’t know what DevOps was at the time or what it even stood for. I went through the Docker Tutorial and deployed a Docker Swarm on AWS using an EC2 instance. Yea, don’t worry, I didn’t understand what that was either.
  • GraphQL using an Apollo Client, as an alternative to REST. This technology is amazing and solves the problem of under and over-fetching data from an API (I always forget what the ‘A’ stands for in API even till this day). I would keep an eye on this technology.
  • Hapi.js as an alternative to Express.js. => (:
  • JavaScript. This is what I learned at Fullstack Academy and they taught us extremely well. However, JavaScript continues to be improved overtime. I subscribed to JavaScript Weekly and read everything and anything I could related to the JavaScript world. If I saw something with ES2057, I would read that too. Even though it’s only 2018.
  • Cracking the Coding Interview, 6th Edition. There’s a reason why they call this the Green Bible. I recreated almost every Data Structure from scratch. From Linked Lists to Binary Search Trees. I went and recreated the methods needed to iterate/traverse, search/find, append/add, remove/delete, etc. for the appropriate data structure. Data Structure & Algorithmic knowledge was by far, my weakest skill in my coding arsenal.
  • LeetCode. This will teach you algorithmic thinking. I did as much as I could before each interview. I went slow. I did my best to really understand each optimized solution. I coded it over and over until I really understood the algorithm. I practiced as if it was given to me during a whiteboard exam.
  • Messed around with Django, Vue.js.

The whole point of learning something new was to become comfortable being uncomfortable. As a software engineer in the development world, I am constantly going to be learning new things every single day. I might as well get used to learning. No one knows everything. Every single day, I learn about a lot of stuff I don’t know. It’s better to know how to learn something than memorize it. Just remember, technology moves along fast. It’s not going to wait for you. And when I don’t know something, I just google it. I read documentation, go on Stack Overflow and read Medium articles on how other people solved the problem I was facing.

Job Applications..this is what I did

Applying. I applied to about 10–15 jobs per week. It wasn’t as much as I wanted to or as much as some people (like those App Academy grads who beast out and apply to 40 per week). However, I did as much as I could and spent more time studying and practicing coding. I used Indeed, reached out to real people via LinkedIn, talked to previous Fullstack Academy alums, went to meet-ups, joined a Christmas Holiday party at a dev-shop in Brooklyn, NY where they hired a bunch of Fullstack Academy grads and applied to a company’s direct site. The best way, is to reach out to real people and get in touch with people who work at the company you want to work for or are applying to. Your chances increase dramatically if you do. You can read this article by Felix Feng where he describes his job-hunt experience after graduating from a coding bootcamp himself. I read it twice.

Handling Rejection. I applied to about 75–80 jobs in total before landing a position as a Software Engineer at Unified. Along the way, I either received a rejection letter from the company via email or no response at all. The entire interview/job hunt process was brutal and it was demoralizing. However, I did not let that stop me. I expected it. I kept pushing through and continued applying to jobs, doing online coding challenges and completing coding assignments that companies sent me. In total, I had 7-onsites, 3-last rounds, 2-offers and accepted one position. Don’t stop applying to jobs until you sign an offer. Keep your pipeline flowing, stay focused and brush away rejections and move-on. Just like if a girl says no to you for asking her out. Don’t take it personal, acknowledge it, accept it, brush it off and continue.

Key Takeaways

  • Be brutally honest with yourself. If you don’t know something and you know it’s important, just acknowledge it, accept it, then start to study the material. For me, that was Data Structures & Algorithms.
  • Study and practice coding as if your life depended on it. It’s not about how much you study but how well you study. Quality over Quantity.
  • Stay hungry and stay humble. You will never know everything and there is so much to learn. Master this concept deeply.
  • Brush off rejections like a bawwssee. Don’t get so tied up over one company. Keep applying to jobs, complete challenges, take coding assessments, keep interviewing and don’t stop until you accept a job offer.
  • Get comfortable being uncomfortable. Train your mind to learn how to learn new things. It’s a skill. A very valuable one. Not only for coding. This is a marathon not a sprint.
  • Have fun. Go out and enjoy your life and do something not related to coding. That includes telling JavaScript jokes. Well…maybe.

The women who helped me

I would not be here today if it were not for the many incredible women whom I was lucky and fortunate enough to meet and have in my life. Some of whom are incredibly brilliant software engineers who can code in circles around me all day long. Especially, my mother who gave me her all, her 100000000000000000000% and her love. If she were here today, she would probably lecture me and hit my head with a fly-swatter and say that I could’ve done better, or I could’ve studied harder to build a human teleportation device so we don’t have to take the 7-train and deal with the MTA. But this is what I miss and love about my mom. She is the sole reason I push myself every single day. She is my hero.

A very special thanks to Eri Yamamoto, Catalina Lim, Gina Oh, Elizabeth Kelly, YooBoo Park, Susan Yang (Freckles), Jeanne Castillo, Hyunjoo Kim, Raina Fiore, Joelle Consentino, Yuki Wu, Stephanie Ha, Samantha McGuinness and many others.

This week will be the completion of my very first week as a Software Engineer at Unified! I’m extremely fortunate, grateful and blessed to be a part of an exceptional company, team and community.

The interview process is brutal and it’s tough. But remember to stay focused, eyes on the prize and recall that it’s a marathon, not a sprint. This will remain true even after you land your software engineering job. Stay hungry and stay humble, keep putting in the work and you will reap what you sow. Be kind to others everywhere you go. They could end up being at your next interview or your next job. You never know! Stay awesome, believe in yourself. You can do anything if you want it bad enough and put your mind to it. You’ll be unstoppable.


Published by HackerNoon on 2018/02/18