It took 196 days from the day I completed my online coding bootcamp, to the day I received the letter offering me a Software Engineering position at a large Virginia-based company.
That is 6 months 12 days, or 28 weeks, or 4,704 hours.
This post is not a lengthy recap of my journey. Instead, I’m going to present a number of considerations that were crucial in my experience and resulting success. Given the proliferation of post-baccalaureate coding bootcamps that are churning out more career-changing programmers per second, taking the time to formulate your best strategy is time well-spent.
1. Take brutally-honest stock of your resources.
Ask yourself: How much time, money (either being made or already-saved) and emotional support do I have? How consistent are these resources? What practical ways can you fit your coding education around your regular responsibilities? Do you have any major work projects or life events coming up?
When I started my bootcamp, my new baby — whom I delivered via a challenging c-section — was just shy of 4 months, and I was nursing exclusively. Needless to say, I was usually in pain and chronically exhausted. However, I didn’t have the pressure of a 9-to-5 gig; my partner supported the bulk of our family’s financial needs. I prioritized sleep-training my child early-on, so that I could use those precious evening hours while she slept for more-intense programming. I also set task-based mini study goals, not time-based ones - which could leave me feeling defeated if my child had a particularly colicky day, and I couldn’t get much programming done.
2. Get a clear picture of the tech skills that are in-demand where you live.
This point doesn’t carry as much weight if you are willing and easily able to relocate, which wasn’t an option for me. Admittedly, I didn’t do as much market research into my city’s in-demand skills; I simply Googled questions like “best programming languages to learn” and went from there.
A better approach, in my opinion, is to create a list of languages and technologies that appear frequently in local job posts. I suggest choosing job posts that are more detailed and thoughtful, not those that are 20-bullet-point lists of every tech stack imaginable. In addition — and this is important — schedule 2–3 informational interviews with mid-level and/or senior people that have worked 10+ years in your chosen industry. Why? Well, they have the perspective to see past current fads and obsessions. Take your list of tech to the interview and talk it over with them. These interviews do not need to be in-person; Skype or Hangouts work just as well, and may be more convenient for all people involved. Then let this vetted list guide your choices on which languages or tech to study.
3. Start building — or expanding — your professional network
Prior to pursuing a career in Software Engineering, I had never networked in my life. Never. However, I consider this the most important point in this post. Let me explain.
I liken networking to standing on the proverbial shoulders of giants. Networking leverages the professional connections of people who are probably more experienced and carry more clout in your chosen industry. Just about every guide on job-hunting stresses the truth that a personal connection to the company gives the applicant an edge.
Imagine having someone in your network submit your resume for a certain position. The HR recruiter asks them, “Oh, do you know So-and-So?” to which they respond, “Oh yeah, we’ve attended several meetups together; they’re really passionate about what we do here”. Your resume could end up on the “definitely call” pile without the recruiter even reading it. That’s the advantage that networking gives.
I networked primarily via LinkedIn and Twitter. In fact, I learned about my current job from a recruiter who reached out to me on LinkedIn. Meetups are also useful, as well as professional organizations in your industry. I joined WomenWhoCodeDC and, though my family responsibilities precluded me from attending many of their events, I remained fairly active on their Slack channel and scored several online informational interviews with their more senior members. Tech conferences are also useful for networking; do consider presenting at a conference, whether you have professional experience or not. Three months after my bootcamp, I submitted a proposal to lead a discussion at Tech Rebalanced 2018 titled “Taking The Leap Into Code” - a move that markedly impressed the engineers I interviewed with to land my current job.
4. Take your professional brand seriously.
Before my current job, I had zero professional software engineering experience. NONE. As far as programming was concerned, my experience was limited to my personal projects and open-source contributions. During bootcamp, I would keep my voice recorder by me at all times to record short snippets of what I was learning. I would then blog about my learning experiences, the challenges and triumphs I encountered while programming. I can’t tell you how many interviewers took the time to discuss my blog posts with me, and ask me questions about my journey. Your brand as a programmer humanizes you and gives potential employers a more-complete picture of your value and what you bring to the table besides cold-hard skills; this could make all the difference in your job-search.
Another important aspect of your professional brand is the quality of your profile and portfolio. I made sure that my personal projects were finessed, even the incomplete ones, and that any features functioned as intended. Even little design-related things like margins, properly-centered elements and mobile-responsiveness can confer a sense of professionalism. I made sure that my profiles on job-search sites (like Indeed, Dice, AngelList, PowerToFly) were complete and as detailed as possible, with links to my GitHub account and blogging platforms.
I also highly recommend becoming a contributor or mentor on code-coaching platforms like Exercism. Doing so gives you several opportunities to build two critical skills: reading/understanding other people’s code, and participating in code reviews. My confidence while explaining and reviewing code increased significantly from mentoring on Exercism.
5. Decide on and regularly revisit the “why” behind your journey
Although other fellow devs have commented that landing a job 6 months post-bootcamp is impressive, the time didn't seem to fly by for me. I was often demoralized by being rejected after code take-home tests that took days to complete. Each time a job application didn’t pan out, I had to answer the questions: “Why are you doing this? How long are you willing to keep seeking a job? Is it worth it to keep trying?” There were several moments where I started to believe that I wasn't cut out for software development. You’ll need something to keep you motivated if success doesn’t come quickly. One of my mentors told me: “Take the time you think it’ll take to land a job after your bootcamp, and double it - at least” You may not land a job as quickly as you want, or land a job at the company you desire, or bag the salary you expect. That's when your "why" can spur you to keep learning, growing and putting yourself out there.
I hope this guide is helpful to you in your coding journey. I am ever so available to answer any questions, or share more about my particular experience. GOOD LUCK!