Job networking for developers
Notes from a job hunt
January 17, 2024 ¡ Felipe Vogel ¡- Applying for jobs: a waste of time
- Setting aside my objections to greasing the wheels
- Embracing networking: preliminary work
- Embracing networking: the routine
- Conclusion: does it work?
- BONUS: after the recruiter screening
tl;dr I learned some job networking. Thanks to my handy dandy list of tips below, you can too!
For the past few months Iâve been back on the job hunt, after two years in a wonderful first developer job. I wanted to stay longer, but a series of unfortunate financial surprises meant the company had to cut expenses in order to survive. Over half of the employees were laid off in 2023, including yours truly in the latest round.
No worries, I thought. It took me only two months to find that job. Now that Iâm not entry-level anymore, itâll be a piece of cake. I mean, Iâve heard the market is bad right now, but really, how bad could it be?
Famous last words.
Applying for jobs: a waste of time
Actually, Iâd already started my job search several weeks before the layoffs. I sensed they were coming and knew my end was near.
So I jumped into action with my tried-and-true approach: doing new projects to put on my resume, submitting job applications, and waiting for the interviews to roll in.
⌠Except the interviews didnât roll in. In fact, after two months and dozens of applications, Iâd gotten only one positive response, and that one doesnât even count as my tried-and-true approach because I had an extra advantage, a referral from someone I know in the company.
Which means that my old strategy completely failed.
Welcome to 2023-24, where it seems like half of your friends in tech are laid off, and companies ignore the ensuing flood of cold applications in favor of personal connections.
Setting aside my objections to greasing the wheels
My first reaction was something akin to indignation.
Iâm a good developer, I thought. I shouldnât have to spend my days hobnobbing on LinkedIn and smooth-talking strangers into offering me a job.
I vented to friends, acquaintances, and innocent passers-by about how my merit should stand on its own, and how the winners arenât the most talented developers but instead the ones who are best at gaming the system.
But guess what? Complaining about it is a waste of time, and in fact it showed a lack of empathy on my part. What would I do if I were faced with a stack of hundreds of applications? Read every resume and cover letter line by line, immerse myself in every blog and toy project, and peer into the soul of each applicant?
The fact is, my application is almost guaranteed to be overlooked among hundreds of others.
HoweverâŚ
When I talk to someone personally, when they hear my name from a colleague, when they see my name in their LinkedIn feed, suddenly Iâm top of mind.
Reinforcing this psychological phenomenon is an incentive in the hiring process, in that an employee gets a referral bonus after they refer a candidate who ends up being hired. That explains why total strangers are often willing to give you a referral if you just get in contact with them.
Thatâs the secret of the hiring process: recruiting teams essentially ignore the advertised channel of just submitting an application. I could either ignore this fact, or embrace it.
Embracing networking: preliminary work
Hereâs the advice I would give myself if I could go back in time to the beginning of my job search.
I mention Ruby because thatâs where I focused my search, but if you work with a different tech stack then you can take the general recommendations and ignore the Ruby-specific resources.
- Improve your resume and LinkedIn profile. Iâve found Taylor Desseynâs advice to be helpful, e.g. on improving your resume and your LinkedIn profile.
- Verify your LinkedIn account. It feels stupid, but the algorithm likes it. (To those of you who use the Firefox mobile app: you may need to use Chrome for the verification process to work.)
- Keep a programming blog and do a few projects to put on your resume. By âprojectsâ I mean more than toy apps. Sure, a solo project can be a good way to learn and show off technical skills. But focus on collaborative projects because they show you have more than technical skills. Some ideas:
- Become a coding mentor on Exercism.
- Contribute to open source. First Timers Only lists lots of resources for getting started.
- If youâre into Ruby, Ruby for Good is a convenient collection of open-source apps to contribute to.
- Join communities. Here are some for Ruby:
- Ruby on Rails Link community on Slack.
- Ruby meetups. In-person is ideal, but here are U.S. meetups that meet online:
- If there isnât a Ruby meetup in your area, consider starting one!
- Other (non-Ruby) local developer meetups are also worth looking into.
- Post regularly on LinkedIn. I posted every weekday for two months. Some days I posted tips from my job search (the content of this post), and on other days I posted a âReasons to hire meâ seriesâessentially, glimpses into my accomplishments.
- Also make sure to like and comment on other peopleâs posts, including people you donât know personally.
- Leverage your existing network. The steps below are an alternative to cold-applying to companies where you donât know anyone, but it can be even more effective to stay in touch or reconnect with people you already know. To some extent this will happen naturally as you post on LinkedIn, but you can also be proactive: message old acquaintances and schoolmates who might know of jobs, write former co-workers a LinkedIn recommendationâdo whatever feels right in each particular relationship.
Embracing networking: the routine
In my day-to-day Iâve spent most of my time on the points above, but when it comes to finding and following a job lead, hereâs what Iâve been doing.
1. Finding an opportunity
- Get in touch with recruiters. Iâve enjoyed working with Brian Mariani at Mirror Placement. He specializes in Rails jobs. In case you didnât know, recruiters are paid by the companies who hire them to fill a role, not by you the job seeker, so thereâs no reason not to talk to a recruiter, or even a few if you can find other good ones.
- Keep an eye on Ruby job postings. Iâve found these places most helpful:
- Welcome to the Jungle (formerly Otta)
- GoRails job board
- Ruby On Remote
- show-job wouldâve been great if I were looking for a senior position.
- UPDATE, October 2024: UsingRails
- Identify companies that you want to work for. This will become clear as you look at job postings, but you may also want to take a companies-first approach, such as browsing Ruby On Remoteâs Companies page.
2. Making a connection
Once Iâve found an interesting job posting or company (with or without an open position), hereâs what I do.
Note: most of the steps below donât apply to opportunities given by a recruiter, because the recruiter is your initial connection.
The first step is to use LinkedIn search to get a list of people who work at that company.
From there, there are two things you can do with the search results.
A. Find someone who can refer you
If you have any connections at the company (1st- or 2nd-degree), ask them if theyâd be willing to chat about what itâs like to work there. Try to be genuinely curious about the company (you do want to know all you can about where you might be working, after all), but at some point you can steer the conversation toward the possibility of that person referring you when you apply. Sometimes you donât even have to try because theyâre the ones who suggest it. Remember, theyâll get a bonus if they refer you and you end up being hired.
Of course, this is easiest when itâs a 1st-degree connection, but here are a couple of ways to start that conversation with a 2nd-degree connection:
- If the intermediate connection (your 1st-degree connection whoâs connected with them) is someone youâd be comfortable asking for a favor, you can ask for an introduction to the 2nd-degree connection.
- Or you can send a note with a connection request to the 2nd-degree connection.
What if you donât have any connections at the company? Or you do have connections, but you want to give your application an extra âoomphâ? Thatâs where the next approach comes into play.
B. Talk to someone in order to set yourself apart without a referral
- In LinkedIn search results for people who work at that company, look for engineering managers or other leaders in product/engineering.
- Avoid directly contacting talent/recruiting staff. From what I hear, they are understaffed these days, so you have a better chance at having a meaningful conversation with engineering management.
- Message those people on LinkedIn. Ask who you should talk to about the position, or (if you didnât see a job posting but youâre interested in the company) ask if theyâre hiring. Then briefly, in 1-2 sentences, say why you think youâd be a great fit.
- If the personâs LinkedIn bio has anything interesting or relatable, mention that in your message.
- Youâll need LinkedIn Premium to send these messages, but you can get the first month free if you sign up for the trial.
- Here are a couple of examples:
- Hey _____, I saw the open engineering position at _____, and I think Iâd be a great fit but I have a few questions. Who should I talk to about that? I used to be a teacher and I love mentoring others, especially aspiring second-career developers. So _____âs mission really resonates with me. Let me know if you want me to send you my resume. Thanks!
- Hi _____, I saw _____âs open back-end engineer role, and I have a few questions about it. Would you be open to talking about it, or could you point me to someone who might be? I love your LinkedIn bio, by the way. â___[a bit from their bio]___â and â___[another bit]___â. I heartily agree! If other engineers at _____ also take that approach, then I would definitely fit in there.
- You might be asked to apply, in which case you should go ahead and do so.
- If you happen to have a 1st-degree connection at the company, be sure to ask them for a referral before you apply, in case you need a special application link from them.
- What about cover letters? Many applications have an optional space for them. Iâve heard mixed advice, but I myself write a cover letter only if I have something really memorable to say.
- So now youâve submitted the application. You might be thinking, âWhat did I do all that extra work for, if in the end Iâm applying for the job just the same?â The difference is that now youâre not just another random applicant among hundreds, and the personal connection youâve established (small as it may be) will help set you apart.
- Hereâs another way to use 2nd-degree connections. At some point early in the interview process, ask your friends who know those 2nd-degree connections to ask them to mention your name to the hiring manager. The more your name comes up, the better.
Conclusion: does it work?
Iâll leave the details to a future post, but in short: yes, this approach has been effective in getting me interviews. Itâs a lot of work, but the alternative of cold applications and zero interviews⌠is not really an alternative.
BONUS: after the recruiter screening
When your networking pays off and youâre chugging along in the interview process, here are some tips to keep in mind:
- Explain your thinking in the coding exercise. In a live coding exercise, be sure to constantly communicate what youâre thinking, and why youâre doing what youâre doing. If itâs a take-home assignment, include a âDesign choicesâ section in the README which explains your reasoning, including tradeoffs that you made, alternatives that you didnât choose, and in what scenarios those wouldâve made more sense.
- Write notes on the list of interview topics, if theyâre sent to you ahead of time. Brainstorm and pick out a few memorable stories that you could share in each interview.
- Do research to fill any knowledge gaps, whether on the list of interview topics or in general areas where youâve felt a lack of confidence in interviews. For example, over the past few months Iâve improved my JS skills since I hadnât learned it as systematically as Ruby.
- Get plenty of sleep in the days leading up to interviews.
- Look up the interviewers on LinkedIn, if you have their names. You might get ideas on whatâs important to them and what you can bring up in the conversation.
- Send a thank-you note after each interview. Again, youâll have to sign up for LinkedIn Premium to send these messages, unless youâve already connected on LinkedIn.
- Thank each interviewer one more time at the end, whether you get a rejection email or a job offer. This last contact can be an extra springboard to something in the future, and you might even get new information.
- For example, I recently sent a final round of thank-yous after a rejection, and I made sure to say âYou can expect to hear from me again! đâ because of how interested I am in the company. One of the interviewers replied by saying they really liked me, but that I was facing stiff competition (in the end they decided on someone with 16 years of experience), and that theyâd keep me in mind when they have openings in the future.
- From this exchange, I learned that (1) I was competing with more senior candidates than Iâd expected, and (2) I might have a good chance at the job in the future when I have more experience.
- Also ask for feedback from the interviewers at the same time that you thank them at the end. Something like this: âIf you donât mind me asking, what could I have done better in the interview? Is there anything I can keep in mind to improve how I present myself?â