Nishiki Liu

Personal blog of a software engineer.

The software spectrum

Kudos to my coworker Dylan Smith for the chats recently that got me thinking about this.

There was a fantastic article written by Chris Coyier over at CSS-Tricks in 2019 called The Great Divide. In it, the problem of the term “front end developer” encompassing very distinct roles is described. This isn’t just a semantic difference—it’s a mindset difference as well.

In a product team for the Web, you’re likely to have people that cover the responsibilities of what we’ve traditionally known as designers, front end developers, and back end developers. Will roles and titles fit snugly? Almost certainly no.

Those traditional role titles are even a bit misleading, since you and I would probably have slightly differing definitions of each. Just by starting to think through the various responsibilities and laying them out in a flat list, I get something like:

  • User research/data analysis
  • User flows/storyboarding
  • Wireframes/low-fidelity prototypes
  • High-fidelity prototypes
  • HTML/CSS implementation of prototypes
  • Accessibility, cross-browser support, animation, etc.
  • CSS methodologies/structure
  • JavaScript sprinkles/enhancements
  • Heavy JavaScript utilization
  • Front end frameworks
  • CSS-in-JS, code splitting, state management, etc.
  • Single-page applications/hybrid apps
  • API design
  • Serverless functions
  • Server side development
  • Server side frameworks
  • Database design/management
  • Infrastructure/DevOps

…and I’m still probably missing a million things in between.

The point is, there’s a lot of stuff, and expectations for roles and corresponding responsibilities are getting blurrier and blurrier each day. People’s skill sets may clump somewhere in this spectrum, but it’s also important to recognize that skill sets could be scattered as well.

We’ve traditionally separated out these responsibilities in clear-cut places, but what happens when someone’s core skills sit right in the middle of a cut? What happens when someone is excellent at both ends of the spectrum? What happens when someone wants to pursue an unorthodox skill set at work?

How can companies start supporting employees that don’t fit the traditional mold? Should roles and titles be more ambiguous?

I don’t have an answer to any of these, but I think it’s certainly worth mulling over.