Many online users don’t understand what it takes to keep a web property running smoothly. Without back-end engineers to ensure the flow of data and the overall reliability of a website or platform, the web would be unusable.
Back-end engineers are dedicated to server-side features and functionality, leaving much of the visual tuning (i.e., the UI/UX) to front-end developers and designers. But what does it actually take to fill a back-end engineer role? We spoke with several industry experts on whether degrees matter, which programming languages are best to focus on, and whether a portfolio of work will help land you the job you want.
Is a degree vital to get a job as a back-end engineer?
Engineering degrees are the topic of much discussion among executives, recruiters, and hiring managers right now. While many organizations were once adamant about the need for a degree, companies’ hunger to hire talent means many recruiters and hiring managers are overlooking formal education requirements—so long as job candidates can demonstrate they have the necessary skills for the position.
“While having a degree can certainly be helpful in obtaining a job as a back-end engineer, it is not always necessary,” says Aleksei Kankov, senior back-end developer at Revizto. “Many employers in the technology industry value hands-on experience and practical skills just as highly, if not more so, than formal education. In fact, many successful back-end engineers, including myself, have taught themselves the necessary skills through self-study, online courses, and practical experience. Building a strong portfolio of projects and demonstrating a deep understanding of relevant technologies can be just as important as having a degree.”
Igor Dozor, software development manager at Indeed, tells Dice that anyone who wants to become a successful back-end engineer needs “a solid understanding of advanced computer science subjects like cloud software architecture, advance database management, scalability, and many others. A degree in Computer Science or Computer Engineering would set them up for success.”
According to Lightcast, which collects and analyzes millions of jobs from across the country, the following necessary skills pop up most frequently in job postings for back-end engineers:
- Scalability Design
- Data Structures
- Relational Databases
- Web Application Development
- Agile Development
All of these tools are essential for managing data flows and other key back-end web elements. In addition, back-end engineers can stand out from the pack by learning some key cloud and data skills, including (but not limited to):
- Continuous integration
- Amazon Web Services (AWS)
- Machine Learning
- Test Driven Development (TDD)
- Big Data
- Backend Development
Yozhef Hisem, senior back-end software engineer at MacPaw, sums it all up perfectly: “Higher education has definitely helped me. It gave me an understanding of the programming basics. At the university, every six months we started to learn a new programming language, so I had an opportunity to learn several languages. So, when I started to search for my first job, I already had an understanding of the difference. In addition, it helped me choose the programming language that interested me the most. That is why I recommend at least completing a bachelor's degree.”
Hisem added that a degree isn’t everything, however: “An engineer without a university degree can be just as or even more skilled than someone who has studied computer science. Simply, a beginner without a higher education will have to put more effort at the start of the career to catch up with others.”
Should back-end engineers focus on a specific programming language or languages?
Dmitrii Ivashchenko, senior back-end developer at Homo Developus, notes: “Back-end engineers should have a strong command of one or more programming languages. However, it's essential to remain adaptable and open to learning new languages based on the requirements of specific projects or employer preferences. Common back-end languages include Python, Java, Ruby, PHP, Go, and C#. Gaining experience in multiple languages can improve job prospects and provide a broader understanding of backend development principles.”
Dozor says, “Java, Go, as well as Python and Ruby come to mind” as important languages, but always keep in mind that programming-language use can vary from company to company.
Hisem says those just starting out in their career should limit their scope a bit: “If you’re a beginner in programming, I recommend focusing on one language to keep your efforts manageable and learning the language thoroughly. [Trying] to learn several languages simultaneously at the start of your career puts you at risk of becoming a mediocre specialist in all of them because of the lack of time to master it properly.”
But Konstantin Telnoi, senior backend engineer at Simple.App, has a different take:
“I strongly recommend not sticking to any tool and always experimenting with different ones to gain experience and understand which tools are best for specific tasks. Having worked with over seven languages, it's clear that the more experience you have with different languages, the more aware you become of potential problems and the better equipped you are to articulate your thoughts when discussing with colleagues. Instead of blindly checking out new tools, find an interesting idea or problem and think about which language to use for it. Learning new tools should be a fun and lifelong experience.”
Do certifications matter for back-end engineers?
“Probably not as much as in other industries,” Dozor replies. “Back-end engineers develop services, while certifications oftentimes confirm that a certificate holder has reached a certain level of proficiency using a service. Still, a back-end engineer who also has a professional certificate in AWS Architecture would have an edge, as it would confirm their good command of advanced topics in the domain of cloud architecture.”
Hisem notes: “Often, employers prefer certified engineers. Active certifications of your programming language are especially valuable because there are very few of them, and it shows the proactivity and awareness of a specialist.”
Curious about the certifications out there for back-end developers? Lightcast lists 16 web development certifications that pop up often in job postings, including:
Not all of these apply to back-end engineering, of course. If you’re looking for training, online learning hubs such as Coursera, W3C, Udemy, and many more offer insight into the back-end engineer tools and programming languages. Meta offers a Back-End Professional Certificate via Coursera that touches on everything from APIs to cloud hosting to working with GitHub.
How can a back-end engineer keep their skillset up-to-date as they progress on their career path?
“The best way to improve your skills is by working on side projects,” Telnoi says. “These projects can be either at work, where they may serve as proof-of-concept solutions for certain services, or on any topic that interests you. Tackling unfamiliar problems takes you out of your comfort zone and pushes you to grow.”
Another useful skill to study is effective information management, Telnoi adds: “As knowledge workers, we are constantly bombarded with new information, which can become overwhelming. To stay afloat, it is crucial to quickly grasp new data and extract what is relevant. There are several good books and courses available on this topic.”
At the beginning of your back-end engineering career, focus on writing code and splitting domains and abstractions. Learning these fundamental skills will help as you work on projects of progressively larger scale, such as microservice management. Engineers who know about good system design are worth their weight in gold.
Hisem adds: “An excellent way to go beyond the usual product and look at engineering more broadly is to participate in non-product tasks and open-source projects. You can follow notifications from GitHub, renowned experts, and the projects they contribute to. They usually share their thoughts, which broadens their horizons. In addition, when I see an interesting request for help from the community, I can join it. Sometimes, to help with some specific task, you need to conduct a full-fledged study of the topic. By helping the community, I grow as a specialist, too.”
Dozor tells Dice that, for most of us, technology will move too fast to continually up-skill everything in your arsenal. Instead, focus on understanding concepts underlying back-end engineering.
“In the last decade or so, the domain has been growing at a pace that exceeds anyone’s ability to keep up with the advance of recent technologies,” Dozor says. “One side effect of that is that back-end engineers tend to focus on specific areas and develop a narrow specialization within it. Think—storage, compute, security, etc. Keeping their skills up-to-date in their specific area of expertise is more feasible than trying to stay abreast of all the recent developments in the entire field of cloud computing, for example.”