Years ago, Dan Sohval applied for a job with the title “creative engineer,” but after landing the role, he found that it required minimal creativity and engineering. He quit within weeks.
Now, as Fullstack Academy’s NYC director, Sohval has seen his students shy away from companies that refer to their employees with informal titles like “coding ninja” or “rockstar developer.” On the other hand, students are proud when they’re given more traditional, authoritative titles, like “software engineer.”
“A job’s titles ought to serve as a metonym for the level and scope of its responsibilities,” Sohval says. “Yet titles are often used by firms as red meat for hungry talent, or as signifiers that conflate applicants’ technical ability with ‘geek chic’ social interests.”
“Coding ninja” may have outlived its appeal, but we’re far from consensus on what to call someone who works on software. For many, it doesn’t matter—“programmer,” “software developer,” “software engineer,” or just plain “coder” could suffice—so long as they can get work done. But this perspective doesn’t account for circumstances and experiences where title does matter. Sohval’s Fullstack students are wary for good reason, as titles like “coding ninja” are ambiguous and relatively uninformative on a resume. However, even specific (and more professional) titles may not accurately represent someone’s roles or responsibilities. For those who frequently face bias in hiring, such as women and people of color, unclear and inaccurate titles can create additional institutional obstacles.
As more roles in more industries open every year, software job titles are in flux, caught between the tradition of relaxed alt-culture coders and the increasingly professionalized developers who populate a widening field of institutions. Titles continue to be more suggestive than descriptive: A software developer at one company won’t necessarily have the same duties and responsibilities as someone with the same title at another.
What’s in a title?
Some people who make software for a living use “software engineer,” “software developer,” “programmer,” and “coder” interchangeably. But the terms’ nuanced definitions might matter when, say, looking at a job listing that lists one position over another. In her book Broad Band: The Untold Story of the Women Who Made the Internet, Claire L. Evans describes a 1968 NATO conference at which a deliberate semantic change was made: At a time when women’s roles in software were rapidly shifting, participants swapped the term “programming” (“a rogue, wild-blooming field roamed by fiercely independent, self-directed misfits and women”) for “software engineering” (“a branch of engineering” and “a job with clear credentials”). Today, our perception, if we differentiate between the positions at all, might be that software engineers build applications from the ground up, while programmers modify existing applications or work to develop pieces of them. But in practice, the terms are interchangeable.
“Aside from some pretentious gatekeeping by people who put a disproportionate amount of stock in certifications or master’s degrees, we all pretty much agree that ‘software consultant,’ ‘developer,’ ‘coder,’ ‘engineer,’ ‘programmer’ mean the same thing in practice,” says Isaac Lyman. He makes software for a living, and has called himself a developer, engineer, and programmer at various times.
Curtis Britt, director of IT services for Korn Ferry Professional Search, adds, “Some candidates, you could really title them whatever you want as long as the technology, the project, and the application are fun and exciting.” On the other hand, he says, “you have a subset of the developer space that are fairly particular about what they’re called . . . who just want to be titled ‘software engineer,’ or individuals that just want to be titled ‘JS developer.’” It’s a preference informed by workplace culture, employment considerations, and sociocultural dynamics.
“‘Coder’ is half of ‘cowboy coder,’ which no one wants to be seen as—unless they do, and therefore are,” says Robb Chen-Ware, product manager at the software-development shop HappyFunCorp (and a friend and former coworker of the author). “‘Programmer’ feels [antiquated] to me—my dad was a programmer in the 1990s and worked on Y2K stuff.”
But tried-and-true can be reaffirming. Of the women in programming Increment spoke with, the majority self-identify as developers, a title that dates back to the early 1960s, if not earlier.
“It seems the most professional,” says frontend developer Kristen Cabrera.
However, Helena McCabe, technical account manager at design and development firm Lulla-bot, faced a more nuanced bias in her previous role as a senior frontend developer: the need to distinguish between frontend developers and developers.
McCabe pushes back against the notion of backend as the default. “Either call all of us ‘developers,’ or call backend developers ‘backend developers’ and call frontend developers ‘frontend developers.’ Both disciplines are equal specialities in their own right.”
For others who work with software, title preferences are a matter of better pay.
“Looking up the average salaries for those job titles, engineers make the most and coders make the least, so there’s at least some correlation between how much you make and what you call yourself,” Lyman says, reflecting on research he did for a blog post he published on Medium in 2017.
Of course, companies pay differently for broadly similar titles: A software developer at General Motors, for instance, makes $66,000, while the same-named position earns $111,000 at Amazon and Microsoft, according to the job-research site PayScale. Salary data is also complicated by factors like varying role responsibilities and cost-of-living differences.
In an October 2018 blog post, technology writer Erik Dietrich theorizes on pay disparities between certain listings for “software developer” versus “software engineer”: “We’re assuming that the titles cause the pay differences. But, in reality, it might be (and, is, I would argue) a result of the fact that companies who pay more like the software engineer title better.”
It’s certainly an interesting bellwether for how companies think about titles. And when industry thinking shifts, so does industry behavior.
Language matters
Much has been written about how employers can draw more diverse candidates to a position by both rewriting job descriptions to be more gender-neutral and reducing coded language. Memorably, after the social-media software company Buffer changed the title they used in job listings from “hacker” to “developer,” they saw the number of female applicants rise from 2 percent to 11 percent.
As detailed in a 2015 Medium post, Buffer originally perceived “hacker” as a more inclusive term that didn’t necessarily imply traditional training requirements—but after outside counsel and much soul-searching, the company changed its tune.
Conversely, a nonchalant approach to title changes can inhibit employees’ work journeys. Veni Kunche, who is a senior software engineer at the U.S. Geological Survey as well as the CEO of Diversify Tech, shares that she’s had a variety of nontraditional titles and mistitles, including “business systems developer,” “IT specialist,” “research fellow,” “senior application consultant,” and “subject matter expert II” (her current official title). “If you read just my titles,” she says, “you wouldn’t be able to guess the kind of work I do.”
So Kunche introduces herself as a software engineer, and modifies her resume to reflect equivalent traditional titles in order to help clarify her work.
Kunche has observed that this mistitling particularly impacts developers of color who work within the government: Some can’t talk about their confidential work or show it off on public repositories like GitHub, a situation that she says makes it harder for them to look for new jobs. And this has knock-on effects: It might keep these developers in work environments that aren’t good for them, as moving on could require extra legwork, such as getting certifications or taking courses to prove themselves.
That responsibility “shouldn’t be on women and people of color,” says Kunche. “It’s the responsibility of the companies to assess one’s skills, hire them for the right positions, and compensate them fairly.”
Michele Cantos, director of Fullstack Academy’s Grace Hopper Program (and a friend of the author), takes this reasoning a step further: “As educators, we have to be thoughtful of our language and to use the title which best represents [graduates’] skill sets and the full value they bring to the industry. Calling themselves engineers right off the bat also helps our graduates shift from being a former accountant, server, ballerina, etc.” This is especially true for women, nonbinary folks, and people of color, among others—all of whom, Cantos notes, can disproportionately experience unconscious bias during their job searches.
Moreover, the titles that the Grace Hopper Program gives graduates mirror roles that the academy’s employer partners are hiring for: The most common first titles that graduates earn include “software engineer,” “full-stack software engineer,” and “frontend engineer.”
Junior, senior, and the like
According to Scott Brosnan, managing director of staffing solutions at the San Jose branch of Jobspring Partners, engineers tend to care more about whether they’re granted proper seniority and a title reflecting their rank than they do about whether their title actually reflects their role. Labels like “junior,” “senior,” and beyond denote levels of responsibility (typically with accompanying pay grades) that are clearly defined in many larger companies. That hierarchy may be vaguer in smaller or less (or differently) structured companies, but seniority is still generally respected and desirable on a resume.
But seniority is something of a crude career road map. While some role ladders can be rigid, and at times difficult to ascend, they convey an easily understood level of authority and pay scale. Companies with flat structures may also use job titles to convey an employee’s role without indicating their level of seniority or experience: “Software developer” might refer to anyone, regardless of the breadth of their responsibility or their longevity. At the extremely experimental end, a company might do away with traditional titles entirely, as with Zappos’s Holacracy pivot in the early 2010s.
Companies without defined titling structures—if they also lack clearly defined career ladders—may promote their workforce in a more arbitrary cadence, which, at best, leads to a murky equivalence of titles between companies. (And often this results in a wage gap.) Years ago, Lyman recalls, he left a developer position at one company for a junior developer position at another—and got a substantial salary increase.
Kunche says that when she searched for her first tech job, in 2003, the title “junior developer” didn’t exist. Instead, she looked for entry-level developer positions. Since then, she’s seen the rise of “junior developer” as a title used by a lot of people of color for themselves when starting out. Kunche worries that it suggests a level below that of an entry-level developer. “This may be setting up people of color to accept positions with lower salary at the very beginning of their career,” she warns.
When frontend developer Cabrera remembers her early years in the position, she echoes this concern: “Looking back on my career so far, there have been a few times where I did not ask for adequate compensation, and it was probably because of the title, and maybe imposter syndrome and the feeling that we need to ‘deserve’ something, even though we’re putting in the work.”
To specify, or not to specify
In many respects, “developer” and other widely used titles are too broad—vaguely encompassing myriad skill sets, experience levels, certifications, and proficiencies. To differentiate—or generally identify—themselves, some workers choose to specify their expertise with a preface, adopting titles like “full-stack developer,” “JavaScript engineer,” and so on.
Specificity can be helpful: It weeds out applicants for particular roles and helps candidates describe their strengths up front. The latter is especially true for specialists and those with experience in new or in-demand domains, like data science or machine learning.
But Korn Ferry’s Britt notes many people worry that it could lead to being pigeonholed into a single role, or that it could date your experience. He says, “If you list yourself as a ‘Node.js developer,’ and in five years there’s something easier and faster and better than Node.js, you run the risk of being overlooked,” even if you have the right skills.
The alternative, Britt advises, is to promote yourself as a strong technologist who isn’t necessarily tied to any particular programming language. Google, Apple, Twitter, and Facebook are well known for seeking these types of employees, and other companies have followed suit, preferring candidates who understand theory, syntax assembly, and problem-solving while building applications over those with expertise in a particular language or methodology.
Avoiding specialization might protect against faddish technology, but companies aren’t immune to trends either. In the early aughts, a fast-growing Google introduced a previously unseen role, termed “site reliability engineer” (SRE). This was somewhat related to a system administrator position, though the job was dedicated to making Google’s large-scale sites more reliable, efficient, and scalable. Soon, other tech companies, including Amazon and Netflix, were hiring their own SREs.
“I know for a fact there were some companies that then changed their job title from ‘DevOps engineer’ to ‘site reliability engineer,’ trying to attract talent that would also either be coming from Google or interested in working at Google,” says Jobspring’s Brosnan.
The future of titling
While titling is affected by fads, trends are often spurred by novel technology. New roles sprout up in response to team and company needs. New tech-related titles follow the headlines, and it’s not uncommon to see listings for “data engineers,” “AI engineers,” and “machine learning engineers.” Britt has seen folks start to tailor their titles to blockchain roles. Considering that the number of positions listed as “blockchain engineer” has skyrocketed 517 percent between 2018 and 2019, according to Hired.com, who can blame them?
Pioneering technology requires a workforce that’s eager to go where the future leads, and titles are a way for people to merge their professional and aspirational identities. After all, names are how we understand things, and how we make sure that other people understand us. In time, skepticism around those pioneering roles will subside—but only after a critical mass retitles (and thus redefines) the boundaries.