Recently, after I mentioned that I was the only one on my team that writes the CSS, someone replied, “You’re lucky”.
It stuck with me, and I’ve been thinking about it since. The thing is, it’s not luck. It was a deliberate decision made early when the team was first put together. And I think the rest of the developers on my team would think themselves lucky for not having to touch the CSS. It is more valuable for us to have one person on the team who specializes in that.
We need to rethink something about the way we build our web development teams. We spend a lot of effort hiring good programmers, but for the most part, they are interchangeable. We make sure that everyone we hire knows the fundamentals of software engineering, architecture, and the primary language the team uses. And then we assume.
But, of course, this isn’t how it plays out. Because we hire purely for the bigger task, CSS and accessibility always remain an afterthought. On most teams, nobody really knows what they are doing when it comes to these topics. They team stumbles along, joking amongst themselves how horrible CSS is.
Is a developer building a new component and needs some styles? The UX Engineer writes that CSS. The UX Engineer gives a snippet of HTML to the developer for them to incorporate into the component. The UX engineer ensures the correct semantics and can come alongside the developer to ensure keyboard navigation works. The UX Engineer maintains a pattern library for the team to use as a reference to find existing styles.
This UX Engineer serves an important role, but furthermore, they allow the other developer to offload some work. The developer can focus on the “bigger concern” of getting the business logic right and ensuring the app works correctly. This improves the developer’s productivity.
Don’t wait for your team to stumble into this. Set it up intentionally. Hire a UX Engineer.