What’s a Senior Developer, and Where Are They?
As our humble consultancy enters its 13th year, we’re really fortunate to have a core group of developers with double-digit tenure. Envy Labs is small by design, limiting the number of potential projects we can take on at a time. Those two ingredients — top-heavy with experience and a capacity cap — have sparked some recent chats, opportunities, and perspectives around technical leadership that I’m hoping to round up here.
Clients have a recurring ask if our availability doesn’t match up with their timeline: Can we just get a senior person? Someone to manage a team we put together?
Organizations are confident in their ability to staff up with new developers, but the senior prefix is elusive. That dash of experience is relied on to paper over process problems, mentor peers, and course correct proactively. Its absence leaves gaps.
Summed up, vital and scarce are two words that don’t pair well. Let’s take a deeper look at:
- What a “senior” developer is, and why it’s a bit of a misleading catch-all
- Why there seems to be a limited supply
- What Envy’s learned so far through conversations, contracts, and trials
An Overreliance on Senior Developers
What’s with all the job postings calling out this kind of developer? Why am I claiming that projects struggle without at least one in the mix? Is there an analogy for the role that I’ve been thinking way too much about? Glad you asked.
What Makes a Dev “Senior”?
Semantics are a big thing in software, but a consistent definition for a senior-level developer is hard to nail down. Ours is an industry in motion, and roles can vary between companies, projects, and specializations — front-end engineering, DevOps, and back-end development all have different bars to meet, for instance.
While it’s a struggle to get on the same page, we can at least pick up the same book. It’s a bit easier to start with what the senior title isn’t:
- Mapped to a specific amount of time (e.g. five years of experience)
- Tied to mastery of a programming language or framework
- A measure of speed
Instead, we’re looking for traits like:
- Pattern-matching, and the ability to apply those patterns to new projects and tools
- Seeing the bigger picture, and understanding how implementation details impact budgets, timelines, and the future of an application
- A drive to find and recommend solutions, tempered with the flexibility needed to work alongside other experts
- Clear communication of status and needs
Practitioners or Leaders?
I mentioned at the outset that “senior” developer is a bit of a misleading catch-all — another one of those semantic concerns in software. The term’s been co-opted to cover everything from really good developer to stand-in CTO. For our purposes, I’m referring to something in the middle: A seasoned technologist that can lead the implementation phase of a specific product. A leader for a project (as opposed to an organization) and someone that’s still happiest jumping into the code.
Our Industry’s Record Producer
I’ve been on a music-related podcast kick lately (shoutout Bandsplain and 60 Songs That Explain the ‘90s), and it’s almost comedic how many successful rock careers include an appearance by Rick Rubin or Steve Albini. There’s a bunch of overlap between the roles of a record producer and a seasoned developer: Neither originates the music (expertise), nor implements it verbatim. The job calls for a balance of problem solving, artistic input, and delivering a polished version of an idea.
Strategy on Demand
Mashing up definitions, traits, and analogies, this article’s thesis is that execution (actually building software) is a consulting problem, too.
Every set of requirements and every plan we’ve ever worked with or heard of has changed during implementation. As tech lead, a solid senior developer navigates the fallout of change orders and iteration like the run-of-the-mill events they are — strategy on demand, covering process problems as revisions fly in. It’s a role that we staff for every project.
The Scarcity of Senior Developers
Developer positions are expected to increase by 22% this decade. There’s rapid growth, and a matching demand; specific numbers are tough to collect, but reports place posted roles in the hundreds of thousands. Of those openings, we’ve been hearing the same thing from agencies, startups, and enterprise departments alike: Finding senior-level developers ranges from hard to impossible.
The why part is spread across a bunch of factors, including:
- Demand has increased the number of relevant training programs (both traditional and nontraditional) in recent years, but those newcomers need time and experience to level up.
- Big Tech’s (FAANG et al.) hunger for talent has driven wages and benefits to a difficult-to-compete-with peak.
- Reaching the top of the programming pyramid opens up other roles for a developer to step into — management, product, early-phase strategy, etc.
Beyond just shielding process problems, senior developers are also a shortcut over company training gaps. Investing in talent development is labor and capital intensive, and (understandably) more difficult to prioritize if you’re already behind.
Put together, it all serves to push demand higher. In response, we’ve seen an increased interest in contract-based solutions to cover the need.
Handing Off Technical Leadership
That brings us back ‘round to the question we’ve been hearing often: Can we just get a senior person? When there’s an experience gap on a team, why does it make sense to consider a vendor in that spot?
We’ll look beyond the blanket third-party benefits — things like outside expertise, a reduced commitment, the ability to ramp up, etc. A contract senior developer offers:
- The ability to delegate research and decision-making (or, at least, collating options)
- An established, weathered process
- Mentorship of team members through tasks like code reviews
- Everything covered earlier in the realm of strategy on demand as changes begin
Effectively, they act as a project-level fractional CTO.
Potential Third-Party Woes
As with everything else in software, the answer to “is this for me?” is “it depends.” Here’s a collection of hurdles, potential pitfalls, and facets to consider before looking for outside technical leadership.
Strategy on demand and the ability to adapt to shifting requirements relies on some decision-making power. Are you willing to cede some control over the tech or, at the very least, allow someone else to narrow the acceptable solutions? Organizations aiming for tight control over everything get a lot more value out of staff augmentation.
Management buy-in is important, but acceptance from the wider team is essential. Mentorship, code reviews, and rubbing elbows with each other in collaborative codebases requires some mutual respect. Will everyone be on board?
Good recommendations stem from a good understanding of the problem, the product, and the underlying goals. Someone helping out in a tech leadership capacity doesn’t necessarily need to be around full time, but a few hours here and there won’t hit the bar either.
Expect (at least) two or three days a week worth of effort. Otherwise, a hefty amount of context will be missing behind the big decisions and questions from the team.
The Right Beliefs
Every senior leader has a style, and that style needs to match up with your vision. Looking back to the record producer analogy: Do you want someone that’ll drive the band towards their vision of what’s possible, or an engineer-like contributor in the background polishing the band’s vision? It’s a great line of questioning during the vetting stage.
Regardless of the whos, whats, and wheres, the history of a software project is infinitely valuable. Why was a particular decision made? What was tried previously? What’s been ruled out? Setting aside who’s responsible for what and whether or not it’s internal or external, records should be prioritized and kept across all contributors.
Consulting While Implementing
Great teams, sports or otherwise, are a mix of all-stars and up-and-coming prospects. In software, the former can be hard to find — the rest of the league is competing hard for the same talent.
In the face of scarcity (both current and future), organizations are turning to temporary, outside leadership to fill the need. Going third-party carries its own set of pros and cons, but it’s a role that every project team relies on: Someone ready to marry consulting with implementation as a product handles iteration on the road to delivery.
Choosing the right software development company is a two-way conversation. Discover why the right software partner needs to vet your idea to ensure success.