Hello all! I have now been employed as a Junior Developer for a full month. These first four weeks have flown by and I have learned such vast quantities of information that much of the knowledge is leaking out of my ears. Fortunately I have Google and a great team to help me out when I get stuck. As I wrap up my first 20 days, I remember when I was about to graduate boot camp I wished there was some sort of guide on how to job search 'the right way'. Turns out, there isn't really one right way that fits everyone, what's important is figuring out what's 'the right way FOR YOU'. This post is to share my journey of discovering what that right way was for me. May this help others considering a career switch, those in the midst of seeking their first dev position, and people supporting career transitioners.
Back in March of 2020, I began Flatiron's part-time program for full-stack software engineering. I graduated on time as expected in December of 2020. Once you graduate with Flatiron, you are assigned a Career Coach who helps you prepare your resume, LinkedIn profile, general online presence, practice for the behavioral and cultural interviews and provide guidance while you are job searching. Upon graduating (ie, the day you pass your exam for your final project) you have 60 days to declare your official Job Search Start Date (JSSD) and once your JSSD begins if you don't land a job in 180 days you may be eligible to receive your tuition back. To be eligible though you have put in a good faith effort to your job search, make a minimum of 5 GitHub commits per week, publish one blog post per week, connect with 8 unique individuals to grow and maintain your network, and record in the Flatiron tracker that you completed all the requirements each week. (According to the career services website though, it looks like the money-back program is going away.)
The reason Flatiron requires/recommends doing the Github commits, networking, and blog posts is that after helping place thousands of graduates, this is the general formula that they've discovered that helps most people find that first engineering position. It doesn't ever and always work for everyone, but it's a really good base point.
There are pages and pages of resources and people offering advice on what you should be doing to have a successful job search. Honestly, I found it overwhelming and thought I had to do everything. So I was trying to add features to my final project, take deep dives into React, create a nice portfolio page, learn RSpec and Jest, practice algorithms, and study computer science concepts and data structures. And the other half of the time I was trying to meet as many people as I could and make connections hoping to find that person who could introduce me to the right person that might lead to an opportunity. I was very scattered and felt stretched, sort of thin, like butter scraped over too much bread. (Yes, much like Bilbo Baggins.)
I was doing all that, and as the rejections rolled in, I still felt like I wasn't doing enough. Turns out that stretched-out thin feeling, was because I was doing it the 'wrong way for me'. I'm an introvert and I feel deeply when things go well and when they go poorly, so every time I met with a person and put myself out there, that person took a little piece of me with them and I was at the end of the day not feeling like myself and unmotivated. My career coach, Insa (a phenomenal human being if you ever get to work with her do it!) helped me realize this and we came up with a game plan.
We really started focusing on my 'vertical'. I had heard of other job seekers doing this, and for many of them, it meant using their prior experience to their advantage. For example if they had a finance background, they exclusively focused on fintech companies and put their efforts there. A friend of mine wanted to be a front-end React developer so she took deep dives into studying, practicing, and building apps with it. As such, she didn't need much algo practice because for most of her technical exams she had to build features in React (she got the job by the way :D ).
We took what was important in a career for me and turned that into my vertical.
My Vertical Stack:
Team/Company size: I wanted to be a part of a small team of engineers that I could connect with on a personal level and care about each of them as individuals.
Mission: Having a connection with the company's purpose, for me that could be a consultancy that worked on various projects supporting different kinds of communities, or a company with one product solving an interesting issue.
Learning and Growth: I have much to learn as a developer and I wanted to be in a place where my team would be supportive of me as I learn, grow, and struggle. Then I wanted that kind of attitude toward learning and growth to continue throughout my career within the company. I was willing to learn languages and frameworks on the job if it meant that I would be in a place that fostered such growth.
Inclusivity: I was seeking a place with a diverse group of individuals that valued the uniqueness that each person has to bring to the table. I believe that diverse teams lead to new, innovative, and inclusive ideas and I wanted to be a part of a team that embodied it.
Fully-Remote: I wanted the flexibility to live where I want and move when I want while also not having to leave my current location as I start on my developer journey.
Once I had this vision, I was much more selective about my applications. I stopped sending automative applications on linkedIn and instead put extensive effort into a cover letter and resume for each individual job opening that I was excited about.
I narrowed the focus of my daily coding efforts. I put away the leetcode grinding of algos, because I was passing or getting a callback <25% of the time after completing a HackerRank or other algo tailored code challenge. I started co-writing a blog series with a really good coding buddy of mine so she could work on React and I could work on Rails. I challenged myself to add a follower/following relationship to my final project. When I found a company I was especially excited about, I did a crash course in Elixir and Phoenix and followed multiple tutorials, blogs, a Udemy course, and built a few small projects. I focused on the process of learning, so even if I weren't hired for that role, I was still polishing valuable skills in return for my efforts. Since I had become much more selective about the roles I applied to, I had the time to invest in this kind of knowledge.
I stopped contacting people simply for the sake of fulfilling my weekly quota, and sought out people that I wanted to connect with. Because of this change I met some incredible tech adjacent people and developers who are a part of the queer community. They reminded me about why I was excited about this field in the first place, and even though I was still tired at the end of the day, I felt more like myself.
And speaking of feeling more like myself, I really started prioritizing some self care which meant more time with friends, taking long walks with my dog, making sure I did my daily yoga and meditation practice, and a little bit of spirituality. My career coach suggested I make a shrine to my dream job. It was to create a space for me to feel a healthy flow of energy and really ground myself. Much of the job search was outside of my control and that was hard for me. By building a meditation station where I could put good vibes into the universe and "Let the universe flow" as my career coach described it, I was able to build up more resiliency to the rejections.
**For context I applied the above changes to the last three to four weeks of my job search.
Ironically I was offered a job when I was most comfortable with the fact that I was job seeking. I had finally come to peace with the fact that breaking into a new field can be more challenging and emotionally tolling than bootcamp. Even though I didn't know when the stars would align for me, I believed that I was qualified, was capable of the career I was pursuing, and that it would happen. One evening instead of starting another job application, I decided to walk my dog and for an hour we just toured around the docks bothering frogs and catching pokemon. When we got back, an email was waiting for me asking me to schedule a time to discuss an offer. The following week it felt like I was holding my breath for fear that if I breathed too loud this dream job of mine would slip through my fingers.
Part of what makes the job search so difficult is that even if you do everything correctly you still might not get an offer and it may have nothing to do with you as a developer or a person. For legal reasons, you might not even be informed that is the case when you receive that rejection notice (or are indefinitely ghosted). For me I had a lot of luck, right circumstances and hard work align to get to the point that I had a job offer. I was lucky to see the job announcement in a Women in Tech slack channel (I checked multiple tech channels daily to make sure I didn't miss any announcements). I was lucky the very busy founder of the company responded to my cold email expressing my interest in the job (I put in the time to research both him and the company in an effort to make a personal connection with him).
It was a lot of effort, but even if I hadn't been offered the job, I was still reaping what I sowed. I made connections with people I admired as human beings and as developers. I started learning a new language that I really enjoyed. It was the job I had built my shrine to; it hit all the points in my vertical stack. I don't know which of my efforts were the most influential in their decision to extend an offer, nor do I know how much of it was luck in the universe on my side, but I imagine every act on my part had an impact in some way.
Now a month after working with my new team, while I have much to be thankful for and hold a lot of gratitude to the people who helped me get here, I'm especially grateful to my past self-- for being patient, taking the time to envision what it was I truly wanted in this new career, and seeking that unicorn job for me.
I have seen many folx who land their first job as software engineers post their stats for how many applications, rejections, interviews, and final yeses they get. I didn't keep track too closely of actual job applications and rejections. But here are the stats I did keep track of that were important to me and that I believe provide a more rounded view of my job search experience:
- Job Search Start Date: 54 days after graduation
- Searched for 63 days (ie 9 weeks)
- Applied to < 100 jobs (maybe even less than 50, not really sure)
- Confirmed rejections: 20ish
- Number of people I met virtually and who helped me along the way: 31
- Hours spent learning, coding, or doing algos: 198 hours, average 22 hrs/week
- Hours spent on the job search including networking, applying, prep, and interviews: 172 hours, average 19 hrs/week
- Blogs published: 9
- Github commits: 648 (ave 72 commits/week)
- Career Coach Sessions: 27
- Times cried: 14
- Yoga Sessions: 61
- Walk dog: 51x
- Books read for fun: 7 (Highly recommend 'Girl, Woman, Other' by Bernardine Evaristo and 'Akata Witch' by Nnedi Okorafor)
- Virtual dates with friends: 9
- Number of distinct interview processes: 7
- Offers: 2
I share these numbers for a few reasons. When starting bootcamp I would have been better prepared for graduation if I had known more about the efforts required for the job search. And to that effect I hope people considering making a career switch to become a developer can see what might be necessary to 'break into tech'. This is for developers going through the job search, here's another anecdote to help with morale as you do what I just did. And for our friends and family-- this is hard. Without you, people like me could not make this transition. So thank you for being rocks for us to stand upon.
I sign off with a reminder inspired by Peter Pan; we can fly if we have faith in ourselves, if we trust that things will work out the way they are meant to be, and if we create the perfect pixie dust for ourselves with hard work.