A Guide for Back-End Developers on UX Impact
For nearly 15 years, PUG Challenge has been the must-attend event for professionals working with Progress Software products, particularly OpenEdge. This three-day event features numerous hands-on workshops, dozens of breakout sessions, and many networking opportunities. Every year was a great opportunity to meet some old friends, partners and customers, create new connections and initiate new business opportunities.
This year’s European edition was held in Prague, at an excellent venue in an amazing city, where I had the chance to attend as a speaker, tackling an interesting but often overlooked topic regarding the impact that back-end developers have on the user experience (UX) of the final product.
I would like to thank the delegates who attended the session, patiently listening for all 45 minutes of the presentation and for not asking additional questions at the end 😊 Sometimes, this is a good sign regarding the quality and clarity of shared information! I hope this was the case now.
Going back to the topic of my session, the role, contribution and impact of back-end developers, as previously mentioned, is often overlooked, as the UI/UX and back-end development are, most of the time, considered independent and separate areas in the development cycle.
One of the difficult parts when tackling this topic was to make the link between these two roles as visible and as relevant as possible.
The user explores and interacts just with the final product, they see only the output (the deliverables), without knowing (or even caring) about what’s “under the hood”, in the back-end. But we know that often, “under the hood” is where the “magic” happens!
Starting, in most of the cases, with the sign-up or the login form, then the homepage or a dashboard (for which the easiness and clarity it’s the responsibility of the UI/UX team), after that, from the first clicks, filters, data input and validations, performing CRUD operations, the way the products responds to all these actions, it all comes down to how the data is sent and received to and from the back-end.
So, how can or should the back-end systems be supporting the UI/UX? What should a back-end developer consider when ensuring that later in the process, the UI and overall UX will benefit from their deliverables?
API design and performance
Almost every application nowadays uses some kind of APIs to retrieve data from the back-end or to integrate with 3rd party applications. How these integrations are built and how reliable, fast and well-structured these APIs are, plays a crucial role for the end-user experience. So here we should consider how efficient data retrieval is, together with data consistency, security and permissions.
Error handling and feedback
We all want bug-free, bullet-proof and no errors in our applications. But error handling, validation messages and feedback to the users plays an important role in how we “communicate” with our users. We should consider using meaningful and well-structured error messages. Making sure that the back-end systems are well built, resilient and reliable will ensure that the application runs smoothly and can recover from errors. This reliability improves overall UX by reducing downtime or preventing crashes that disrupt the user journey.
Scalability and performance
This is something we all have in mind from the first days of starting a new project. And if not, for sure it will be mentioned along the way.
Page load times are strongly influenced by the back-end’s efficiency in handling requests and managing database interactions. Faster data processing means that the UI will update quickly, providing users with a smoother experience.
By implementing caching and load balancing strategies we ensure that data is available and that the systems are load-balanced, resulting in a responsive and available UI even under heavy traffic.
Data structure and access
How the database is modeled and how data is structured can influence the user’s interaction with UI features. Consider a product that relies heavily on search functionality, an efficient database design and optimized queries can improve the speed and accuracy of search results, enhancing the overall UX.
Complex user interfaces often rely on multi-level data (e.g., catalogues listings, analytics dashboards). Back-end developers, together with system architects, were applicable, are responsible for creating these relationships and ensuring they are reflected properly on the front end. A poorly designed database or data architecture can create slow or confusing user interfaces.
Customization and personalization
Our applications should be global! We should ensure that. We all want to personalize our experience within an application, to make it our own, to represent our style of working, of analyzing data. User preferences play a major factor in supporting the application adoption for the end-users.
Support for multiple languages, time zones, and regional formats often depends on back-end logic. Providing localized content through the back-end allows the UI to adapt to different user groups, improving the experience for a global audience.
Personalization improves UX by making the product more relevant and tailored to the individual user, but it depends on how effectively the back-end handles and serves this data. Back-end developers enable personalization by storing and serving user-specific data, such as preferences, past actions, history, or recommendations.
Authentication and user flows
The back-end controls authentication processes (OAuth, SSO, email/password login), ensuring smooth transitions between pages and secure access to user data. A slow or complex registration or authentication process can frustrate users and create friction in their journey.
Good session management ensures that the user feels in control of their actions within the application. By managing user sessions effectively, back-end developers can prevent session timeouts and unexpected logouts.
Support for real-time features
Features like real-time notifications, chat functionalities, or live updates are enabled by the back-end using WebSockets or push technologies. These real-time interactions enhance the user experience by providing instant feedback and interaction.
Back-end systems that handle asynchronous tasks (like file uploads, batch processing, etc.) in the background allow the UI to remain responsive and fluid. Users don’t have to wait for heavy operations to complete, which improves their overall experience.
Collaboration with front-end developers
Close collaboration between back-end and front-end developers ensures that the API is tailored to the UI’s needs. Developing API contracts and prototypes throughout clear and effective communication helps avoid mismatches between the data served by the back-end and the data required for rendering on the front end. This collaboration streamlines UI/UX design, making sure that both layers work together effectively.
Back-end developers often participate in the feedback loop where front-end developers or designers bring up issues they encounter (e.g., performance bottlenecks, data inconsistencies). These sessions ensure continuous improvements in both the back-end logic and the resulting UX.
Collaboration between back-end developers and UX designers is essential for delivering a seamless user experience, but differences in focus and expertise can lead to misunderstandings. By taking both perspectives into account, it’s much easier to reach a common understanding and agreement, as most issues often arise from differences in their roles, priorities, and communication styles.
Prioritization of Technical Constraints vs. User Needs
Tension arises when a feature is technically difficult to implement, and back-end developers may downplay its importance, while UX designers see it as critical for user satisfaction.
Different Interpretations of “Performance”
Back-end developers may optimize for back-end performance but not realize that slow, intermittent data delivery to the front end still causes a poor user experience. UX designers might request performance improvements not aligned with back-end optimization priorities, such as reducing the perceived delay between actions.
Data Structure vs. Usability
UX designers may expect the back-end to serve data in a format that is easy to display, while back-end developers might prioritize a structure that makes sense from a system perspective but is harder to work with for the UI. This can lead to frustrations when front-end teams must significantly manipulate raw data to achieve the desired experience.
Handling of Edge Cases and Error States
Back-end developers might provide vague or generic error messages (e.g., “500 Internal Server Error”), expecting front-end developers to handle them. Meanwhile, UX designers want clear, user-friendly feedback that helps users understand what went wrong and what they can do to resolve the issue.
Real-Time Features and Expectations
The difficulty in implementing real-time features is often underestimated by UX designers, while back-end developers might not fully appreciate how real-time interaction impacts user engagement and satisfaction.
Time to Implement Features
UX designers may become frustrated when seemingly minor changes (e.g., adding a new data field or updating a user flow) take longer than expected because they require back-end modifications. Back-end developers may feel pressured to speed up processes without cutting corners, leading to friction.
Scalability vs. Flexibility
A back-end system optimized for scalability may feel too rigid from a UX perspective, making it difficult to customize or create unique user experiences. Back-end developers may resist changes that introduce variability or complexity, as it could negatively affect the system performance or scalability.
Focus on Security vs. Usability
UX designers might see security protocols as overly difficult for the end-user, while back-end developers see them as essential. The challenge is balancing security with usability, and disagreements can arise when one side underestimates the other’s priorities.
Technical Lingo vs. User-Centered Language
A disconnect can occur when back-end developers provide technical explanations that don’t align with how UX designers want to communicate with end users, leading to confusion in translating back-end functionality into user-friendly terms. Also, the lack of clear and comprehensive documentation from either side can lead to miscommunication. If UX designers do not document their design decisions and rationale adequately, back-end developers may implement features that do not align with the intended user experience.
Responsibility for Performance Optimization
There can be confusion over who is responsible for improving performance. Back-end developers might believe they’ve done enough to optimize data delivery, while UX designers may think the issue lies in how the data is handled on the back end.
Bridging these gaps requires continuous collaboration, clear communication, and mutual understanding of the importance of both sides to ensure a successful product. If back-end developers and UX designers work in isolation without regular collaboration, it can lead to misunderstandings and a lack of cohesion in the final product. Regular meetings and collaborative tools can help bridge this gap. Regular cross-functional meetings, clear documentation, and a shared understanding of each other’s roles can significantly enhance collaboration and lead to better product outcomes.
As a conclusion, yes, it’s true, back-end developers don’t directly create UI elements, but back-end developers’ contribution is fundamental to the product’s overall performance, security and reliability, all of which are crucial to deliver great UX. By optimizing data flows, improving performance, and working closely with front-end teams, back-end developers can have a significant impact on both the UI and UX of the product.
Product success is ultimately the result of teamwork, as creating a great product requires collaboration across many roles, not just back-end developers and UI/UX designers. Let’s also recognize the contributions of architects, front-end developers, quality assurance testers, DevOps, business analysts, product owners, project and product managers.
At the end, a bonus! I was searching for a relevant video example to illustrate the importance of the back-end work for the end-user experience, and the first memory that crossed my mind was a scene from Netflix’s 2022 docu-drama miniseries “The Playlist”, inspired by the book “Spotify Untold” written by Sven Carlsson and Jonas Leijonhufvud. Yes, it’s fictionalized, showcasing the birth of the Swedish music streaming company Spotify, but I hope you will understand the criticality of the user experience and how the back-end played a crucial role in achieving the “perfect” experience. If you haven’t seen it, I recommend it, it’s short, just 6 episodes.
Additional resources and credits: ChatGPT, Perplexity.ai
Author: Ovidiu Filip, Operations Manager
He is a seasoned OM with over a decade of experience, a knack for product development and a love for cycling—always dependable, with a great sense of humor.