Josh Thompson     about     blog     ☕️ with josh

Job Hunting Recommendations for Early-Career Software Developers

Article Table of Contents

I’ve distilled a number of conversations into this post.

Some of it is specific to getting a remote job and working remotely, but all of it is applicable for any kind of software-related role. It’s probably applicable to non-software roles, but this is where most of my exprience lies.

Finally, I think “advice to others” is a tall order. All I know is things I did, and what seemed to correlate with good results. Correlation is not causation, etc. I recommend reading Every thought about giving and taking advice I’ve ever had, as concisely as possible (Alexey Guzey) before you do any more advice taking and giving.

Other than this first section about finding remote-friendly jobs, everything below applies to any job hunt. So, even if you’re not looking specifically for remote work, keep reading.

This is a guide mostly about cold outreach, so buckle up. We’re about to get uncomfortable.

GIPHY


Finding promising jobs

I generally recommend job-seekers “cut their teeth” with this process on very specific posts in Hacker News.

I’m going to recommend you use this sophisticated little search tool for the massive Hacker News monthly “Who is hiring?” question with hundreds of openings listed..

Go ahead, Click the link. Then type ruby. It’ll look like this:

Filter the results

Most people in the world have not heard of “hacker news”, other than reading in the news when Equifax gets hacked (again) (and again) (and again).

If it’s unfamiliar to you, it’s basically Reddit for tech people. It’s got a distinctive layout, and has one of the craziest implementations of tables-based HTML I’ve ever seen.

There are many different posts that go by on tech Reddit. One of the monthly recurring posts is a “Who’s hiring this month” kind of post. Here’s the thread for July 2020:

–> Ask HN: Who is hiring? (July 2020)

who's hiring thread

Basically, each top-level comment is posted by a different person, with a different opportunity. Each comment adheres to the thread criteria:

Please state the job location and include the keywords REMOTE, INTERNS and/or VISA when the corresponding sort of candidate is welcome. When remote work is not an option, include ONSITE.

Please only post if you personally are part of the hiring company—no recruiting firms or job boards. Only one post per company. If it isn’t a household name, please explain what your company does.

Many of the posters will include a personal email address. Those that don’t might work at a larger company, or might be posting anonymously.

The main goal here is to find jobs and companies that look interesting and/or promising, based on a variety of critera.

It’s really hard to manually search through the pages of comments, trying to not get bogged down in comments on each individual job posting.

This is where this sophisticated little search tool comes in. You’ll use it to filter down job opportunities.

Go back, type in a programming language or framework, and start looking.

Telegraphing competence

As I worked through the above list and found interesting opportunities, what did I do to explore if I and a given company or team might be a good fit for each other?

My goal was to telegraph competence to anyone I interacted with. So, one of my main goals was to create visible evidence that I am competent.

That’s not helpful, Josh. How do you do that? Do you run around screaming “I’M COMPETENT” at everyone you meet?

No. I just type things on the internet, and make those easy to find. My email signature has a link to my website, which has a smattering of technical and non-technical posts, and my “about me” page makes sure to also telegraph competence. If you don’t have a website, just hop onto Medium, and start writing some things. Here’s examples of my “technical” posts:

My “about” page is fairly friendly and comprehensive: https://josh.works/about/

None of these posts are earth shattering (actually, they are *all* very basic)1 but it telegraphs:

  • I have some initiative. Not necessarily a lot, but at least a little
  • I can write words in a legible and readable fashion. This is valuable in a remote work environment, as almost all communication will be written. (I.E. writing skills are particularly valuable.)

Jason Fried, founder of Basecamp (and a bunch of other stuff) wrote in his book Rework:

“If you are trying to decide among a few people to fill a position hire the best writer. it doesn’t matter if the person is marketer, salesperson, designer, programmer, or whatever, their writing skills will pay off. That’s because being a good writer is about more than writing clear writing.

Clear writing is a sign of clear thinking. great writers know how to communicate. they make things easy to understand. they can put themselves in someone else’s shoes. they know what to omit. And those are qualities you want in any candidate.

