You’re reading an excerpt of The Holloway Guide to Technical Recruiting and Hiring, a book by Osman (Ozzie) Osman and over 45 other contributors. It is the most authoritative resource on growing software engineering teams effectively, written by and for hiring managers, recruiters, interviewers, and candidates. Purchase the book to support the author and the ad-free Holloway reading experience. You get instant digital access, over 800 links and references, commentary and future updates, and a high-quality PDF download.
Something as seemingly simple as a job title can contain and convey a complex range of information—the nature and scope of work someone is responsible for; how senior they are; and potentially whether they report to or manage other people.
Titles can be confusing. Systems Engineer could mean very different things to different teams or companies depending on the degree of specialization. Someone who works on applications could be an Application Engineer or a Fullstack Engineer or a Frontend Developer. And yes, you’ll even see Programmer thrown around as an actual title. Any titles might also be combined with seniority designations such as Junior, Senior, Manager, Director, and more. This can make it hard to determine meaningful relative comparison across organizations—an Engineering Manager at a startup compared to one at Google likely have very different responsibilities.
Larger companies typically develop specialized titles based on the functional area, as shown in the table below.
Systems Engineer; Systems Architect; Systems Analyst; Software Architect
Product Engineer; Full Stack Engineer; Backend Engineer; Frontend Engineer; Web Developer; Application Engineer; Application Architect; Enterprise Architect; Information Architect
Machine Learning Engineer; Data Scientist; Data Architect; Data Analyst; Data Engineer
DevOps Engineer; Site Reliability Engineer; System Administrator; Cloud Architect; Infrastructure Engineer
Quality Assurance (QA)
QA Engineer; SDE in test (SDET); Test Engineer; Quality Engineer; Automation Engineer
Solutions or Sales
Solutions Engineer; Customer Support Engineer; Solutions Architect; Sales Engineer; Professional Services Engineer
IT Administrator; System Administrator; Network Administrator; Database Administrator
Security and Compliance
Security Engineer; Security Architect; Information Security Analyst; Information Security Architect
Engineering Manager; Development Manager; Software Engineering Lead; Senior Software Engineering Lead; Director of Engineering; Senior Director of Engineering; VP of Engineering; Senior VP of Engineering; CTO; CISO; CIO
contributeIf you know of other titles or categories we’re missing here, please let us know!
Some companies take a philosophical stance against job titles. For example, Gusto had no job titles, even at 800 employees and including its executives. Stripe and Cloudflare have similar approaches.** Others allow anyone to choose their own job titles. But typically, smaller companies start with a simple approach, like dividing roles into really broad categories like Developer or Software Engineer, and maybe Frontend and Backend, depending on the role. For comparison, see how Basecamp (50 employees) handles their developer titles.
Ideally, titles also map to levels, but this isn’t always possible or necessary. The role (and its own associated level, responsibilities, and outcomes) conveys much more about what the candidate’s experience will be, should they join your company.
No matter what, as you think about titles for roles you intend to fill, consider the candidate perspective. For many companies, titles are merely perfunctory words that describe a role; but the title you choose for a role is often the first thing that a candidate sees. And to candidates, titles can reflect a complex interplay of self-worth, social status and influence, and potential advantages or pitfalls when they look to get promoted or find another job.
Tips for Writing Effective Job Titles
The most effective titles are specific, descriptive, and concise. This post from Recruiting Intelligence on writing effective job titles covers a few key guidelines, including specificity and clarity about the role (details like seniority, backend vs. frontend engineer); avoiding abbreviations or acronyms and quirky descriptions (Sr. Happiness Mgr); and skipping superlative or idiomatic descriptions (because terms like “rockstar” or “guru” may deter qualified applicants from applying).
Job titles are a form of marketing. Most inbound candidates will find a job listing via some form of online search. With that in mind, it helps to consider some search engine optimization (SEO) tactics that will help your job show up and stand out. (These principles will apply to the content of your job descriptions as well.) Here are a few resources for factoring in SEO when deciding on titles: