Thanks to Salesforce's customizability and excellent training courses (in the form of Trailhead), it's common for many users to get involved with making changes to orgs. End users often submit small tweaks and changes, while back-office staff manage larger projects and perform quality reviews.
Users who routinely make changes to orgs usually fall into one of two main categories:
Admins — primarily making declarative changes.
Developers — primarily making code changes.
In reality, many people sit between these roles, and the boundaries are often blurred. Still, these roles provide a helpful framework for understanding the core responsibilities of each user and how they differ.
A typical Salesforce admin
A Salesforce admin typically makes minor changes to the Salesforce environment, with lots of frequent course corrections and quick fixes rather than multi-month projects. These changes are generally declarative — made through the Salesforce UI in their web browser.
Admins are essential to the ongoing maintenance and efficiency of the org, allowing businesses to rapidly respond to changes and updates in the platform.
Some activities for an admin might include:
Data management and cleanliness.
User management and the permission and security model.
Building reports and sales process flows.
User training.
A typical Salesforce developer
A Salesforce developer may have many of the same jobs as an admin, but they approach them differently. The developer title is very much a spectrum and covers a range of software engineering experience. Developers tend to work on larger, longer-running projects and work with larger teams of people. They may be making code changes — working with the command line — in addition to declarative changes.
Developers provide companies with the ability to build strategic and complex functionality in Salesforce to meet their long-term goals.
Some activities for a developer might include:
Building out more advanced parts of the platform — such as Apex, Lightning, and VisualForce — for more powerful extensions to Salesforce.
Working with source control and command-line tools.
Pushing code into scratch orgs.
Testing features and providing code reviews for other developers.
Want to learn more?
The website and blog run by SalesforceBen has a great summary infographic on the differences between the roles here.