Writing is making a comeback all over our society… Writing is today’s currency for good ideas.”

So, writing is valuable. Write stuff, and make it easy to find.

To further make the point, Brendon Caffery in Writing Will Always Be the Hot Sauce says:

Communication is key to any team environment. These days engineers are expected to engage via Slack, JIRA, GitHub, Basecamp, Trello, Asana, Google Docs, StackOverflow, and more. Oh, and also email and Twitter and LinkedIn and…and…and. What’s the common algorithm to solving problems on these platforms? What’s the common API? Writing.

Protip: Once you’ve written anything online (Like on Medium or a personal blog) add a link to it in the signature of your email address. Now when you email someone, if they want to learn a bit more about you, it’s easy to do so.

Two or three posts on Medium or a simple personal website will sufficie.

Combing those jobs with that telegraphed competence: Cold Outreach 🥶

OK, you’ve got some companies and roles you’re interested in. You’ve laid the groundwork for telegraphing competence by writing online and making it discoverable, and you’ve added a link to your website to your email signature. It’s time to start writing emails to strangers.

Cold outreach. It’s hard, right?

GIPHY

I agree. If you don’t like sending people emails out of the blue, I have a suggestion for you. Role-playing!

You’re going to roll-play someone who likes to do sales-y activities, and that person is going to get you a job.

GIPHY

You’re “selling” the product of your own development skills. So, get into a sales mindset, and you’ll do just fine.

AH JOSH I AM NOT INTO SALES! Sounds so smarmy and cheesy and self-serving. I just want to find a healthy team where I can make meaningful contributions to the company, my team-mates, and the customers.

Right! And to do this, you need to imagine things from the perspective of a hiring manager or team lead who might hire you.2 This person is busy, has a ton of priorities, and is hiring because they have an urgent need for more engineers. This person probably dislikes dealing with hiring as much as you dislike dealing with job hunting.

To obtain this empathetic perspective, start here: Dear HN “Who’s Hiring” responders, and read the entire comment carefully. Then go apply it in your emails.

Cold Outreach is an Umbrella Term for a More Complicated Operation ⛱

I see the whole process of cold outreach as a collection of microskills, just like a complicated operation in Ruby or Javascript. You break the big complex task into small, managable sub-operations.

For example, if the big complex operation is: get a job

Then this might be a progression through the sub-operations

  1. Find people who know more about the industry, company, or job market than you do
  2. Find means of contacting these people, for example, email
  3. Write emails that lead to further emails
  4. Have conversations where someone thinks you might be a good addition to the team
  5. Telegraph technical proficiency in the course of email correspondence

etc.

All of those are tiny sub-skills of the job-hunting process. if you can do the first three, getting a job is just a matter of volume. One email or one conversation won’t turn into a job, but ten might.

Twenty almost certainly will.

Turing has a #cold-outreach channel. Join it.

The hardest part of cold outreach is just starting it. There’s 100 things you can do that make you think you’re making progress, but besides actually sending an email to a stranger none of it is effective.

Patrick McKenzie is one of my favorite folks on the internet. He wrote this piece on salary negotiation which is still the gold standard on the topic.

Even though you’re not “negotiating salary” until you get an offer, you are negotiating it by proving your worth and showing you have value to bring to a company, and by being professional in your communications. All of that can be done in the first email.

Here’s an inspirational tweet:

Patrick McKenzie (@patio11) is a good person to follow on the internet

He wrote https://stripe.com/atlas/guides/starting-sales. Scroll down to “How should you communicate with customers?”, and mentally swap “customers” with “potential employers”, and go from there. within reason.

I recommend you follow Stephanie Hurlburt:

There’s tons of people that she retweets that are tweeting some variation of

I’d love to help people with {topic}, and DM’s are welcome. please ask me for help

Reaching out to these people would be a good place to get practice w/cold outreach.

I have a bit of an advantage because I’ve done sales in the past. Most of the skills for sales translate well to getting a job, so… as much as you can, imagine you’re a sales person, but the product you’re selling is your own skills as a developer.

