How to prevent little UX firesAug 05, 2021
Developers: you’re only going to keep hearing more and more about ‘User Experience led software’.
Digital businesses are looking to retain and grow their customer base through amazing user experiences which presents an intriguing opportunity for developers who are looking to augment their position in their current team or hireability in the job market. This is important for many reasons.
Before you go signing up for a hundred design courses that you’re probably not going to have time to finish, consider which new skills will have the most impact in your day-to-day as a developer. Perhaps some of these outcomes sound appealing:
- Reduce your dependency on the designer while you’re in implementation mode as you interpret the mockups;
- Make design adjustments on the fly without worrying that you’re causing unexpected user experience issues;
- Make your side project look more visually appealing and have an amazing Product Hunt launch;
- Have a better understanding of the complexity within a user flow upfront and then make architecture and BE improvements preemptively.
When you see catch-all job titles like “UI / UX designer” (which is the equivalent of saying “full stack developer”) an unrealistic expectation is set that you need to be good at both visual design and experiential design (not to mention user research!) in order to build nicer looking software. Here’s the thing about learning ‘design skills’ as a developer: there are many degrees of design skills and everyone has their strengths and weaknesses (this applies to designers too). As a full time developer, you’re not going to be great at all aspects of design because no one is.
Learning UX design skills takes time and mental bandwidth.
Wanting to be more design-autonomous is different than learning how to do UI and UX design. At the end of the day, your core function is to be a developer and it’s a fine line between being autonomous in making design tweaks and being used as a ‘design band-aid’. While you can probably emulate designs that you like in other products, good ux design goes into complexity mapping, information architecture, usability testing and interaction design in order to make sure that the product feels good to use.
Trends aside, design skills are a nice-to-have but they’re not essential to being a good developer.
Point blank - you don’t need to know UX design to be a good developer. Good communication with your designer and a good product culture is the most important thing. You’re not responsible for design decisions that influence how users will interact with the product.
The good news is that there is a middle ground for devs that are looking to up their UX game and improve their developer experience.
Getting to know UX fundamentals
“As with anything, being "20% good" at design will get you 80% of the way there.” - Paul Copplestone
De-risk the development effort through user research and user journey design
Actually hearing what users expect to see is the ultimate tie breaker in a product team. User research will uncover what kinds of interactions, functionality and content needs to be considered in a design. Not knowing how users are going to react to new developments is quite risky and can lead to feeling like a lot of effort was spent on the wrong parts of the user flow. As a developer, you can influence how user-centered the product you’re building is.
Anticipate complexity in the user flow ahead of time through information architecture and complexity mapping
By mapping out complexity ahead of time, you’ll be able to identify technical dependencies and complexities and adjust the designs accordingly. For example, you might collaborate on a flowchart for your new password flow which takes a ‘magic link’ into account (uncovering all the unexpected scenarios that might arise).
By anticipating ‘design gotchas’ (poor design decisions that create unplanned scope creep during the sprint) with the designer you become trusted to implement the best possible version of the feature that can evolve with minimal refactoring.
Create shared ownership of design decisions through ‘collaborative documentation’
Knowing how to articulate or synthesize design rationale helps the team develop a source of truth for a design and reduces back and forths and scope creep at the finish line. In that way, estimating dev effort becomes a shared activity by both yourself and the designer. It also breaks the dynamic of just being the doer and not being able to express your opinion on the user experience.
Put out little fires by making autonomous design decisions
When you’re down to the wire at the end of a sprint, being able to produce missing interaction states or adjust inconsistencies in the copy are just some examples of design autonomy that will help keep the pace of development moving. More importantly, it will help you ship features that feel more complete.
In short, the answer is yes you should learn design BUT with a goal of learning UX fundamentals which get you 80% of the way there. UX fundamentals are complementary skills for developers, front-end and back-end, because of the overlaps with complexity mapping, interactivity and performance of the software and normalization/visualization of data.
You don’t have to be an amazing designer AND developer to improve your developer experience. It’s nice to not have to be completely dependent on a designer and get 80% of the way there. Regardless of how you’re planning on using your new design skills, it will have a really positive effect on how you work with designers, product managers and make your experience of building software that much better and more satisfying.
If you’re interested in levelling up your UX game with practical, non-fluffy design skills, our Design SOS course is based on real questions from developers using enterprise-level products and dashboards as examples.
📬 Join the crew
Sign up for the latest:
hot takes 🌶 , fireside chats 🔥 & early access 📣
We won't send spam. You can unsubscribe at any time.