Frequent Questions: What Does a Front-End / UI Developer Do?

On This Series

In my day-to-day, at meetups, with clients, whether they're other developers or friends and family: there are a lot of common questions on everybody's minds. This series aims to address them as I notice their frequency!

1. So... What do you do, exactly?

As with most questions, the answer is: it depends. The position itself differs widely between employers across the industry, so I'll attempt to detail some of the nuances here.

Build the part you interact with

Understanding and refining / simplifying the requirements. Understanding what data is needed, and how to best retrieve it. Implementing the vision / patterns of your team's designers. In some cases, extrapolating or filling in the gaps when a designer is not available.

From a technical standpoint, HTML, CSS, JavaScript. Consideration of how an experience visually scales across different size devices.

Advocate for the user experience

This means, at all times, considering the user's point of view. Is this a painful interaction for users? Am I considering all possible users? Are we making it easier for the user to achieve what they came here to do? Helping Business understand a more optimal experience than something proposed. Knowing when something does or does not belong

Code Design and Advising Fellow Developers

In a team environment, it isn't feasible for a UI Developer to be the only one touching the front-end code. It's their duty to make reusing and implementing UI elements painless for their peers. They'll be called upon to defend user experiences and advocate for alternatives that they propose. They'll be responsible for knowing when logic doesn't belong in the front-end, and for optimizing the experience overall.

Keeping Up To Date

Things have been evolving rapidly in the web space. The technologies available, the architectures we use to combat an endless flow of new devices, good and bad user patterns: there's always something to stay up to date on, and a large part of specializing is being ahead of the curve.

2. So is it like real development?

Sometimes it's an innocent question, sometimes these are fighting words. There's been a drive in our industry lately to consider UI Development solely a Javascript venture. This misconception leads to over-engineered, inaccessible experiences all across the net.

I think to some degree, that is because of the exciting developments in the JS space and also because of the transition of Backend developers finding it easier to grasp than HTML and CSS. But at the end of the day it's our job to make the browser work for everybody, and that means generating accessible HTML and maintainable CSS, and functional Javascript. There's so much to know about the DOM API, and CSS can seem impossible to navigate if you aren't familiar with the concepts. I've seen otherwise knowledgeable full-stack developers recreate native browser behavior less robustly in JS, and this leads to all kinds of issues down the road.

Sometimes knowing what you don't have to do is half the battle, and in the end React developers are generating HTML: They need to know what it is that they're generating, and aware of how all their users consume it. Are screen-reader users able to parse it? Is it crawlable by search engines and structured in a way to generate good SEO?

That's all for now

Having started this venture, I'll be keeping an eye out for the questions I get all the time and trying to keep on top of them here!

Have any Front-end focused questions plaguing you? Reach out to me on Twitter @deathbypapercut and I'll compile them into the next post!

Future articles will be linked above.