Another "I got a job" post!

I never thought I’d be writing this, but I recently acceped a job as a Software Engineer. I just wanted to share my story like all the others I’ve eagerly read here.

Starting off

I started messing around with programming not really thinking I would ever do it professionally. I did Codeacdemy’s HTML and Javascript courses, and boy was it long, tedius work. I eventually enrolled in CS50 and that was a totally different experience. Instead of checking the clock to see how long I had been coding for, time just blended away as I tried to figure out the next step in making my projects. I was an elemetary school teacher at the time, and working through CS50 made me want to switch from more general classroom subjects to teaching technology full time.

I found a job I loved where I got to introduce kids to code through Scratch, HTML & CSS, Arduino, and more. It was great, but as I got more into the technology, I realized I wanted to pursue that more thoroughly and switching from teaching to programming began to appeal to me. I checked out some boot camps, but in addition to the cost, I didn’t want to wait for the school year to end to learn more web development and then also have to uproot my life in order to attend one. I eventually found Free Code Camp and figured I would give it a try.

Free Code Camp

When I started FreeCodeCamp it was in the old format with three sections: Front End, React/Data Viz, and Backend. I loved the project approach, and it reminded me of working through the projects in CS50. There was a great feeling of accomplishment whenever I completed one, especially finally finishing up the Front End section with my Simon game.

I started the React section but had trouble making the jump from having just an index.html, style.css, and main.js to installing packages with npm, and having all these commands to run, all while learning a whole new syntax and way of thinking about the DOM. I skipped React for the time being and went to the Node section. This gave me a much more solid footing as I learned how to use npm and run a server with Express (with the help of this book). After building some of the projects there, I went back to the React section, coupled with Andrew Mead’s React course and had a much better time of it.

After Free Code Camp

I didn’t really plan it like this, but I sort of dropped out of Free Code Camp halfway through the React and Backend projects. I found Chingu and enrolled in one of their voyages. This was a great experience, and I highly recommend it to everyone. It was awesome to learn from other people, being introduced to concepts that you wouldn’t necessarily think of on your own. It also made me much better with Git. I had used git before, but only on my own. Using it with multiple people, navigating pull requests, branching, etc was a whole other beast and something that was nice to learn. It was the first larger, full-stack app that I helped build, and it set the foundation for other apps I made in the future.

Around this time, I considered quitting my job and looking for a developer position but decided to do one more year teaching. Looking back, this was the best decision I could have made. It allowed me put some real projects under my belt and be on a much stronger foundation when I started applying for jobs. During the year, I built three full-stack apps that were used by actual people. The first was a MERN-stack educational app for my students. I teach with a lot of videos, so I built an app where students can log in, watch videos, complete requirements, and track their progress. It also allows them to share projects with each other and vote on ones they like. While I was working on this, I volunteered to build an app for my girlfriend’s university with React Native (Stephen Grider’s course helped me a lot) as well and build a modified version of my education app to fit their purposes. To switch it up, I built the latter with a serverless, AWS backend (this also helped me) and Gatsby. When I was applying for jobs, these projects were a huge help and represented a large portion of what I talked about with my interviewers. This April, I decided that I was ready and told the principal that I would not be coming back next year.

The Job Hunt

