A retailer needs a new web site to reflect the fact that most of its purchases are now happening online. A hotel operator wants to provide its guests with a mobile app to manage key areas such as checking in and looking up amenities. A manufacturing firm requires a sophisticated platform to integrate data about each stage of its production cycle. 

These tools all require different kinds of software programming skills, but most organizations would likely have the same role in mind when they looked for help to make them. 

They would be looking for a developer. And they would be right, except that — like many other business functions — not all developers focus on the same areas.

Within marketing, for example, there are often those who have gained expertise or have been assigned to look after a specific area of branding. That’s why you often see postings for performance marketers, customer marketing specialists, demand-gen marketers and more. 

Developers may have started as a jack-of-all-trades, particularly if they were working in a freelance capacity for a variety of clients. Depending on their interests and business demand, though, they naturally gravitate towards one area over others. If they work in larger firms with teams of developers, they’re even more likely to be specialized. 

This can create challenges for companies, particularly small and medium-sized businesses (SMB) who haven’t often worked with developers in the past. They might have heard terms like “front end,” “back end” and “full stack” mentioned in passing, but with no understanding of how it related to their application development software needs

Fortunately, the world of application development has been democratized through the emergence of low-code platforms like Lightning. Today, it’s easier than ever for those in sales, marketing, customer service or other functions to create their own apps in collaboration with IT.

At the same time, many SMBs are becoming more sophisticated in their use of data to drive better decision-making. This has made it all the more important to leverage platforms like Heroku and integrate their CRMs with other applications that elevate the quality of the customer experience they deliver. This is where knowing the difference between front end, back end and full stack developers becomes essential. 


Here’s how to understand each kind of developer in layperson’s terms, as well as the kinds of projects where they provide valuable expertise: 


Front-End Developers

When most of us land on a web site for the first time, we want to see a clean design that’s easy to navigate. If we’ve downloaded a mobile app, we want to be able to push a button and have it do what we expect it to do.

These are some of the essential aspects of being a good front-end developer. As the name implies, front-end development involves the most customer-facing aspects of an application. These developers have expertise in everything from creating the best dropdown menus to the shopping cart pages of online store. 

When you’re working with a front-end developer, you want someone who is well-versed in HTML, CCS and programming languages such as Javascript. Depending on the project, front-end developers can help you achieve your goals faster and with higher quality if they know how to use common frameworks. Ask them about their use of AngularJs, ReactJs or Bootstrap and what might work best for your needs.

If you have a particular vision of what your application should look and feel like, a front-end developer will be critical in bringing it to life, and identifying any gaps or problems that could affect the user experience. 


Back-End Developers

Even the prettiest interface won’t matter to customers if the underlying parts of an application don’t work. Customers will quickly be concerned if they’re not sure what happened to their data once it’s been entered into an app, for instance. 

As for employees, they need to make sure they can access application data from the internal platforms they use. 

A back-end developer will provide both groups peace of mind. These people not only make sure data goes from the front-end of an application to a company database, but that disparate applications can “talk” to each other and be used by multiple teams for a variety purposes.

As with front-end developers, the skill set for back-end developers is always changing, but they are often fluent in what are called service-side programming languages. Python, Ruby and PHP are just a few examples. They also have common frameworks for executing on their employer’s requirements, such as ASP.net, django and CakePHP.

Beyond that, you want to make sure back-end developers not only get their work done but are good at documenting it. Applications always need to be changed over time, and that’s easier when the code is clean and easily portable from one platform to another.


Full-Stack Developers

Sometimes there’s greater efficiency for working with a developer who can do it all: working with application programming interfaces (APIs) to call data back and forth from a server while also creating wireframes and final layouts that become the face of your web sites and mobile apps. 

Even with a highly diverse application development skill set, make sure you have provided these kinds of people the connections with internal stakeholders across the business. A full-stack developer will have a more direct impact on the entire customer experience, so they could be getting input and guidance from everyone in the company who “touches” a customer during their journey.

While a full-stack developer may make sense for SMBs who are developing from their first bespoke applications, working with those who specialize in front-end or back-end tasks could be more important as their portfolio of applications grows. 

Regardless of the developer you contract or hire, some other characteristics remain important. Developers should be good at meeting deadlines, at collaborating with different kinds of team members, and ever-curious about what customers need.