Admin vs. Developer — Who to Hire?

Marty Y. Chang
Slalom Technology
Published in
3 min readNov 19, 2018

While implementing Salesforce at a large publicly traded company, a colleague questioned whether asking newly hired admins to learn Salesforce DX, Git and GitHub is too much. “Aren’t version control, scratch orgs and deployment concerns squarely in the developers’ court?” I started to wonder whether we had hired admins when we actually wanted developers, but then I thought… what exactly is the difference?

Historically “code” in the form of Apex had been a clear line in the Salesforce space between admin and developer. But then came Visual Workflow. Flows blurred that line by providing a point-and-click interface for implementing complex business logic, later enhanced with Process Builder as an easier entry point. Flows are in many ways equal to Apex in capabilities, but are flows “code”? In other words, should an admin be expected to create and maintain flows? And if so, in which environment?

As more powerful declarative capabilities like flows come to the Salesforce platform, I think it’s worth clarifying the most fundamental difference between an admin and a developer.

What’s in a name?

Common language always helps in discussion, but unfortunately no English dictionary holds definitions for “admin” and “developer” specific to the IT domain. Still, Merriam-Webster does offer a starting point.

  • administer (transitive verb): to manage or supervise the execution, use, or conduct of
  • develop (transitive verb): to create or produce especially by deliberate effort over time

Transforming those verbs into nouns applied to Salesforce and other systems, I propose these working definitions for the two roles in question.

  • administrator (noun): one who maintains and supports the use of current features and functionality for end users
  • developer (noun): one who builds and delivers new features and functionality for end users

Administrators keep the ship afloat and block distractions for developers who are building the next most valuable feature. Both roles are absolutely necessary within an organization, and whether the two roles are assigned to employees 1-for-1 is far less important than recognizing the need for both.

Focus on the individual vs. the team

System administration is like an individual sport, where each incident can be logged, assigned and resolved independently by one admin in relative isolation. Admins compete with themselves and with each other to push the limits of the common “time to resolution” metric used to measure service delivery. Individual performance is the focus here.

But system development is without question a team sport, where teamwork and collaboration are fundamental requirements. The best developer alone can never outperform a team of well-trained peers. So while an admin can be expected to figure out how she can do her own job better and faster, a developer should be expected to figure out how her team can deliver better results faster. Team performance is the focus.

Since a developer plays on a team, the developer must learn the skills needed to play well with others. A developer learning to work with tools like Salesforce DX and Git is analogous to a soccer player learning to dribble and to pass the ball. These skills are crucial to the team’s success, and a developer should expect and embrace the periodic need to sacrifice personal convenience so as to increase overall effectiveness of the team.

Who do you really need right now?

Suggestions below.

  • Need to crush some Tier 1 tickets? Hire more admins.
  • Need to deliver on a growing backlog of system enhancements? Hire more developers.

To be very clear, organizations of all sizes need admins and developers. In fact, one employee commonly does play both roles on the job, especially at smaller companies. Expect to cross-train as needed.

Keep in mind that an employee may be predisposed as an admin or as a developer, just like how some athletes excel at individual sports and some at team sports. Using the functional definitions given here for an admin and a developer, you can now plan to build the right team at the right time.

This post first appeared at https://medium.com/@martyychang

--

--