After graduating from the Grace Hopper Program (an all-women’s coding bootcamp) this summer, I spent the following three months on a Teaching Fellowship, mentoring the next cohort of GH students, and began my post-bootcamp job search in the second week of September.
During my seven weeks on the search, I connected with 45 companies and received four offers. It’s now the end of October and I just signed on with The New York Times! I definitely caught some lucky breaks, and my own privilege certainly played a part in my success. But I also worked really hard to make this happen, and I’d love to share with you how I approached the job search.
People often think a job search entails sending out hundreds — or even thousands — of applications in order to snag a job. But personally, I connected with fewer than 50 companies, and sent out only three actual applications. (and one of those was after the interview, just so that I was officially on file.) It doesn’t have to be a numbers game. There is a way to succeed in the job search with a “quality over quantity” philosophy. How, you ask?
The way I see it, there are two very different approaches people take to the job search: the “quality” route (networking) and the “quantity” route (submitting cold applications). My intuition told me the “quality” route would yield more benefits for the time spent, so I threw myself into it full-force.
My strategy was simple: Get through to “a real person” and ask to buy them coffee or chat on the phone. The beginning of the job application process for me was always talking to a person, regardless of whether that was a person I already knew, a person I found cold on LinkedIn, a person I followed on Twitter, a person whose email address I guessed at until I got it right, a fellow alumna on Slack. How did these different sources of people compare?
My main sources of company leads:
My leads came from lots of different places, but I’ll break them down into categories:
- Friends, who would connect me to their own companies or to their connections at others. This was definitely one of the easiest ways to get connected to a company — a friend would simply introduce me to a hiring manager or engineering manager on their team, or a friend at another company that interested me. If a friend was the source of the lead, the next step was usually a coffee chat.
- Companies I targeted and reached out to cold, finding engineers on LinkedIn who worked there and messaging them. People are surprisingly willing to help out eager and friendly people who express interest in them. I’d say my response rate for this was 50%. Again, I would always ask for a coffee chat or a phone call.
- Meetups and networking events, especially ones geared towards recruiting. I especially had success at women-in-tech-focused recruiting events, one of which is where I met my future manager and initially heard about the position I later took!
- Recruiters and engineers who reached out to me, either through LinkedIn or email. Some of these passive leads came to me simply because I had a fully fleshed-out LinkedIn profile with my skills prominently listed, making me easily searchable. Others came because people found my technical writing here on Medium and then reached out. One of my offers came from one of these passive leads.
- My bootcamp’s Hiring Day, a mini-interview event from which I got lots of leads, but which came too late in my process. (Because I was a teaching fellow, I had started my job search five weeks prior to Hiring Day, and so I received the offer I took before I could go onsite with most of the Hiring Day companies.)
- Cold applications, which, as I mentioned, comprised only a negligible portion of my leads, and ultimately got me nowhere.
To track my job search, my bootcamp’s Career Success department suggested I use Asana, and boy, was it helpful.
As you can see, I gave each company a “task” listing, in which I would list the job listing and my connections there, as well as comments with each action I’d taken with that company so far, whether it was reaching out to someone, getting coffee, completing a phone interview, etc., and notes about how it went.
Whenever I reached a new phase of the recruitment process with a company, I would physically drag the company’s listing up to the next category (e.g. Phone Screen, Coding Challenge, On-Site, etc.)
This system allowed me to keep track of where I stood with every company at any given time. It also enabled me to find all the details for my relationship with a specific company in one place, as well as set a deadline to remind myself when to follow up. If I hadn’t done this, I would have gotten very mixed up with so many companies!
The Recruiting Pipeline:
Each company’s hiring process differs in its components — some companies had recruiter phone screens then immediately brought me onsite, others gave me technical phone screens, or take-home coding challenges (some timed, some untimed). Some on-site interviews involved white-boarding and others didn’t. Some involved architecture components, and others didn’t.
In general, the smaller the company, the more relaxed I found their interview process to be. Heck, at one tiny company, I never once had to code for them — I just showed them my Github and that was enough. The tech giants, on the other hand, often have several rounds of grueling interviews.
In any case, here’s how my pipeline went:
As you can see, the “coffee chat” approach led to a much wider funnel than what you usually see— over half of my coffee chats resulted in a phone screen or referral, as opposed to many job-searchers’ pipelines, in which 300+ applications yields a dozen phone screens. In fact, two of my four offers originated in a coffee chat or informational call, and one of the others was from meeting someone in person at a networking event.
For the coffee chats that didn’t lead anywhere, it was generally because either (a) the company wasn’t hiring, or (b) I was already about to take an offer, so it was just too late in my process. Moral of the story: Coffee chats are great.
In general, once I snagged a phone screen, I found that my chances were pretty good from there. 66% of my phone screens resulted in a next step, and half of the ones that didn’t were companies I turned down. Only two companies turned me down after the phone screen. (I attribute this success, very simply, to lots of practice answering basic technical questions, and smiling and sounding pleasant and excited while on the phone.)
Also, I found that referrals in big company systems often are not particularly helpful; the three that I graciously received sat in large HR systems and nothing ever became of them.
What I Learned:
All right, here’s the part where I share my hard-earned wisdom — lessons I learned both the easy way (from doing them and succeeding) and the hard way (from not doing them and failing):
1. Figure out what part of the job search you’re weakest at, and prioritize your time accordingly.
The way I saw it, there were three main ways to spend time during my job search:
- Networking / generating leads
- Building out my portfolio
- Studying algorithms / practicing whiteboarding
Between those three, I felt weakest in the networking department, so I spent the vast majority of my job-search time just reaching out and making connections. I had already finished a few portfolio pieces, and I had been practicing whiteboarding in bootcamp, so connecting with companies was definitely the most valuable way to spend my time.
That said, if you don’t feel you have any portfolio pieces to talk about in your interviews, or if you’ve never stood in front of a whiteboard, your priorities might look different.
2. Fully fill out your LinkedIn profile to gain the attention of recruiters.
My bootcamp’s Career Success Department required us all to update our LinkedIn with a professional photo and a pitch/summary, as well as list every one of the technologies we knew as a skill. By listing these skills, you will show up in recruiters’ searches, so make sure you have them on your profile!
My cohort also all endorsed each other for those skills and wrote recommendations for our closest teammates, which gave our profiles a stronger sense of legitimacy. This sometimes felt silly, but I feel confident now that my robust LinkedIn was one of the reasons so many recruiters and engineers reached out to me.
3. Take interviews first from companies that interest you less, but also don’t wait too long to reach out to your dream companies.
Timing was one of the most difficult parts of my job search. My general strategy was to initially take interviews with small companies that I was less excited about. This was both good and bad — it was great practice, but also meant I got offers before I had even gotten into the process with the companies I really wanted to work for.
The approach I suggest:
- Start your search by taking whatever you can find through easy leads — alumni posting on the alumni slack channel about openings at their companies, for example. Tell everyone you’re interested, and take any interview you are given. The more interviews you’ve done, the better you will perform in future interviews, both behaviorally and technically. (And hey, you might even find that once you’re on-site at a company you had never heard of, you actually love the company!)
- After you’ve done ~5 “practice runs”, reach out to your dream companies, especially if they’re tech giants. The hiring process at large companies can take longer than you anticipate, and you don’t want to start too late and feel pressure to take a smaller company’s offer before you even finish the process with the larger companies that excite you more.
4. Make a list of questions to which you actually want the answers, and bring it to coffee chats and interviews.
My friend and cohort-mate Rachel Berkowitz gave me this advice, and it was absolutely invaluable. She recommended I make a list of 5–10 “factors I care most about in a workplace”, which for me included factors like:
- a modern technology stack
- clear expectations and feedback
- a culture of openness, collaboration, and vulnerability when one “doesn’t know” something
- work-life balance
- structured onboarding
Then, I turned those factors into 5–10 questions that I could ask at coffee chats or at the ends of interviews, like:
- What is the feedback mechanism on your team? How do engineers know how they’re doing?
- How do people learn on the team? Collaboratively or independently?
- What kinds of personalities tend to thrive at X company/X team? (This one often resulted in revealing answers that made me certain I didn’t want to work at certain places!)
These questions not only made me look curious and interested to my interviewers and connections, but also gave me a better idea of whether or not the company fit what I was looking for. Remember, you’re interviewing the company just as much as they’re interviewing you!
5. Always google “common [insert language here] interview questions” before the interview.
Also, Glassdoor interview summaries often included the specific questions companies had asked applicants in the past. I highly recommend looking at those before the interview as well.
6. Send a LinkedIn request with a note after meeting ANYONE.
After any coffee chat, networking event, or interview, I would immediately log onto LinkedIn and send a connection request to each of the people I met. I always included a note, so that the person remembered who I was and what we talked about. In the note, I would thank the person for their time and ask about next steps or how to best keep in touch about opportunities at their company.
This was one of the most valuable things I did, both for immediate gains during my job search and for future value. I built out my network, and now, even at the companies that I didn’t accept offers with this time, I can build relationships with the people I met and easily reach out in the future. It’s all about building new bridges!
7. To get in the door at big companies, find a way to connect to an engineering manager or hiring manager.
Initially, I thought referrals were going to be my golden ticket into the large companies I dreamed of working at. If I could just get someone — anyone — at the company to internally “put me in the system”, I would have an in. Right?
Wrong. While a random employee referral might be enough at a smaller company, I found that even with a red referral flag next to my name, at big companies, my applications still just sat forgotten about in giant HR systems. My three official employee referrals at big companies went absolutely nowhere.
A better approach is to find a direct connection to an engineering or hiring manager. I usually did this by asking people at the end of coffee chats if they could “connect me with an engineering manager or hiring manager on their team”, but reaching out cold might work, too. The point is, the manager is looking for a real person to fit their real needs. If you can speak with them, establish face and name recognition, and make a case for why you are the person who can solve their problems and fit well on their team, your chances at a phone screen go up exponentially.
8. Always follow up, even when your message is ignored.
Initially, following up was something I never did — if someone didn’t respond to my email, or if I never heard back after they had passed on my resume, I assumed that meant I was rejected, I was bothering them, or they didn’t have time for me or want to talk to me.
But the Career Success team quickly set me straight — if someone doesn’t reply, it might just be that your email got lost among the week’s flurry of emails. The people you’re messaging are generally not sitting at home and watching their inbox. Wait five business days, and then follow up. I can’t tell you how many times my own follow-up reignited a lead.
9. Create a brand for yourself and/or write technical blog posts.
Besides networking, the two best things I did for my job search were to (1) write about tech on Medium, and (2) create a personal portfolio site, where people could contact me after reading my articles.
I’ve always loved to write, so when someone recommended to me that I write about tech as I’m learning it, I jumped at the opportunity, never realizing how much it would help my job search. But it did — I received emails, LinkedIn requests, and Twitter follows from developers who had read my articles and were interested in interviewing me for their companies. Writing also just feels like a great way to give back to the tech community.
For more detail about how to build a personal brand as a new software developer, this post breaks it down well. TL;DR: Have a tech-focused social presence on Medium, Twitter, Github, and LinkedIn. Cross-post original content between the different channels. Be an active participant in the developer community, and show some personality and passion in your work and online presence.
If you’re job-searching, I hope this was helpful, and I wish you the best of luck! It’s only going to get easier from here, as we gain experience in the software world and become highly-desired in a market with a supply shortage. For now, go dazzle some hiring managers and get that first tech job!
If you enjoyed this piece, I’d love it if you hit the clap button 👏 so others might stumble upon it. You can find my code on GitHub, musings on Twitter, and more of my writing and projects at http://www.sophiaciocca.com.