Josh Thompson     about     archive     office hours

Job hunting recommendations for early-career software developers

Table of Contents

This is a collection of resources that come from a range of conversations I’ve had with Turing students. Some of it is specific to getting/working remotely, but most of it is (in my opinion) useful for any sort of role. 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.

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.

Where does one find remote-friendly jobs?

I’ve had the most success getting email responses from a few places:

  1. http://weworkremotely.com/
  2. Hacker News’ who's hiring threads, like this one from December 2017: https://news.ycombinator.com/item?id=15824597
  3. https://nomadlist.com/

With the Hacker News who's hiring listings, they’re often hundreds of entries long. I.E. hundreds of potential jobs. Use this tool to filter and sort the results to find something that lines up well with you.

What sort of things did I do to actually get the job?

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) 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.

Outreach

Cold outreach. It’s hard, right?

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.

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. 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.

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 classes and functions, for example:

The big complex task: get a job

progression through microskills:

  1. Find people who know more about the industry, company, or job market than you do
  2. find means of contacting these people, most likely email
  3. write emails to them that get responses
  4. write emails that start conversations
  5. respond to emails in a way that lead to further responses/conversations
  6. have conversations where someone thinks about if I can/cannot do the job
  7. in a converation, convince someone I would be a good culture fit
  8. 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.

there’s a #cold-outreach channel in the Turing slack that I’d recommend joining. Katie Keel is amazing at this stuff. 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.

You might think you have way more competition than you actually do

I once was helping hire for one of those sweet remote roles posted on weworkremotely.com. We got 300 applications within a few days.

I dismissed 280 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 guy email me directly with questions about the role before he applied. He asked good questions, and did at least a few minutes of research on the role. I floated his application to the top and was pulling to hire him, without knowing anything else about him, on these facts alone.

This is a phenomena 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 dominate everyone else and win.

So, just see competative job postings as a numbers game:

300 applications per job minus 90% of those applications (because most job applications are a dumpster fire) leaves 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 ~10 people for every one of those jobs.

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

and you’ll do just fine.

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!


Are you a software developer who:

And wants to do all this in the most time-efficient way possible?

Great. Punch in your email:

Of course, you don't have to be a software developer to subscribe. It's easy to unsubscribe at any point. 😉