4 ms·
My 2 cents: One of the hats I wear is what I'd call a "frontend app developer," corresponding to the second role mentioned by OP. I work with vue/webpack/etc.
by m_fayer 8y ago
My 2 cents:
One of the hats I wear is what I'd call a "frontend app developer," corresponding to the second role mentioned by OP. I work with vue/webpack/etc. I have a passable knowledge of HTML/CSS. Give me a CSS framework and I can give you a LOB crud app with minimal fuss.
Occasionally I've had to work on visually cutting-edge projects. In those cases, I've found that having a traditional frontend dev (OP's first role) and a designer on the team to be indispensable. The frontend dev specializes in thinking/coding visually with the toolset specifically provided by the web. Sophisticated layouts need careful consideration, balancing new specs (grid, flexbox), performance, maintainability, backwards compatibility, and responsiveness. Dynamic/interactive graphics and animation present a large number of approaches and frameworks all with their own tradeoffs. Then there's font rendering/scaling, optimization for print, email, and the list goes on.
I guess what I'm getting at is that the strictly visual part of frontend development is huge. Easily big enough to justify its own specialty. And for me, keeping up with the frontend app-development landscape, in addition to backend/distributed-systems, that all just doesn't leave enough bandwidth for me to become amazing with the visual side of frontend dev.
And the idea that a designer could do this is, to me, really improbable. Most designers I work with spend their lives in Photoshop/Sketch. Some know the basics of HTML/CSS - the box model, selectors, margins and padding and box-shadows and font-sizes, maybe some basic layout. I haven't met a single one that knows what a polyfill is, or could come close to dealing with flexbox/grid layout, or scss, or webpack, or git, nor could they set up a good workflow that rebuilds and live-reloads 4 different views every time you hit save.
The frontend is now an app distribution/fat-client system. And it's huge and requires more and more specialties, there's just no getting around that.
- nicoburns 8y agoI agree that there are two more or less distinct skillsets here. Although as always, it more than possible for someone to be adept at both. In fact, all the places I've worked that were hiring front end devs were looking for people who had both of these skill sets. And indeed we are often hiring for Full-stack developer who have both of these skillsets + ability with backend lanaguages and frameworks. Places I've worked have been relatively small though (30-150 employees including non-technical staff), and I can totally see that in larger organisations there would be roles which specialised in only one of these areas.
- m_fayer 8y agoDo you really have someone who would be equally comfortable/effective with a large complex PWA, on the scale of, say, Trello - and with a beautiful boutique site (say, for a sophisticated web-native publisher), with lots of motion, infographics, video, layers, custom interaction, heavy photography, etc. I've yet to meet such a person. Of course I agree that one can specialize in one and be passable at the other, but to be equally strong in both, I also wonder what sort of career or company produces that...
- nicoburns 8y agoNot equally comfortable. I think people will always have strengths in some areas over others. But good enough with the weaker skill that they might be preferable over another candidate whose specialism was that skill. I also think that while in some cases the projects requiring these skillsets are distinct from each other, there are plenty of projects that require both. Consider Google Photo's infinite scroll feature for example.
- adrianhel 8y agoI completely agree. But I think that small amount of knowlegde does wonders. A designer does not need to know how to code, but to think in terms of elements and components. Otoh. a developer does not need to know how to design, but basic typography and whitespace should be taught on the job. We are design implementors.