Josh Thompson     about     blog     projects

How To Write A Letter of Recommendation for Yourself

Article Table of Contents

I meet regularly with early-career software developers. A few recurring meetings, 1x/week, plus ad-hoc calls as needed with others.

A question came up recently:

My three-month internship is close to wrapping up. The Co-founder/CEO/lead developer of the consulting company I’m at likes me, said he wishes he could hire me but cannot, because they don’t have enough work in the pipeline.

He said he’d write me a letter of recommendation, and asked me to draft it for him.

How do I write my own letter of recommendation, for my first real software development job?

Feels like a trap, huh?

who are you?

source

Or, maybe they know you. They know you too well

untrustworthy

source

I explained a few concepts that we wanted to “speak to” in the letter. I’ll explain.

The software developer that I meet with mentioned that the CEO’s advice on the next job included “be able to speak to low liability”.

I wanted to dig into this “liability” piece.

How much does a bad hire cost? #

What’s the biggest risk in hiring?

It’s the risk of a bad hire.

How much does it cost to make a bad hire?

I would conservatively estimate that it costs $100,000 and nine months of your life. Here’s how the math works from a hiring manager’s point of view:

  1. Spend a month and 25 hours of labor dev team manager labor to find/interview the candidate(s) and winnow the applicants down to someone to make an offer. (the hiring manager would prefer to be doing literally anything else but hiring.)
  2. Extend an offer, wait 2-6 more weeks before the new candidate starts. It can be painful to wait another six weeks, because the team is currently short-staffed, and has been for a long time. That’s why they’re hiring!
  3. Start date! Start paying $150,000/yr or $3000/week for your shiny new employee.
  4. Pay $12,000 for the first month of them working, figuring out your dev environment, ticket management, who knows what parts of the codebase, and a few easy bug fixes.
  5. Start getting nervous. Employee not batting it out of the park like you’d hoped. Maybe still onboarding, give it another month (and $12,000 in payroll expense).
  6. OK. Three months in and another $36,000 in payroll later, you’re pretty sure there’s a problem.
  7. Start the pre-Performance Improvement Plan work. Talk to their team, their manager, them. Why is it not working? Why is the team working slower with this new team member, instead of working faster? Not only are you wasting five figures of payroll, the rest of your expensive dev team is producing less as well!
  8. Pre-PIP work is over. Another $5k in payroll gone forever. Now it’s time to give the formal PIP, which everyone knows is “beginning the firing process”
  9. Two more months and $24,000 in payroll later, you fire the employee.
  10. You feel relief with having gotten rid of the bad employee. You’re thrilled that you can get back to normal work.
  11. Check the clock and balance sheet. It took you nine months and $100k to get to where you were at step 1.

Add up the time/expense:

  1. 1-2 months to to find/hire a candidate.
  2. 7-8 months (and $84K-$96k) to hire, trial them, try to help them be successful, give up on that plan, and fire them.
  3. Many hours spent thinking about this specific problem, talking with others about it.

There’s nine months of your life. That’s 9 months of time, sure, but it’s also 9 months of opportunity cost. What if you’d hired a great candidate? They’d be rapidly approaching their first year on the job, and everyone would be happy about it, instead of this disaster you’ve had to deal with.

Here’s the really scary part: To large organizations (1000+ employees), wasting $100k is meaningless compared to the wasted time and mis-directed effort. The entire organization is more annoyed at having lost the time of a productive software developer. They don’t care that they lit a giant pile of money on fire, they’re annoyed that their competitor is getting new features out the door and gaining marketshare and the future of their $x,000,000 company hangs in the balance.

Oh, and the good managers, not only do they want to be wise with money and build features/gain market-share…

They want to see their team flourish.

Being fired is a life-defining moment. (I speak from experience)

If you’re a kind and empathetic person, it’s particularly unpleasent to fire someone and it feels like a personal failure.

You want to work for a kind and empathetic manager. (They’re not common, but they’re not impossible to find.)

So, tailor your letter to speak to the concerns of a kind and empathetic manager. This manager would:

  • Want to see you do well
  • Want to see you develop your skills and competencies
  • Want you to make meaningful contributions to the product
  • Want a healthy team dynamic
  • Want you to voice concerns and observations as relevant

And much more

A Primary-goal for an early-career software developer: Telegraph Low Liability #

First, when I say telegraph low liability I mean it in the sports definition:

In sporting terminology, to telegraph is to unintentionally alert an opponent to one’s immediate situation or intentions. The sporting use of the term telegraph draws a direct comparison with the communication device of the same name. “Telegraphing” always refers to a reflexive physical action rather than a protracted or intellectual give-away. For example, a boxer rotating his shoulders to throw a hook would be telegraphing.

You should aim to “telegraph” that you’re a low-liability hire without ever saying it so explicitely. It’s a subtle thing, best communicated incidentally, not directly.

Five years ago, I wrote So you want to work remotely…

Quoting myself:

First, there’s the matter of framing how you go about working remotely. Obviously you want to work remotely, but put yourself in the shoes of a prospective employer. They don’t care if you work remotely or not - they want you to do great work for them and make them an effective, profitable organization.

