How to Write a Job Ad for a Full-Stack Developer

  • Describe the problem.
  • Ask for a written solution.
  • Don't Sell to Them

Describe the Problem

Most everyone who is a STEM professional gets into it for one thing: they love using their skills to solve problems. So doesn’t it make sense to start there?

Most job ads, especially in IT, are vague. They never state the actual, specific problem that needs to be solved. Instead, they’re written like a wish list of skills, traits, and experiences.

But, ask yourself, the last time you went to a restaurant, did you ask for a thorough review of the chef’s credentials? No, very likely you didn’t.

It’s a huge turn-off when the people asking for help, are simply saying, “I need someone like this!” The obvious response should be, “What for?”

That’s why, when you’re posting a job ad, you need to start by describing the problem. Not the role. Developers know what the role entails: write code, configure, and deploy systems and software. They get it, and don’t need to be reminded of these simple tasks.

If you were to hire an electrician, you start by telling them what your problem is. They look at your problem, and then tell you how they’ll fix it, how much it will cost, and how long. Then, they fix it, you pay them, and the problem is solved.

Old-school “Help Wanted” signs did this very same thing, and were far more effective than any job board you have today. Someone simply walked into the shop and asked the owner, “What do you need help with?” “I have thirty boxes in the back that need to be moved.” Great! Then the person moves the boxes, gets paid, and the problem is solved.

So, the approach is simple: State the problem you’re having. For example, if you want a mobile app, don’t write, “We have a position open for full-stack developer to build mobile apps.” Instead, you should write, “We want a mobile app that allows people to check in on their dog to make sure their best friend hasn’t dug his way out of the backyard.”

This works in freelancing: A client simply states what their problem is, and I describe a solution for them. Then, we proceed from there. (Most of the time, I get the job.) It’s like someone screaming for help, and then you naturally jump in and help them.

By the way, this is how you behave when making purchasing decisions. When you go grocery shopping, your problem is: you need food. The solution is: the grocery store has food. There ya go! No need to hide your company’s intentions and what the developer will be doing on the job.

Ask for a Written Solution

One of the best ways to gauge if someone is capable of solving your problem (which is what you’re hiring for) is to simply ask: “How would you solve my problem?

This measures two things: (1) The person paid attention to your ad, and isn’t just sending resumes to whoever; (2) Gives you a great talking point for an interview, and gauges their competency to solve the problem.

99.9% of the time you spend on looking at resumes can now be freed up. You’ll better serve your client (or boss) by cutting right to what really matters.

You’re not asking for the actual solution (a finished product). Be clear that you just want the candidate to provide a description of how they would solve the problem. In fact, instruct them to not send their resume or cover letter.

I know this flies smack in the face of the traditional approach… but the traditional approach clearly isn’t working. I see job ads lasting for 9+ months! No business owner in his right mind would allow that. It doesn’t take 9+ months to find a qualified person. It simply takes getting started from what really matters: the solution to your problem.

Don't Sell to Them

Nothing turns off a creative genius more than someone who wants to say, “Look at all the great things we have to offer in exchange for your mortal soul.”

It’s desperate. A company can’t attract top talent if you try and sell gym memberships, free snacks, and ping-pong tables in your break room. Anyone can provide that, and it’s very likely nobody is benefiting from having them at work.

Talented individuals, especially those in IT, aren’t looking for ways to slack off.  They’re looking for challenge and growth. They’re looking for focus. All those playthings you have in your office are distractions from getting the job done.

The perfect person for the job won’t care about the company being in the Fortune 5,000, or 500. Or any number for that matter.

Bonus: Stop the Wish-listing.

You want the perfect person for the job. That’s just not going to happen when you ask for a multi-dimensional mesh array of microservices on an AWS EC2 Lambda operation with Kubernetes/Docker containers, and 10+ years experience in fifteen different technologies.

NASA sent men to the moon and back without the laundry list of qualifications. Did they look for astronauts who had been to the moon before? No, of course they didn’t.

Before your wishlist of skills existed, people built great things. They’re great at what they know. and they know what really needs to be done. That’s why you’re hiring them, isn’t it?

So, please, stop asking for someone to fit your profile of perfection. Get started with someone who has delivered the results you’re looking for, and stop demanding that they take your approach.

If you’re a parent, and your child hands you a wishlist for Christmas or Birthday presents, it’s very likely you’ll get a few things on that list so you don’t disappoint them, while getting other gifts. That’s because you know the solution to the problem isn’t to give a child everything they want, but to give them what they need.

List the very, most essential qualifications only (eg, 5+ years experience with JavaScript).

When I see a list of qualifications that reads like this, I feel disgusted, and a bit sympathetic:

  • 10+ Years experience with HTML/CSS/JavaScript/Java
  • Kubernetes/Docker/Heroku/AWS EC, JSON, XML/XST, SASS, LESS
  • Effective communicator.
  • Debugging and problem-solving skills.
  • Knowledge of REST/JSON/XML Web Services and Integration with 3rd part libraries and APIs.
  • SDLC, SCRUM, AGILE, and other Modern Project Management Methodologies
  • Unit Testing, LINT, ESLINT, Webpack, Babel, Ember.js

Yes, that’s disorganized. That’s how most job ads read! And part of why I’m turned off by them: even the recruiter doesn’t know what they’re hiring for!

As a person who is in the STEM field, I’m focused on improving my skills, knowledge, and understanding, of science, technology, engineering, and math. I’m easily turned away by approaching me with a clear indication that you didn’t do you homework.

Do Your Homework. Full-stack developers obviously do their homework.