This blog post is part of a series of articles by NiceJob employees to showcase our team and to share unique perspectives on how we enable small businesses to thrive.
A software engineer is a "living robot" who tries to convert a spec document into a working software using coffee and code to offer technical solutions to user problems.
As humorous as the above statement sounds, in practice, when we strip it all down to its bones, it's kind of true.
A lot of times, including here at NiceJob, software engineers focus on implementing what they see on a spec document and a design blueprint.
Many software engineers rely solely on this work done by other teammembers. After all, it takes collaboration to build great software for small businesses.
But this approach can lead to a host of problems; so here at NiceJob, we instead promote a culture built around a new outlook.
Introducing the Product Engineer. What is a Product Engineer? And how does “product engineering” help both our team and our clients? Let’s dive in!
There are many potential problems to the old, instructional-based approach of software engineers communicating and strategizing almost exclusively through spec documents.
Let’s look at some of them to better understand the alternative to software engineers: the Product Engineer.
When software engineers often look at a spec document or a project brief—usually over long meetings—they tend to begin by seeking out all technical constraints and possible solutions.
They may start to consider all the things that could go wrong and then draw up a plan to preemptively solve them in their heads, even before the meeting is over.
This mindset misses the most important part of product development in the first place: the customer, our clients!
Why would a client want this solution and how does it help them?
Can we leverage an existing solution for another need or problem to iterate quicker and get feedback?
Do we really need to solve for x if we are unsure if our clients need it at this time, or especially, any time?
How would implementing this solution affect the overall user experience?
How do we know our clients and their users will gain value? In other words, how can we validate that we are providing customer-driven growth to help them scale their business?
These are the questions we try to ask ourselves when understanding engineering projects here at NiceJob, instead of overfocusing on needless solutions to hypothetical problems.
Software engineers pride themselves—and rightfully so—on delivering high-quality technical solutions to user pain points or problems.
However, they often fall into the trap of trying to solve all potential points of failure and inadvertently expend superfluous resources & waste important time.
In reality, the actual problem might be a subset of other problems that arise from “overengineering.”
Without properly understanding the product problem and client needs, the odds of longer turnaround times and suboptimal quality will increase.
Product validation and feedback from users, our clients, are rarely considered an engineering problem.
But most product learning happens after users try the product and give direct or indirect feedback.
Instead, what we do as a team at NiceJob is incorporate new learnings into planning in advance for how they can influence product roadmaps.
The more insights our business can gain on a technical level around what these learnings could mean, the better the software product on a whole will be for our clients.
It’s a lot easier for technical blindspots to arise during product discovery under the old mindset of software engineering.
How can blindspots that impede software engineers emerge?
They can pop up simply due to an inadequate technical expertise to understand what is possible from an engineering standpoint.
This lack of expertise not fulfilled by a holistic view of client needs also complicates estimating engineering costs in advance, should certain decisions be made, leading to more blindspots.
For a team like ours committed to the best tools that help businesses build and leverage their reputation with customers, thinking like a traditional software engineer is too risky.
As NiceJob continues to improve our platform for customer-driven growth, an evolution on how we currently discover, create and provide engineering solutions is absolutely necessary.
We could call this evolution of the software engineer an evolution towards the Product-Software Engineer—or simply a Product Engineer for a cooler-sounding name.
A Product Engineer is a software engineer who is involved in all parts of the product-development process.
They focus on blending sound technical knowledge with a deep understanding of the product and empathy for the user, our clients, to build and deliver great products.
We involve our software engineers in all major aspects of product management for projects that require significant engineering components.
This empowers them to appreciate projects comprehensively, to understand the small businesses we serve and to deliver a higher-quality solution to our clients.
In a nutshell, Product Engineer = software engineer + product manager.
To understand the Product Engineer better, here are some traits a Product Engineer embodies:
A common issue when building a team around this new mindset of the Product Engineer is, well, finding potential Product Engineers.
Most engineers just aren’t wired in ways that prioritize user empathy.
But when software engineers establish and practice a mindset around Product Engineering, they can accelerate their careers, help scale their company and enable clients to grow theirs.
At NiceJob, we encourage our engineers to develop this mindset.
There are a few things software engineers could do to facilitate this evolution and become a Product Engineer!
Product Engineering, not the old way of software engineering, can help engineers reach their potential and optimize results for companies and the businesses they serve.
The traditional way risks technical perfection at the expense of efficient solutions and empathy towards our clients.
By merging software engineering and product management, engineers can instead develop a mindset around Product Engineering, especially when empowered by their employer!
At NiceJob, this allows us to provide a platform to small businesses that is better, faster and cheaper at empowering them to get the reputation they deserve and grow their operations.