Product Engineering, the swiss army knife every company needs
Product engineering can mean a lot of things to people. I’ll define what I think it means from the Facebook Way — a potent, multi-disciplinary engineer that can effectively act as product leader, designer, and engineer all in one.
Traditionally, being a Software Engineer means you do one thing. You make things work in code. Whatever someone gives you, you make it happen. Product and design will run ahead of you to decide what features need to exist in a detailed product doc, with nice design mocks. Then you go build it.
This existed in the world of specialization, where the world believed that having individuals be really good at only one thing was the key to a successful organization. Turns out that’s really good for optimizing the crap out of a product that moves at a glacial pace, but really bad for organizations that want to be lean and move fast. We don’t live in a world where it takes a year or more to develop a new app anymore. We have the capacity to build in timeframes of weeks.
In this new world, generalists run the show. Specializations are rapidly becoming commoditized. In most tech companies (save for the big ones), it’s no longer about whether you have deep technological know-how to design a database thats 10% faster with 15% more reliability. Now it’s about how quickly you can leverage cheap, good-enough developer tools and libraries to iterate quickly and identify what new, innovative products are meaningful to your customers.
Now it doesn’t make so much sense for engineers to just be in a dark room that you keep under lock and key until you want to pass them a product spec (and maybe some food and water, but no organic stuff! we’re in a funding crunch).
In the programming roles, this is what I call modern product engineering. It’s blurring the lines between engineer, product manager, and designer.
A 10x product engineer exhibits an ability to run with anything. I’m going to try to highlight key traits that I’ve seen in my favorite product engineers I’ve worked with so far.
- Technical excellence. Is equally comfortable running with projects with big, meaty infrastructure that requires coordination with many teams and thoughtful systems design, as well as independent, one-man-show rapid prototyping.
- Product leadership. Thinks for the customer, and is able to boil the product down into core values. Has a clear vision for the product that goes beyond surface level buzzwords. Is able to make quickly assess and make tradeoffs.
- Entrepreneurial hustle. Biases toward action and isn’t afraid to move fast. Is scrappy, knows how to get the right answers with the minimum amount of resources.
- Design sense. Knows how to build clear, intuitive UI. Is able to translate a desired action into clear user interaction.
When you work with a 10x product engineer, the change is often overwhelming. They immediately align on what needs to be achieved as a top level goal, and can run with product exploration without much guidance. This lets the team iterate much quicker because less time needs to be spent on alignment and reporting. As a product manager, I suddenly have a lot more free time to focus on eliminating future obstacles, because I don’t have to be as high touch. And the company is less likely to fail, because we won’t have a single point of failure for product thinking, and we’ll be able to innovate at levels previously unthinkable.