I often have a difficult time trying to describe my dream position for this stage of my career. Over the last 3 years I've managed, through a series of fortunate breaks, to put myself in the closest position I could convince my employer to put me. But when I have a discussion with someone about what I "want" to do, I typically just fallback to some boring cookie-cutter industry-wide title such as "frontend engineer". But what if I want to be so much more than that? This is why I'm going to start working towards a new job title for myself, a "product engineer".
Obviously I'm not the first person to coin the term "product engineer", in fact, based on a quick Google search, it seems this is actually a very common engineering job title. Wikipedia defines it as, "An engineering discipline that deals with both design and manufacturing aspects of a product". So why does the world of software engineering rarely encompass a role like this? I think we can all agree that Marissa Mayer is a good person to blame. Let me explain...
Marissa Mayer was Google's 20th employee, one of the search product's early product managers, and an idol of mine when my professional career was just getting started. As a computer science major in 2004, I read a lot about her new position as a "product manager" and found it really interesting that there was a job out there where (and I'm summarizing here) you could just come up with innovative ideas and have a team of talented engineers build it for you. As much as I loved programming, the inner-entrepreneur in me was definitely intrigued.
From this moment on, I've always loved Product Management. The only problem I have with it is the fact that you need to give up that "control" of building the actual product and have to watch someone else get that satisfaction. I may have 15+ years of programming experience under my belt, but I still get a ton of satisfaction every time the code I type results in something magical on my monitor.
So why isn't there a position that spans across these two disciplines? Backend engineers are regularly expected to perform operations tasks with the server infrastructure. So often that in recent years the term 'DevOps' has gained a ton of popularity to describe this added task, and with it, more clout within the industry. These skills are often important in frontend development as well, but because of their backend nature, they're typically less appealing for those of us who prefer the user interaction side of our work.
The industry tends to put an emphasis on full-stack engineering, with some companies opting to split this in to more specialized positions of frontend and backend engineers. This makes perfect sense, the only problem is these DevOps tasks provide backend engineers with an extra opportunity to provide value, while us frontend engineers are left to argue on Twitter about which framework we think everyone else should use.
My question now is, what do I really hope to get out of this post?
Well obviously making a public declaration like this doesn't necessarily make it true. Just because I have an interest in Product Management doesn't mean I necessarily have the skills yet to take on these added tasks. Instead, I'm hoping this post acts as more of a kick-off to my new, expanded career. I'd like to identify these skills that are important for making data-driven product decisions, and then take on some projects that will help me build on them.
So what do you think? Any other wannabe Product Engineers out there?
Tweet me and let me know your thoughts!