Originally published at coreycleary.me. This is a cross-post from my content blog. I publish new content every week or two, and you can sign up to my newsletter if you'd like to receive my articles directly to your inbox! I also regularly send cheatsheets and other freebies.
There are few things that bring developers more absolute agony than the job search.
It's weird that even though software development skills are probably the most in-demand of all time, of any career, we still face such difficulties in searching and interviewing for new jobs.
Applying online, asking friends for referrals, submitting a code test only to wait for weeks to get rejected without a reason at all... the process is one that is quite often filled with frustration, ups-and-downs, and feeling like you have no control whatsoever...
And that feeling of lack of control usually hurts the most.
Sure, technical interviews are terribly broken. Unfortunately that's not something we have a lot of direct control in.
But what we do have more control over is the job search process - identifying companies you'd like to work for, getting on their radar, getting interviews, and most importantly...
Selling your skills in a way that makes them go "we should hire this person".
A better way?
I've noticed a trend, mostly on Twitter, of developers making it publicly known that they are looking for new work.
And they all seem to follow a similar format:
One is just: "I'm looking for a new job, I have X years experience as a Y developer. Hire me!"
The other, a bit more in-depth, but still essentially the same as the first type, and often in a Twitter thread format that requires people to scroll through a bunch of tweets:
"Looking for a new job. Know Node, React, Mongo. Have 5 years experience. Fast learner. Interested in working on blockchain, consumer-facing products, also open to Dev Advocate positions. pls RT for reach! #HireMe"
I realize that this might feel better than just mass applying to companies and blindly sending out your resume. It feels like you're being more direct, and to a certain extent you are.
But the problem with this approach is:
- When you list out the technologies you know and years of experience with each you look like everyone else - this IMO is the biggest problem
- Others have to do the work of figuring out where you fit in
- When you say what you're interested in working on, while this is good to point out, you aren't framing things in terms of how you can help the company
- It says that you're looking to join any company, not specific companies (companies always ask this in the interview process anyways - "So, why do you want to work here?")
- It might increase your reach if you get people retweeting, but it relies on other people signal boosting you (that is, if you don't have a large following/network already)
Ultimately, it's the "spray and pray" approach. Just like blindly sending out hundreds of applications and hoping someone bites, this is the same thing.
The job search process is a sales process - one in which you are selling your skills and experience. And when you sell yourself with a pitch like...
"I'm a React developer with 3 years of experience who is also interested in blockchain and even Developer Relations roles!"
...this is essentially like saying...
"Hey I have a slightly specific thing to sell you! Good luck figuring out how it will help you and how it's different from what every other developer looking to join your company is selling!"
From my experience - and from what I've observed from the experience of others - I think there's a much better way to go about this.
With a little more work, it can be much more effective and get you closer to your goal.
There's a way to sell your skills that removes the work that hiring managers have to do to figure out where you fit in, shows how your skills and experience will help the company, and ultimately differentiates you from everyone else.
That gives you more control in a process that often feels like you have absolutely no control whatsoever.
And it's an approach that is actually proactive - one that avoids the trap of confusing feeling proactive with being proactive.
A better approach
This approach is something that I've built up over the last several years based on my experience, learning what others have done, and learning from hiring managers what they really look for and what impresses them enough to get an interview.
At a very high level, it is:
Step 1, figure out what companies' problems are:
- Research company website, engineering blog, etc. to find out what these problems are
Step 2, show how you can help solve those problems:
- create your "pitch" (whether this is a resume and quick paragraph email, or something in person, approach is the same) by showing how your skills and experience will help solve their problems
You might have even heard "figure out how you can help a company and sell them on your pitch" before but wondered how you actually go about putting it to use. "Figure out what a company's problems are and show how you can solve them" - by itself, is very vague and un-actionable.
The goal here is to be able to walk away with something that is actionable, that you can create a plan around.
So let's cover this process in more detail.
Step one, figuring out what company's problems are
The first step is figuring out what a company's problems/challenges are: What products are they working on? What challenges might those bring? Did they just land a round of funding and are trying to scale? What business domain knowledge are they in need of?
While it might seem like this information is hard to find, if you know where to look - and what to look for - it can be pretty easy actually.
1. Job posting itself
This is the first place to look. Not all job postings will talk about the kinds of things they're working on or reveal more information about the company, but many will.
Things to look for are:
- What are recent things they've worked on or tools they've built?
- What are things they're working on now? Projects/products/etc
- What projects/products do they mention that you would be working on?
- Do they mention any specific technologies you have experience with (not Node/React etc, but for example, performance testing tools -> this suggest they have a lot of traffic and they need to profile their services, something that you would be a good fit for if you have this experience)
- Anything they explicitly mention they need help with? Sometimes job posting will say things like "We just had a huge increase in users and need to hire another developer to help us re-architect some of our core services".
If it hasn't been made clear already, researching the items above will not only help you understand the company's pains/challenges/problems, but will help you start figuring out how your skills and experience match up with those challenges. And this will help you draft a targeted pitch that will help solve those challenges.
Onto the next place to research...
2. Company website
It varies, but most company websites will usually have at least some information you can use to reverse engineer and figure out their challenges.
Things to look for are:
- The list of product(s). Is there anything similar you've worked on that you can show you understand the business problems and domain? Anything similar you've worked on where you helped make UX and/or feature decisions (where you stepped outside your developer-world bubble?). Anything similar that you had to develop a unique technical solution for? You want to show you can understand the business/product side of things and translate that into technical solutions.
- List of customers (company's love to list customer logos!). While on the surface this might not seem that helpful, it can actually provide helpful information. Is there a particular type of customer they have that you have developed solutions for before? (i.e. - government, insurance, etc). Any specific customer you have built products for before?
- News section. Companies will often talk about new customers, recent acquisitions, and new product developments here. This will give you a sense of where the company is headed and is really useful to bring up in interviews as it shows you have an understanding of the current state of the company.
3. Engineering blog
Again, not all companies will have this, but it's a very useful thing to look through if they do. Even if the company itself doesn't have a blog, you can look for developers who work at the company and try to find their blogs.
Things to look for:
- What projects/products have they developed recently?
- And more importantly, what led them to build these things? What business challenges or goals drove the project? What technical challenges drove it?
4. Open source projects
Things to look for:
- Pretty much the same things as the engineering blog, but make sure to skim through the "Issues" section to see if you can find anything else interesting.
5. Twitter accounts
Lastly, finding Twitter accounts of developers/CTO who work at the company you're interested in can provide a lot of the information in the other various places to look I detailed above. The bonus is that you can follow them there, interact, reply with technical solutions, etc. But that is obviously playing the "long game" and something that takes a good bit of time.
Wrapping up research
While all of the above might look like it would take a lot of time to research for each company, remember that not all company's will have a lots of information out there, or in all channels (website, blog, etc.).
And most importantly, this doesn't have to be hours of research for each company, just enough to get a sense of problems they have and are trying to solve for. I usually try to spend about 15 minutes on research per company (although some will be much less and some will be more, this is just a rough guideline!).
Step two, show how you can help solve those problems
Because we've already covered a lot here, I'm going to save this for my next post, next week.
The "pitch" aspect could honestly be a whole book by itself, but we'll go over the highlights. Enough so that you can take the company research you did (using the tactics from this post) and apply it.
Whether that's sending out more crafted emails, more targeted applications, or simply reaching out to a contact you have at the company you're interested in working for.
For now, just remember to avoid the spray and pray approach. Whether this is through generic "hire me!" Twitter threads or just plain old blindly sending out applications.
I think you'll have a much better success rate, avoid the agony of having your application ignored that often comes with job searches, and get the kinds of jobs that will be a great fit for you.
Final comments
I usually write about JavaScript, Node, and software architecture. But I'm going to start occasionally writing more posts like this. There's a lot of vague career advice out there that is neither specific nor actionable - if you found the process and the steps covered in this post helpful and actionable, be sure to look out for part 2 next week!
And here's that link again to subscribe to my newsletter!
Top comments (18)
This is fantastic.
Iโd like to add that for elevator pitches, like your Twitter bio, LinkedIn header, or other places with low character count, I like to use this formula:
Examples:
Yeah this is the perfect way of framing your value proposition. Even aside from it being in your public social media profiles, just thinking about what you have to offer in that way I've found helps a lot.
Thanks for the comment!
Great post. Really liked how you gave a plan of how to go about getting good information on the company and essentially standing out.
I imagine one of the advantages of your approach is that you are signaling to a potential employer that you want to work there w/o sounding like you are begging which is always a tricky balance. Almost like saying "this is what I can do for you, you'd be a fool not to hire me." hah
Yes, exactly. You nailed it!
Nice work! I like the approach.
I like to think of it as a value add proposition. Here is how I can add the most value to your company and Oh BTW I have these other talents that will enhance your business.
Corey, nice post; I'll give it a shot. Sure as hell can't hurt at this point. I've great skills/experience that seem to be in demand but I'm not having much luck. I don't know if it's my age or the fact I took some months off to upgrade skills, (and partly due to US federal shut-down). Probably a combo of both.
Best of luck Mark - I've also noticed that sometimes hiring tends to pick up at different times of the year too, so that could be a contributing factor.
This is the exact (not the whole thing) that I did when I tried to apply for my first job role as a junior developer, I did stalk a lot about the CTO and found out that he is so active in Javascript space in my country. He often posts about the direction on where he wants the company to go and which technology they are using, it becomes easy for me to formulate a strategy that I can use during the interview, I created a very strong answer on why they should hire me even if I am just a fresh graduate.
What I am trying to say, is it will work even for developers who are just starting out and have no good experience yet.
That's awesome to hear - thanks for commenting. This kind of approach definitely does work even for more junior developers, great to hear from someone else that it does
I like this approach. I'm going to see what I can do to start incorporating more research into my application process. I always research the company to see if I even like them or their products. The thing I'm having trouble with right now is trying to figure out what stack a company is actually interested in using. Lots of job postings are very vague and list 5-6 languages, just as many frameworks, and some other vague bullet points. How is somebody even supposed to know what a company is asking for in their posting? It would be nice to know if I'd be a good fit without wasting time for both of us.
Yeah that can be really frustrating - one thing to point out is that sometimes such companies may be vague about tech stack (or list lots of different languages) because what tech you know isn't as important to them as, say, culture fit, business domain knowledge,etc.
Of course, this isn't the case all the time, but I've found it to be many times in my job searches.
And if the job posting itself is vague aside from tech stack, I've found that to be a red flag haha. I've found that companies that 1) know what they're looking for 2) know how to communicate that are usually better ones to work for. And I move on from the really vague ones
I love this. You are taking the application process and making it your own!
You talk only about giving up your source code for money. There are other options like, creating a product and licensing it, saas, where you give someone a period to use your creations for small fee, etc. And yes, it is harder, it requires more than just tech skills. Also, Read Rich Dad, poor Dad of Robert Kiyosaki.
This is smart as hell, I'm definitely going to think about this approach in applications moving forward. Thanks for taking the time to write this up!
Awesome post, I started out with the spray and pray approach when I was starting out. A really good way to help in searching for a job.