Tech
What is a Back-End Developer?
Here is the back-end developer job profile. What is their role? Their responsibilities? Their salary? What training is needed? What career progression is possible?
The developer is the new digital craftsperson. Brick by brick, they design and code the applications, websites, and software we now use every day.
A few years ago, this was still a UFO of a role, kept in some corner of the company, called the "webmaster" or "computer engineer" — the one who knew how computers worked but whose use was so limited that little importance was given to it.
Today, they are a true tech rock star, fought over at the highest prices, because they bring know-how that's essential to any innovative, forward-looking company: digital, the web… tech, basically.
What is their role?
Walk through a typical week with the various tasks this role will perform, without going into specific issues.
Just as a construction company needs trades to put up a structure, a tech company (or one whose business relies on a tech solution) needs back-end developers to code everything that's invisible: the back office.
We often refer to software craftsmanship as a qualitative, durable approach to development as opposed to "Quick & Dirty," or to software architecture.
Why do companies need a Back-end developer?
Any company looking to deliver an IT project that communicates with databases and servers faces back-end issues.
They therefore need skills to code and develop a technical solution based on a programming language: an application, software, a website, an intranet, an extranet, a platform…
Their impact on the business will vary based on how much the company depends on tech.
A tech company developing software or a web app such as a marketplace platform (PaaS) or online software (SaaS), or a non-tech company whose business relies on a tech solution (an e-commerce site), will critically depend on the back-end profiles hired internally (among other tech profiles).
The success and growth of the business are therefore highly correlated to its ability to hire these profiles quickly and well, in order to develop the solution rapidly and deliver value.
Day-to-day responsibilities
The back-end developer has several responsibilities in the development of a project.
- Develop new features by sending the requested information back to front-end requests.
- Manage the relationship with the databases.
- Set up the back-end architecture for features.
- Write tests that meet the user's functional needs.
- Optimize old code building blocks.
Team collaboration
At the center of the company's technical issues, back-end profiles can work with all members of the tech team dealing with back-office issues:
- Product Owner: frames and prioritizes the back-end developer's work by translating business problems into technical problems.
- Data Analyst & Scientist: depending on the company's orientation and the influence of data on the business.
- DevOps & Infrastructure Lead: provides them with a technical work environment that allows them to optimize and automate their day-to-day work.
- CTO / Lead dev: in a hierarchical and management role.
What kinds of problems does a Back-end developer tackle?
The technical problems solved by back-end developers are many, and depend on the company's sector. Here are a few among many others:
- Load issues: a site's ability to handle huge, brief traffic spikes such as Black Friday for an e-commerce site/marketplace, food delivery services at lunch and dinner, or event ticket sales sites.
- Payment and transactions: managing the security and reliability of online payments.****
- Security: ensuring the reliability and security of a site against attacks or intrusion attempts by detecting potential vulnerabilities.****
- Back-end architecture
- Performance: common to most websites — ensuring fast execution under all circumstances, providing a good user experience.****
- Migration to a new language/framework: after a strategic and technical decision to migrate an application to a more suitable language and/or framework. This may be due to the pros/cons of a language/framework versus the application's needs, to simplify hiring by switching to a more widely used language, to make it easier for the team to ramp up, etc.
To return to the construction analogy, the back-end developer can choose to stay versatile by mastering the basics of several issues (like a general tradesperson capable of building a house from A to Z).
Or they can choose to become an expert by specializing in a domain of the back-end (like a tradesperson specialized in framing, masonry, or plumbing).
Technologies & platforms used
Back-end technologies are too numerous to list, but they can be tied to a technical environment such as the framework or be independent.
They are usable with all back-end languages, like languages communicating with databases. Here are a few examples of back-end languages:
- Java and its frameworks: Spring, Spark, Hibernate, or Struts
- PHP and its frameworks: Symfony, Laravel, Zend
- Python and its frameworks: Django, Pyramid, or Flask
- Ruby and its unmovable Rails for the famous RubyOnRails (ROR)
- C#, the language commercialized by Microsoft, with its main framework .Net
- Go, the language developed by Google
- NodeJS, which isn't really a back-end language but rather a development platform based on the front-end language JavaScript to do back-end. ExpressJS can be used as a NodeJS framework.
For database management, they use:
- SQL
- MySQL
- SQLite
- PostgreSQL
- MongoDB (NoSQL)
Other resources and tools used:
- NginX
- Heroku
- Apache
- Git + Github
What training is needed to become a back-end developer?
Several options are open to you to become a back-end developer. Either you are self-taught, or you follow a training program:
- Engineering or computer science school like Epitech
- A university curriculum in computer science
- Bootcamp
What is a back-end developer's salary?
A junior profile can start their career at €35K gross per year and end at €70K.
- Junior: €35 – €48K
- Confirmed: €45 – €58K
- Senior: €55 – €70K.
How can a back-end developer's career progress?
With the skills acquired, the back-end developer can move into roles such as:
- Tech Expert (on one or several issues)
- Lead Developer
- Engineering Manager.
