A Developer Job Description Needs a Tech Stack
When I stumble across a developer job description that doesn't mention the company's or product's tech stack (the set of technologies the role uses), I can't believe the missed opportunity. Many developers are motivated by the cool tech they get to work with when they join a company. Or demotivated by the not-so-cool tech they have to work with. So if you leave out the tech stack from a JD, that does two things:
- You're missing a major opportunity to dangle something shiny and compelling in front of a good percentage of the candidates. It would be like if your company offers a 401k with 100% matching, but neglects to mention that to candidates until after they're hired. Or you provide an all-expenses-paid trip to anywhere in the world once a year, but you bury that information in the orientation materials. If you've got a shiny thing like an enticing tech stack, or even a moderately interesting one, use it for recruiting! Put it in your JD.
- Omitting the tech stack from a JD sends a message, and not a good one. It implicitly telegraphs to candidates: "We don't value our tech/productivity here. Or we're not proud of our tech here. Or we think developers familiar with completely different tech stacks are interchangeable cogs. Or some combination of the above. Use your imagination!" You don't want to leave that sort of thing to the imagination. You want to confidently tell a candidate: "We value tech/productivity, we are proud of our tech, and we know you're not a cog. Don't believe us? Here's the proof. Revel in the glory that is our sweet tech stack."
How to Include a Tech Stack in a JD
A tech stack in a JD is like a good baby onesie. It needs to cover the essentials. It doesn't need to cover absolutely everything. Something is better than nothing.
If you're faced with a choice of enumerating every tech that your company uses, or just focusing on the tech that the position would work with on a daily basis, chose the latter. That may be the tech of a single product or a single stack, as appropriate.
Include programming languages and frameworks, but don't forget to include tech like CI/CD, configuration management, etc. Not only does this telegraph that you have your shit together as an engineering organization, it's part of your complete stack and therefore of as much interest to some candidates as more traditional stuff like the programming language.
In terms of format, a simple bulleted list is fine, with or without explanatory prose. If this is too long vertically, you can always group related items into the same bullet. If bullets don't work for you, a couple of sentences outlining the stack is fine. In many cases, prose can actually work better than disconnected bullets, because it gives you the opportunity to tell a story with your stack. "We use X to produce this value for customers, and Y helps support that in such-and-such a way."
If you're worried that candidates will see the tech stack and assume that knowing every last piece of tech is a requirement to apply, be explicit about that. Say: "We realize you won't know all of this coming in. That's okay! Good engineers can learn." Or whatever.
How Not to Include a Tech Stack in a JD
It's not enough to implicitly include your tech stack in either "requirements" or "nice-to-haves". That doesn't clearly state "This is our tech stack". Instead, that says: "This may or may not be our stack, and we're looking for developers who may or may not have had prior experience with these technologies." Come right out and unambiguously say: "This is our tech stack. Isn't it cool?" Okay, well maybe not the "cool" part. Leave that as the obvious conclusion the candidate draws.
Even if you're explicit about your stack, you can also include tech in your requirements or nice-to-haves sections. That lets you clearly make the distinction between "We use tech X" and "We recognize it'd be cool if you know tech X, Y, or Z".