The Craiglist Penis Effect, and Why There’s Less Competition Than You Might Think

Years ago, I was helping review applications for a role my team had. It was one of the sweet roles you’d find on https://weworkremotely.com/. We got 300 applications within a few days.

I dismissed 270 of them out of hand, based on the email preview alone. They all began with either

Dear Sir or Madame…

or were some variation of

Here’s my LinkedIn/CV, let me know if you’re interested

Why did I dismiss these out of hand?

  1. Zero effort to differentiate themselves
  2. They obviously did zero research on our company, our team, or our product

In this situation, how did someone differentiate themselves?

We had one person email me directly with questions about the role before they applied. They asked good questions, and did at least a few minutes of research on the role. I floated their application to the top and was pulling to hire them, without knowing anything else about them, soley based on this little bit of proactive effort.

This “little bit of effort” phenomena is sometimes called The Craigslist Penis Effect (that link is safe to click).

The Craigslist Penis Effect describes situations where everyone else is so horrible that, by being even half-decent, you can out-do everyone else.

I propose that you view getting a good job as a numbers game:

300 applications per job minus 90% of those applications (because most job applications are a dumpster fire) leaves removes 270 of the applications, leaving 30 tolerable applications per job.

So, if you’re in the 50% percentile of the remaining applications, every dev role comes down to you and fifteen other people.

As a Turing grad, i’d bet you’re closer to 80th percentile for that pool, so you’re now down to competing with ~6 people for every one of those jobs.

Conclusion

In summary, get good at:

  1. showcasing your work (I.E. a personal website that proves you can write some tolerable code, or have an aptitude to learn)
  2. telegraphing competence in basic email communications

Write personalized, engaging emails to fifteen people, and you will guaranteed have a collection of interesting email responses, and will have a few interviews lined up.

For another take on the same idea, read Everyone thinks they’re hiring the top 1% (Joel Spolsky). The numbers are far more favorable to you than you may be inclined to think.

FAQ

A guide like this leads to questions, of course. If your questions are not answered here, send them my way and I’ll add them!

Who would you contact? Just the hiring managers, or does it make just as much sense to reach out to my potential peers.

I’d reach out to potential future peers first, with something like:

Hi there, I’m doing some research on {your company}. Do you like the work that you do? Do you think it’s likely you’ll still be there in a year or two?

And, if they say

No, I will not be here in a year

That’s a great spot to ask why. Maybe you don’t want to join the team either!

Any thoughts on best ways to get the right email address?

Look up employees on LinkedIn; some of them will link out to twitter or personal websites or github or something on their linkedin page.

Then start clicking around, trying to find a way to get in touch. (Github profile names are often the same as twitter handles, and often list a personal email address in the profile, for example)

If they have their email address listed publicly, it’s fair game to shoot them an email.

Is there potential for cold outreach to do harm? Google, for instance, receives over 2 million applications per year. I could imagine this leading to feelings of frustration from HMs even when receiving a well-thought-out email.

I am sure, but the vastly more probable outcome is you send them an email, and they don’t write back.

I always end these emails with:

No doubt you’re super busy right now, so I’ll bump this email up your inbox in a week or so if I don’t hear back

  • Josh

and… a week later, if I don’t hear back, I’ll send a very short follow-up, and then leave it at that.

I’ve done a lot of cold outreach, I’ve had plenty of non-responses, but never seen anything bad come from it.

I’ve also worked with quite a few other people through the above process, and never seen bad results.

It’s a statistical guarantee that if you send enough of these, you’ll eventually catch someone on a really bad day, but even then they’ll probably just say:

don’t email me

and then you don’t!

Footnotes

  1. When I wrote this, my website had quite a bit less going on. This website could be an intimidating model to copy, if someone is just starting out writing online. I promise that this website has as humble beginnings as any you’ve ever seen. 

  2. In How To Write A Letter of Recommendation for Yourself, I estimated the cost of a bad hire to be $100,000 and nine months of lost time. An individual who knows very well “of what he speaks”, upon reading the article said: “I can attest that your $100k cost to company for a bad hire is very conservative!”