Backend Developer
A backend developer develops the necessary, but non-visible parts of the code.
The Backend Developer architects and develops the code that runs on the server. While this code is not exposed to the user, it can dramatically affect the performance of the website or service.
Skills
Speed
The latency between client and server is crucial. If the Backend Engineer can squeeze more in a few milliseconds, the client code will be able to react quicker to the user.
Programming language choice
Since the backend code is not exposed to the user, Backend Developers have a wider choice of programming language. Any language that is not an impediment to hiring, is an option. This can be the secret weapon of a company. Choosing a language / framework / library specifically design for concurrency — Like Erlang or Elixir — can make a messaging application much more performant. Choosing a language with higher safety guarantees, or with an easier deployment, can make the project much easier to debug, or require less resources — number of servers, less CPU and RAM — and have an impact on how quick and profitably a company can scale.
Deployment
While on most teams Dev-ops will take care of deployment, a good Backend Developer knows a lot about how her application will be deployed. Choosing between Microservices or Monolith will also affect the day to day in the job. Any improvement in ergonomy will be a benefit.
Security
Since the Backend code runs on the server, it is important to have as few security flaws as possible. An error in the backend could lead to access to data and other servers, and to the compromise of the customers. With the added complexity of Microservices, there are more moving parts and more things to know to keep the architecture as safe as possible.