I live in a medium-sized city (200,000 people or so) about an hour outside of a large tech hub in the US. Wanting to both continue to live my current city and work with React, I applyed to the handful jobs that that fit these criteria. If those didn’t work out, I planned on concentrically working my way out from where I lived. I sent out three applications and got two responses back fairly quickly. I’ll call the two companies Clarissa’s Coding Collective and Pauly’s Programming Pals.

  • Getting to know you call: Both places had an intial getting to know you call. With Pauly’s Programming Pals, it was 10 minutes, just a brief talk about my history. Clarissa’s Coding Collective was about 20 minutes, but they asked me a couple technical questions as well

  • More in-depth interview Both places contacted me to set up a second interview. Pauly’s Programming Pals: This was done over Zoom (a Skype-like conferencing app). There was about 40 minutes of talking about programming and what I had worked on before. After that, they gave me a couple of code questions to do while they watched. I had done some practice on LeetCode, which was helpful since programming after talking for 40 minutes is hard.
    Clarissa’s Coding Collective: For this, they brought me in for an in-person interview. I had different people come in and talk to me. There was some general knowledge, a little getting to know you, and a little whiteboarding. During the whiteboarding, I found it interesting that they didn’t care at all about syntax. I just started writing comments, and they asked me questions from there.

  • Setback! I got an email from Pauly’s Programming Pals that they were putting off their hiring until August. However, if I was still looking then they would love to have me continue the interviewing process.

  • Take home project: I got an email from Clarissa’s Coding Collective saying the interview went well and they would like me to complete a take home assignment. Reading about these projects, they seemed to be a little controversial, but with all the time I had put into doing projects for free, it seemed like a drop in the bucket. It required me to parse some XML, which was a first for me, and create some data visualizations out of it. I ended up putting a solid amount of work into it and handed it in a week later. A week after that, they set up a call where they told me they liked what I had done and wanted me to come into the office again next week.

  • Second time visiting the office: This was a lot easier than the first interview. I met a couple new people, went out to lunch with the engineering team, and met with the CEO (it’s a small company). After that, I went to my interviewer’s office, where he offered me the job. It was tough to keep my composure as he went through everything and told me the salary, which was considerably higher than what I was making teaching. I took the offer home over the weekend and accepted it Monday.

In the end, I sent out three applications, and the entire job hunt took about a month. This exceeded every expectation I had, and I’m still amazed everything worked out so smoothly.

Additional thoughts

  • I preferred Colt Steele’s Algorithms and Data Structures course, combined with practice on LeetCode, to Cracking the Coding Interview: A lot of people seem to like this book, but for me Cracking the Coding Interview didn’t provide enough explanation of the data structures, and I constantly had to read a bunch of Medium posts to augment what was in the book. Colt’s Udemy course gave me all the context I didn’t have in CTCI. Doing automated challenges on Leetcode, in Javascript, was also a much better experience than going through the Java examples in CTCI.
  • Andrei Neagoie’s Advnaced Javascript course synthesized everything for me better than the You Don’t Know Javascript: I like You Don’t Know Javascript and think it’s a great resource. However, it can be a bit long and dense to work your way through all the books. Andrei’s course covered similar topics, but was easier for me to digest and actually remember the concepts while programming and interviewing.
  • I didn’t get my job through networking: I highly recommend going to meetups and meeting likeminded people. I had a great time, got advice, and was introduced to topics I wouldn’t have been otherwise encountered. However, I never really got any job leads out of these. I got my interviews through Indeed and ZipRecruiter.
  • Podcasts helped me in interviews I listen pretty regularly to Syntax and occasionally to Shoptalk and Front End Happy Hour. I feel like they give a really nice run down of what’s new in the Javascript landscape and allow me to talk about topics, even if I’ve never actually built anything with them. One of the interviewers said they liked that I knew what I knew and knew what I didn’t know. I think this is directly related to listening to podcasts every week.

During this process, there was always a fear that it wouldn’t work out. That I didn’t live in a big enough tech hub, that the market was saturated with self-taught devs and new bootcamp grads, that I wasn’t wasn’t getting all these amazing job leads through networking like everyone else, etc. However, with a ton of patience and hard work, it did work out (at least for now!) I want to thank Quincy and all the people who maintain the project and contribute on the forums. This is the kind of thing that makes the internet great.

16 Likes

Congratulations!! and Thank You for sharing what worked for you. I struggle with the going to meet ups aspect as I’m a busy Mom and literally have no time. There aren’t any meet ups near me.

1 Like

You sent out 3 applications, 2 got back to you, and 1 hired. Meanwhile, I hear stories about people having to send out hundreds of applications, doing dozens of interviews.

Impressive.

1 Like

lol months turning into years for me but im probably just bad at job hunting and my portfolio sucks

Yes! Another great story of someone reaching their goal. Congrats!! And good luck.

P.S. Chingu was a very fun experience.

Hi Kevin,
How long did you take to learn all of them?

I wrote my first line of code about 5 years ago and was more or less just dabbling around. The time from when I got more serious and started Free Code Camp to when I got my job was a little under two years.