Date: Mon, 27 Nov 2017 21:26:11 +0000
<p>Quincy explores Felix Feng's journey from bootcamp grad to professional developer, and how he went from getting $60,000 job offers to $125,000 job offers through sheer practice and persistence.</p> <p>Article by Felix Feng: <a href="https://twitter.com/felix2feng">https://twitter.com/felix2feng</a></p> <p>Read by Quincy Larson: <a href="https://twitter.com/ossia">https://twitter.com/ossia</a></p> <p>Article link: <a href="https://fcc.im/2iX0LtS">https://fcc.im/2iX0LtS</a></p> <p>Learn to code for free at: <a href="https://www.freecodecamp.org">https://www.freecodecamp.org</a></p> <p>Intro music by Vangough: <a href="https://fcc.im/2APOG02">https://fcc.im/2APOG02</a></p> <p>Resources mentioned:</p> <p><a href="https://www.interviewcake.com/">https://www.interviewcake.com</a></p> <p><a href="https://www.hiredintech.com/classrooms/system-design/lesson/60">https://www.hiredintech.com/classrooms/system-design/lesson/60</a></p> <p><a href="http://www.coderust.com/questions.html">https://www.educative.io/collection/5642554087309312/5679846214598656</a></p> <p><a href="https://www.reddit.com/r/cscareerquestions/comments/1jov24/heres_how_to_prepare_for_tech_interviews/"> https://www.reddit.com/r/cscareerquestions/comments/1jov24/heres_how_to_prepare_for_tech_interviews/</a></p> <p><a href="https://github.com/h5bp/Front-end-Developer-Interview-Questions">https://github.com/h5bp/Front-end-Developer-Interview-Questions</a></p> <p><a href="https://leetcode.com/">https://leetcode.com</a></p> <p>The email tool Felix uses: <a href="https://rapportive.com/">https://rapportive.com/</a></p> <p> </p> <p>Transcript: </p> <p><br /> A less-talked about part of the bootcamper’s journey is what happens after you graduate — when you’re searching for that six-figure developer position.</p> <p>< 3% of applications became offers</p> <p>I completed Hack Reactor in July 2016 and took almost 3 months before accepting an offer with Radius Intelligence. I applied to 291 companies, did 32 phone screens, 16 technical screens, 13 coding challenges, 11 on-sites, and received 8 offers. The offers ranged from $60-125k in salary from companies all over the US, and for both front end and full stack roles. In total, 2.8% of applications became offers.</p> <p>Here are 5 things I wish I’d known before I began my job search.</p> <p>Insight #1: Get through to real people</p> <p>At first, I applied for companies using the shotgun approach. I applied through Indeed.com, AngelList, LinkedIn, StackOverflow, Hacker News, company websites, and even Craigslist.</p> <p>I’d submit a resume for any role that wanted React, Node, or JavaScript experience. In the first week, I applied to 15–20 companies a day.</p> <p>Pro-Tip: Find companies using this easy-application repo.</p> <p>My yield was low. Less than five percent of companies responded to me. I was throwing applications into a black hole.</p> <p>Everything changed when one of my cohort-mates, a former recruiter, shared a guide to the job search. He told us to send emails directly to real people with each application. It could be anybody. As long as someone read it.</p> <p>From then on, whenever I submitted an application, I searched for the company on LinkedIn and emailed someone on their engineering or hiring team.</p> <p>For most small companies or C-level executives, the email format is usually firstName@dreamCompany.com. For larger companies, it may be firstName.lastName@dreamCompany.com.</p> <p>To verify emails, I used Rapportive to cross-check emails with social media accounts.</p> <p>The results were amazing. With 150+ emails sent, my response rate was a whopping 22%.</p> <p>It also felt great to hear from real people. Surprisingly, CEOs and CTOs responded to me. Sometimes they even interviewed me themselves.</p> <p>Takeaway: If you’re applying through the front door, make sure you’re getting to human beings.</p> <p>Insight #2: Start small and work your way up</p> <p>You will face Level 1 interviews (a non-tech company that needs any dev), where interviewers ask you nothing more than JavaScript trivia.</p> <p>You will face Level 9 interviews (Google/Facebook level), where interviewers ask difficult data structure and algorithm questions.</p> <p>I strategically set up my process so that I had lower-level interviews earlier, and higher-level interviews later on.</p> <p>Early on, I gained experience, built confidence, and secured offers from companies that had less intensive interviews.</p> <p>As I got more experience, I effectively “leveled up.” I became capable of completing interviews at companies with higher hiring bars. This is illustrated below as a linear correlation between the number of weeks I was into the process and the base salary I was offered.</p> <p>There’s a direct correlation between time spent interviewing and offer salary.</p> <p>I unlocked tougher questions. I unlocked higher salaries. And eventually, I unlocked the job I took.</p> <p>Takeaway: Plan to tackle easier interviews early on and more difficult ones later on.</p> <p>Insight #3: Study like your future job depends on it (because it does)</p> <p>I hate to break it to you, but the most important thing you could be doing at any point is studying and preparing.</p> <p>Why? Because you won’t get the offer if you don’t have good answers to the questions they ask you.</p> <p>People won’t refer you if they don’t think you’re prepared for their interviews.</p> <p>Coming out of Hack Reactor, my weaknesses were data structures and algorithms. A study by Triplebyte has found that bootcamp grads are weaker in these areas than computer science grads.</p> <p>So I learned and practiced. Every day.</p> <p>I devoted entire days to learning sorting algorithms. Other days, I focused on understanding how the internet worked.</p> <p>If I didn’t fully understand a concept, I’d spend the day watching YouTube videos or searching StackOverflow until I did.</p> <p>I found the following study materials useful:</p> <p>InterviewCake: My favorite resource for data structures and algorithms. It breaks down solutions into step-by-step chunks — a great alternative to Cracking the Code Interview (CTCI). My only gripe is that they don’t have more problems!</p> <p>HiredInTech’s System Design Section: A great guide for system design interview questions.</p> <p>Coderust: If you’re avoiding CTCI like the plague, Coderust 2.0 may be perfect for you. For $49, you get solutions in almost any programming language, with interactive diagrams.</p> <p>Reddit’s How to Prepare for Tech Interviews: I constantly used this as a benchmark for how prepared I was.</p> <p>Front End Interview Questions: An exhaustive list of front-end questions.</p> <p>Leetcode: The go-to resource for algorithm and data structure questions. You can filter by company, so for example, you could get all the questions that Uber or Google typically ask.</p> <p>Takeaway: There’s no such thing as too much preparation.</p> <p>Insight #4: Put your best foot forward</p> <p>Breaking into the industry is hard. You have to perform well, even when you’re not fully prepared. In order to succeed, you have to be your own advocate.</p> <p>Sell Yourself</p> <p>At Hack Reactor, we’re trained to mask our inexperience. In our personal narratives, we purposely omit our bootcamp education.</p> <p>Why? Otherwise, companies automatically categorize us into junior developer roles or tag us as “not enough experience.”</p> <p>In one interview with a startup, the interview immediately went south once they realized I’d done a bootcamp. One company used it against me and made me a $60k offer, benchmarking against junior developers.</p> <p>Ultimately, you need to convince companies that you can do the job.</p> <p>At the same time, you need to convince yourself that you can do the job.</p> <p>You can. Focus on your love for programming. Focus on what you’ve built with React and Node. Focus on demonstrating your deep knowledge in JavaScript and any other languages you’ve learned.</p> <p>Only then can they justify giving you the job.</p> <p>It’s a Two-way Conversation</p> <p>Interviewing is a mutual exploration of fit between an employee and an employer. While it’s your job to convince employers to hire you, it’s also their job to win you over.</p> <p>Don’t be ashamed of using the interview as an opportunity to evaluate the job opportunity.</p> <p>I talked to any company, even if I had only the slightest interest.</p> <p>I did on-sites all over the country with any company that invited me out. I asked questions, and sucked up knowledge on engineering team organization, technologies and tools used, company challenges, and system architecture.</p> <p>Pro-Tip: During interviews, ask the following questions:</p> <p>What are some technical challenges you’ve recently faced?</p> <p>What do you enjoy about working at X company?</p> <p>How are teams structured and how are tasks usually divided?</p> <p>I treated every interaction as a learning opportunity. Each interaction helped me improve my presentation, interview, and technical skills. Each failure helped me find my blind spots.</p> <p>Takeaway: Don’t sell yourself short! And remember, it’s a mutual exploration.</p> <p>Insight #5: It’s a marathon, not a sprint</p> <p>The journey is by no means easy. For 3 months, I grinded 6 days a week. But I tried to take care of myself.</p> <p>What a typical day could look like in JavaScript</p> <p>Some days, I’d study with friends. Other days, I’d go find a cafe and study alone, or hang out at Hack Reactor’s alumni lounge. And every week I’d check in with our career counselor to talk about my progress.</p> <p>It’s easy to burn out during the process. Eat well, sleep, and exercise.</p> <p>It can get lonely. Spend time with friends who are going through the same experience.</p> <p>Takeaway: Prepare for the long game and make sure you take care of yourself.</p> <p>In summary, the key takeaways are:</p> <p>Get through to real people</p> <p>Start small and work your way up</p> <p>Study like your future job depends on it</p> <p>Put your best foot forward</p> <p>It’s a marathon, not a sprint</p> <p>The process may seem endless, but you’re going to make it. Keep putting in the hours. Keep sending in the applications. Keep taking caring of yourself. All of it pays off in the end.</p>