Front-end development is like…
…so many other industries. Yet, I find that working in front-end development still places a heavy emphasis on one person — or very few people — doing the job.
Let’s assume for a moment that you’re tasked with building a website. What kind of website? A big one. Pretty complex, too.
That’s really no different than say…
An engineer tasked with a strip mall development.
Is the engineer going to design the mall? Is it the engineer who makes those little scale models of the design? What about the blueprints? The electric work? Walls and foundations?
Nah, there’s a team of people who do it. It would be pretty darn amazing for one person to spearhead the entire project solo. That’s why there are specialists in the industry, and they cover everything from design to cabinetry and lots of stuff in between.
A mechanic tasked with fixing a car.
Are there mechanics with experience working on all car makes and models? Maybe! But I sure haven’t met one. The only mechanics I know (and it’s not like I know a bunch or anything) specialize in a certain car.
There are also mechanics for different areas of the car. Is the car experiencing engine issues? That might take a specialist. Is the car’s touchscreen dash acting up? There’s probably a mechanic that specializes in the componentry behind that. Maybe the car is dented and we need someone from a body shop. Maybe it’s a rare classic car that was in limited production and only a certain type of mechanic would even know how to work on it.
A teacher tasked with educating a classroom.
Are we talking about kids or adults? My children’s elementary teachers — as great as they are — are likely unsuited for instructing college-age students. On the other hand, I teach college classes but would be awful at teaching five-year-olds much of anything, much less getting an entire classroom of them to behave themselves.
Someone marketing a product.
Marketing has so many parallels with front-end development. Whenever I hear “marketing” I instantly think of smoke and mirrors because there are plenty of folks out there who say they’re marketers, regardless of experience.
Think of all the stuff that actually goes into marketing a product. There’s advertising. There’s getting the product placed on store shelves. There’s positioning the product against its competitors. There are sales strategies and promotions. Heck, many companies lump marketing into other disciplines, like design, sales, product development, and customer service.
But let’s focus on a specific task, say advertising. Is there one person who can do it all? In other words, is there someone who is great at print, online, TV, and radio advertising? I doubt it. I imagine there are people, teams, and vendors for each kind.
A chef tasked with feeding a busy restaurant.
There are definitely well-rounded chefs who are capable of cooking a wide variety of cuisines. But even then, we still need to determine what kind of food we’re talking about and whether this particular chef has the chops to make it. I mean, it’s unreasonable to think that just because someone can cook a fancy Italian meal they are equally proficient in handling Asian cuisine. I would like to think an Italian chef can work with seafood, but there’s no guarantee for that.
There are also well-rounded front-end developers who are capable of handling a wide variety of development work. We call them “full stack” developers, right? But just because a developer can write Rust doesn’t immediately qualify them to use semantic markup or well-structured and optimized CSS.
I dunno, maybe I’m reaching here. It’s just that I continue to see extremely talented front-enders burn out trying to be domain experts on everything related to making websites and web apps. It’s so cool there are folks who know React, Vue, Angular, or whatever hip framework we’re talking about. But is it really necessary to be extremely fluent in all of them?
Your answer may very well be yes, that is necessary. In that case, let’s venture deeper into front-end practices. Does a single developer need to be as well-versed in accessibility as they are with SEO practices? Is it the person who came up with the webpack configuration that also designs the UI? Is the person who designs the UI the same person who adds state to those components?
My point here is much less about the need to specialize and segment front-end work than it is our self-imposed expectations for what we should know how to do. I’m very much a generalist in the sense that I specialize in UI design but have the chops to make those designs accessible, performant, and interactive. Does that make me an expert in accessibility, performance, and scripting languages? Heck no! I’m more than happy to defer to others who have way more experience in those areas.
And I’m OK with that. There was once a time when I was less comfortable with my shortcomings. But the web is so freakin’ big and only getting bigger. That means we’ll need more and more people with certain skills to help cover all the bases that are piling up.
Just like an engineer. Or a lawyer. Or a mechanic. Or a teacher. Or whatever.