Companies that hire remotely tend to be younger, agile-er, and smaller. So every employee matters. Making a bad hire can be catastrophic in terms of money and opportunity cost. Your job is to make it very, very obvious that hiring YOU is a great decision. In fact, you want to be so good at what you do that passing up on you is a terrible decision.

[…]

When you can walk someone down the path from “Hire me” to “I’ll help you make $x00,000/year more than you would otherwise”, you’re talking their language. You’re telegraphing that you understand their concerns without ever stating their concern explicitly.

To bring it full circle, here’s how I would go about drafting a CEO’s Letter of Recommendation for me. If you find this idea uncomfortable, don’t worry about it. That’s a sign of psychological health, that you don’t love putting flattering words about yourself into other people’s mouths.

Six Steps To Draft A Self-Promotional Letter Of Recommendation That A Friendly Boss Requested #

Normally, that’s a good aversion to have. For this particular situation, you’ll have to bite the bullet and move on. I’m not going to give you the actual words (how could I?) but I’ll explain my process. I’ll include comments throughout:

1. Draft the opening/closing #

Hi there,         
# I find it easier to strike a natural tone when thinking relatively
# informally. So, I draft documents, even if they'll end up being 
# formal, informally. 
             
             
Sincerely, 
- Boss's name, Title, Company
# Yes, I write the closing right after the opening.

2. Provide 1 general introduction/context sentence #

Hi there,

# Establish the relationship. This helps readers contextualize 
# what comes next
I met {person I am recommending} {n months ago} because 
 {internship|coffee meeting|event|etc}.

Sincerely,
- Boss's name, Title, Company

3. Say a complementary thing about yourself #

This is the first uncomfortable sentence you’ll have to write:

Hi there,

I met {Zaniyah} {a few months ago} because {she and I crossed paths
at a local Ruby meetup}.

# No gushing required. A claim of "I would hire this 
# person if I could" is plenty strong social signaling. 
I wish I could hire them myself, but don't have the budget and work
lined up to utilize them to their full potential. 

Sincerely,
- Boss's name, Title, Company

4. Share an anecdote that touches on the potential you show #

This can be hard to think of an anecdote. It might take a few attempts to feel good about the one you’ve chosen and how you speak of it. Just write something down, see how you feel, delete it, write something else down, etc.

Hi there,

I met {Zaniyah} {a few months ago} because {she and I crossed paths 
at a local Ruby meetup}.

I wish I could hire her myself, but don't have the budget and work 
lined up to utilize her to their full potential. 

# add a punchy positive story
When she started at {company}, one of the first things she did was 
make many updates to our onboarding documentation. 

It was rather out-of-date, and the team hadn't had new hires in a 
while. 

Any time she ran into friction or trouble, she would hunt down the 
answer, and immediately update the documentation so the next 
person would have a smoother process.

Sure enough, the next hire spent half the time she did getting 
up and running.

# If possible, generalize from that story to a stable attribute 
# that informs your work:
She brings a similar attention to detail and thoughtfullness about 
"the next person" to all of the work that she does. 

Sincerely,
- Boss's name, Title, Company

5. Add a sentence offering to speak further about you #

Hi there,

I met {Zaniyah} {a few months ago} because {she and I crossed paths 
at a local Ruby meetup}.

I wish I could hire her myself, but don't have the budget and work 
lined up to utilize her to his full potential. 

# add a punchy positive story
When she started at {company}, one of the first things she did was 
make many updates to our onboarding documentation. 

It was rather out-of-date, and the team hadn't had new hires in a 
while. 

Any time she ran into friction or trouble, she would hunt down the 
answer, and immediately update the documentation so the next 
person would have a smoother process.

Sure enough, the next hire spent half the time she did getting 
up and running.

She brings a similar attention to detail and thoughtfullness about 
"the next person" to all of the work that she does. 

# `An offer to provide evidence` is functionally the same as 
# `evidence`, so:
I'd be happy to answer any follow-up questions you might have 
about Zaniyah. Feel free to email me at `email`

Sincerely,
- Boss's name, Title, Company

Give this letter to your boss for them to edit it to their liking #

It may be intimidating to hand something like this to your boss.

Would they really have said such kind things about me? Won’t it be awkward if they read it, and say “eh, you’re not this great, lets tone it down a bit.”

It would be awkward, but they won’t do that.

Instead, they’ll be thankful that you did all this work for them. You know what feels terrible?

really wanting to say a nice thing about someone, but good stories/examples of why they’re great don’t come to mind. You KNOW there are good stories and examples, but you don’t remember them all.

You’re solving a big problem for your boss, in writing this letter. That is why they asked you to draft your own letter of recommendation for them.

Done!

If you’ve been tasked with writing your own letter of recommendation and it’s super intimidating, get in touch and I’ll help you out. Writing the first one is the hardest, it gets easier as you go.

I’m not an expert on this kind of thing, but I always like finding templates others have given for how they do things. Don’t think that this is the Right Way or (heaven forbid) The Only Way. This is just how I do it. If you’d got a resource that has helped you, tell me about it and I’ll update this post with a link to it!

Lastly, if you got value from this blog post, I can probably deliver value to you again. Punch your email in below and I’ll let you know when I write other posts, or do a big update to an existing post.