Why we are not done with the discussion yet and why you may consider to hire and/ or promote User Interface Developers.
You can call them HTML & CSS Developers, Web Developers, Web Designers, Front-end Developers, ...
There are a lot of job titles out there for people who have their expertise in HTML & CSS. In this post I will call them UI Developers.
UI Developers have different backgrounds as other developers have as well. Some of them learned other programming languages in the first step or have a design background or have learned HTML & CSS from beginning on and deepened that knowledge over time. There is no right or wrong in becoming an UI Developer.
In a lot of companies and/ or projects the HTML & CSS part is done by everyone, by the designers or the persons who are programming the rest of the website/ application.
Of course there are cases where this totally makes sense, and in this post I don’t want to say that you always need to have UI Developers. But there are cases where you really need them or at least consider having them.
The bigger the product or more complex the User Interface, the higher the amount of developers on the project or developers who are using the UI (e.g. component library) is, the more you need UI developers.
Let’s say you have a website as a digital business card for a company. You may not need a software architect here, right? Same goes for the UI Developers.
But let’s say you have a big project which a lot of developers are working on. Or you have a component library which is shared with different teams or even different companies. An application which is rolled out in different variations/ countries with different requirements. In this case you want to have a Software/ Front-end Architect. Same goes for UI Developer. In this case you want to have developers with expertise in UI development. If you would like, you can even say that there are cases where you need an UI Development Architect.
I won't draw one specific picture of an UI Developer. Most of the time there are too many factors which need to be considered for a job description. UI Developers can be specialized in different fields such as performance, accessibility, user interaction animations, etc. This variety would make it impossible to make one definition. That's why I would like to draw a bigger picture of what professional skills an UI Developer may have:
- semantic HTML
- CSS (+ CSS pre-/post-processors, CSS in JS)
- performance / accessibility / SEO
- (User Experience/ Interaction) animations
- component libraries (
- the glue between the design and development team
- ... and of course I'll have forgotten some skills, but not on purpose. Feel free to add them in the comments
Back in the days when I started working full time in the industry (my graduation was 2005) HTML and CSS were the task you did just beside everything else (e.g. Java, PHP, CMS, ...).
Over time a lot of things have changed. From optimizing for Netscape, IE6 and Opera in pixel perfect to HTML5 and CSS3 and CSS pre-/post-processor until CSS in JS, animations in CSS and so much more. We even had the discussions that HTML5 and CSS3 is turing complete. From table layout to CSS in JS. The front-end, devices and browser changes are fast.
You may guess that all the changes over the year have also changed how we see or appreciate UI Developers. But sadly, most of the time this isn’t the case.
Emma Bostian 🐞How to make tech Twitter lose their shit in 5 words:
“HTML is a programming language”10:02 AM - 21 Sep 2020
Malte Ubl@cramforce@kotzendekrabbe I can't do CSS and I admire people who do16:47 PM - 15 May 2020
I have seen projects who have big issues with UI bugs, developers who tell their project managers that a specific bug is a browser bug (even if it wasn’t and they didn’t have the knowledge to know it). Teams who needed days to solve UI bugs, where UI developers only needed hours, projects who needed help just a couple of weeks before go live to fix the whole UI part. All of this can create frustration and problems. Problems need solutions that cost money.
This is no surprise if you don’t have people or a whole team who know how to set up the (let’s call it) UI architecture, who know how to debug (cross browser) UI bugs, who see the pitfalls in refinements, who know how much effort you need for a feature implementation or initial setup.
Why treat it differently? You need people who have their expertise in UI programming - especially HTML & CSS. To minimize your technical debt, to minimize potential bugs which can cost a lot of time (and money) to be solved, to create the best possible product.
LaurieI really don't care if you think CSS and HTML are programming languages.
I care if you discount the people who are skilled in them as being less competent/intelligent than you.17:28 PM - 23 Sep 2020