Behind every great website or application stands a great development team. Unfortunately, the laurels and applause are so often directed at just one-half of such teams — the developers behind the customer-facing front-end. But like a car without an engine or a painting without a canvas, a solution can’t be delivered to a client without everything being perfect on the interior.
And on what some might see as the less glamorous (although traditionally better paid) side of the development equation sits the humble back-end developer.
Back-end developers control the parts of a website that a normal user will never see. They look after the ‘server side’ of the equation, leaving the ‘client side’ — the bit that the user actually experiences — to the front-end developers. The key role of a back-end developer, as defined by Techopedia, is ‘to ensure that the data or services requested by the front-end system or software are delivered through programmatic means.’
To reach this goal a back-end developer must obviously demonstrate a high level of technical expertise, with proficiency in back-end programming languages and framework being non-negotiable. But the role is a far more dynamic and varied one than many might imagine, and the leading back-end professionals display a similarly dynamic and varied set of skills; skills which allow both they and their entire dev teams to work with incredible efficiency and effectiveness.
So how does a back-end developer develop themselves? What skills should they learn if they hope to truly succeed in the role, and bring success to their team? To find out we spoke to Jowel Bondoc, Technical Lead of Digital Platforms at Kalido, and Adam Woods, Head of Back-End Development at hipages, to see how they keep at the very forefront of the back-end.
While having a deep understanding of server-side programming languages (Ruby, SQL, etc.) is what defines back-end development, a great developer will display a knowledge base that is far broader. An understanding of front-end languages like HTML, CSS and JavaScript will allow a back-end developer to easily communicate with their front-end counterparts, resulting in far more efficient and effective collaboration.
2. Data science
A major part of Bondoc’s role at Kalido, behind building and maintaining back-end technologies, is to “develop and maintain scalable components for storing information in a server.” It’s a task that most back-end developers will face, which is why developing his knowledge of data science fundamentals has been incredibly helpful. Knowing how the experts use databases will allow you to develop and maintain the type of database that they’ll want to use.
Woods of hipages confirms this — “In the next 12 months I’m going to need a deeper understanding of data science,” he admits.
3. Artificial intelligence
Bondoc describes AI, and in particular Intelligent Automation, as “the next revolutionary wave that will be coming through back-end development.” Simply the combination of Artificial Intelligence and automation, back-end developers must begin to develop their skills in the area if they don’t want to be left behind. Building a website that can essentially think for itself and automate previously manual tasks will make for a totally new — but incredible — user experience.
4. AR/VR
Augmented and virtual realities might already seem like they’re old hat (how long ago did Pokémon Go come out?) but the reality is the potential of these technologies has barely been scratched.
“I believe the demand for [AR and VR] will increase in the next couple of years,” says Bondoc. He expects this trend to be particularly prevalent in the consumer market, as device manufacturers continue to up their AR and VR game. An understanding of this tech could prove to be crucial for back-end developers into the future.
Despite how popular culture might portray developers, those in the biz know that back-end development is an inherently collaborative task; one that can be made very difficult if there isn’t clear and concise communication within a dev team. Being a master communicator goes hand in hand with being a master developer.
“A back-end developer can be considered as the interpreter between humans and machines,” says Bondoc. “They need to understand what a client requires, and be able to write codes so that a server will perform the required function.”
“I believe a healthy amount of curiosity is important; the industry landscape is constantly changing so it’s vital that you keep learning and exploring,” Woods explains. “I am always looking for new ways to be a better architect and developer.”
Can you learn to be curious? Perhaps not. But can you put an effort into learning and exploring the world of back-end development in your own time? Definitely. Both Woods and Bondoc actively develop themselves, listing the following resources as particularly useful:
Meetups, conferences and summits
3. Problem solving/critical thinking
A back-end developer’s job is to solve problems. Some problems are more difficult than others, and creative, lateral and critical thinking will be required of a developer if they are to crack the more difficult nuts.
“You will spend the vast majority of your time solving problems and coming up with creative solutions, so it is very important to possess an appetite for problem-solving and critical thinking,” notes Woods. And as this terrific piece from College Info Geekinstructs, there are real and tangible ways that you can improve these skills.
The back-end development sphere is as changeable and unpredictable as any in tech. The dynamic nature of back-end technologies can mean that a developer may never find a real ‘comfort zone’ at any point in their careers. Rather they need to achieve comfort in discomfort, as they find themselves in an ever-changing landscape that requires pragmatism and adaptability to get by.
Bondoc points out that back-end developers not only need to find a way to be adaptable in this state of flux — they also need to know the tools and new technologies that are being introduced, and demonstrate an ability to identify when to use those tools and technologies to deliver a solution.
Sure, back-end developers may not get the recognition that front-end developers do. But then that’s not really why these professionals have chosen this particular path. The engine of the car might not get photographed as much as the body, but no one questions what it brings to the table.
To be the best back-end developer you can be will require discipline, motivation and effort. But a back-end developer who continually develops him or herself is one of the most valuable assets any tech company could hope to have.