The divide between frontend and backend engineers is increasingly less useful:
Frontend developers are no longer just writing HTML, CSS, and JavaScript. It's now common to see a frontend-focused developer build an entire web application from scratch. They integrate and connect to databases, handle authentication, and more.
Backend developers are often forced to choose between two paths: writing more frontend code to support their backend, or moving closer towards managing, maintaining, and building software infrastructure used by the former developers.
AI-enhanced developers have shifted the focus from simply writing code to creating great products. Startups are increasingly feeling this shift, running a more lean engineering team that uses LLMs and coding copilots to move faster.
Consider two different verticals: Product and Platform Engineers.
What are Product Engineers?
Product Engineers work backwards from the desired product experience to the set of technologies that enable it. They consider the frontend, backend, design, and everything in between to create a great user experience.
They don't need to understand every part deeply, a common misconception of "fullstack". Instead, they have a broad understanding of the available tools and deep experience applying those tools to build products.
Some qualities of a great Product Engineer:
Iterative: They value iteration velocity and incremental correctness. They'd rather ship, get feedback from customers, and adjust along the way—rather than building in a silo.
Customer focused: They aren't afraid to engage with customers and learn how to improve the product. At a larger company, the Product Manager might specialize here, but should work closely with the engineer to apply those learnings to the correct solutions.
Pragmatic: They understand that technology choices are all means to an end. Choosing the latest JavaScript library doesn't matter if no one uses your product. They are willing to remove tools if they aren't helping fulfill their product goals.
Okay, so what does that leave the other half of the software engineers?
Product vs. Platform Engineering
While Product Engineers focus on building and enhancing features that solve end user problems, Platform Engineers focus on the infrastructure that supports the product.
Platform Engineering teams are building or buying tools to support Product Engineers and make them more efficient, productive, and happier. They're typically making the infrastructure choices for the Product teams.
Typically, platforms teams were only something accessible for larger organizations. Increasingly, a small but effective group of Platform Engineers can make incredibly impactful decisions, even for smaller teams. They are thoughtful about evaluating and purchasing software to grow with the scale of their product team.
Finding Talent
Most startups are looking for Fullstack Engineers but actually need Product Engineers.
The best Product Engineers share two common qualities:
A passion for building high-quality experiences
A constant drive to learn and explore new ideas
They're not pixel-pushers; they're creators who take pride in their work and are not afraid to stand behind their products. They should have plenty of examples of their work, because so much of it is user facing.
They understand web fundamentals, such as browsers, accessibility, animations, CSS, HTML, and JavaScript. The tools they use—be it React, Svelte, or something else—are secondary. What truly matters is their ability to use these tools to build the best product possible.
The title shift from Fullstack → Product Engineer has some prior art.
Design has seen a similar shift. Titles like UI/UX Designer and Graphic Designer are increasingly being replaced by Product Designer.
Great Product Engineers don't stop at visually complete. They carefully consider the user journeys. What happens if there's slow (or no) internet connection? What if this API returns an error? How does this experience work on touch devices? What latency numbers should we strive for?
What seems like an excessive amount of polish to others is normal for these developers.
Conclusion
When I tweeted "Product Enginner > Fullstack Engineer", I was surprised by the response.
At Vercel, we updated our job descriptions to change references from Fullstack to Product Engineers. I've noticed others doing the same.
Product Engineers represent a shift in web development. Especially with the rise of AI, there's a growing need for developers who do more than "just write code" — developers who understand the bigger picture, who can work across various technologies, and who focus on delivering exceptional products to the end user.
Really like this approach, I find it a lot more motivational than the traditional frontend/backend engineer point of view. Thanks for sharing!
I'm a huge believer in Product Engineering. This development in perspective and narrative is a beneficial change for the industry because it helps to realign the focus of the developers towards better outcomes.
However I think that we can go further. I call the endgoal Full Context Engineer. The main difference I see between the two is how each defines the goal of the Engineer. Developing a great Product is a much more holistic goal than writing code that fits the requirements.
Where a Full Context Engineer goes further is putting equal emphasis on three things. Solving the problems of: the customers, the business and themselves with their work.
A Product Engineer might polish the whole scope of user experience and code quality but a Full Context Engjneer will carefully consider factors such as: the business ROI of their decisions with the goal to minimize costs and maximize revenue. They will think about increasing the reputation of the company through the effects of the code they write but with other tools as well. They try to optimize the efficiency and effectiveness of their teams and works processes. All the while keeping their own and their teammates' health a satisfaction high.
I guess it might sound a bit idealistic but my belief is that these are (some of) the true goals of every software engineer nonetheless. Just as it was (and is) the goal of the backend and frontend engineers to create a good product. We are simply more cognizant of reality if we expand our attention to the full scope, the full context of our work and learn how can we influence it.
I guess the shameless plug here is to say I wrote a book about this approach and run a newsletter using this perspective over here on substack... Take a look if you see some merit in these ideas!
Great post Lee, thanks for putting it out!