The thing to understand is that very likely your technical people are smarter than your product people. In addition, part of software development is being able to identify what needs to be solved. Any developer with a modicum of experience knows how to do this.
Just as you have a technical leader on the team, you need a technical architect on the team. That person can interface with the business or the business analyst (or both) as needed.
separate teams is a degenerate case for strong software development.
I once literally had a business person ask "who should be involved in this conversation" and my response was "product and technical so we can advise". Product responded after me with "Product" and the lack of technical there was deafening.
It becomes a power play, the theory of the different departments works out about as well as putting a racist and a black man in a room to collaborate on race relations.
I'm guessing you work in the technical side of things?
My usual first question to any product candidate is do you find yourself coming from a Design, UX, or Engineering background?
Often these are people who became bored with day to day coding having more interest in the business side of the company
Intelligence is multifaceted. That business listens to product and not to engineers could be seen as a type of social intelligence of which engineers are notoriously unskilled.
Regardless, framing any portion of your organization as "smarter than" (implicitly "better than") isn't going to help in terms of fostering collaboration.
But like you said, intelligence is multifaceted, and comparing people's intelligence is pointless and divisive.
But more importantly, most of the time what happens is these people have 2, maybe 3 years of experience. They've done enough to be able to roughly understand technology, and that experience helps them communicate with the technical side, but in no way shape or form does that mean they would come anywhere close to that 20 year old vet on the development team.
But the flip side isn't true. In companies without that strong delineation between them, it's the 20 year old vet who would be doing what product is doing.
Companies who do this are too compartmentalized and they become extremely slow as a result. It's all in an effort to keep technical from having an outsized influence.
Back when I was new, engineers worked directly with subject matter experts and the occasional business analyst. Now we’ve mostly replaced SMEs with product, and I don’t think it’s working out.
Exactly this.
Not only that, but when it works the way you're describing, it's often a 2-way conversation. The developer strives to understand the goals, then starts making suggestions to determine if the business is ok with shortcomings that would make it a lot cheaper and faster, but would fulfill those goals. They'll also dig into what the business wants in the future so when the implementation starts they can take that into account.
Instead we get product who wants to own all of that and then throw things up into a jira ticket and have it magically be great. There's no value add there.
So lets be very clear on what I was saying.
software developers can do the job of product, product cannot do the job of software developers
It kills me how many people seem to think the doers are the least important part of it. Gamedev gets this right with the insistence that the idea guy is worthless.
I work as a software architect and I see this all the time.
It gets turned into a job and the result is business people constantly bitching about why everything is slow and what DOES get done is never what they wanted.
The phone game is real.
At that point you're a glorified translator hoping that both sides are understanding each other perfectly. And what's worse is they both speak English!
Companies that do this took 3 roles and smashed them into 1.
- marketing fit - business analyst (aka domain experts) - technical implementation
The reason you see people talking about how hard it is for product is because product gets to interface with the business and has an understanding of the problems and the proposed solutions. They try to tell technical to implement with no real understanding of both, due the reality of the phone game it's never implemented as they want, and they get frustrated.
The solution is to stop trying to make technical the tech equivalent of ditch diggers.
Yes, if you want a ditch dug it's relatively easy to communicate that to someone. Software aint ditches.
So while product couldn't begin to start implementing themselves, technical can absolutely be having those conversations with business.
I've never worked somewhere where eng was treated like ditch diggers. But I've also never worked anywhere where this "business analyst" actually existed. If you build products for many customers there is no such person, because different customers need slightly different things and you have to pick a position v competitors.
Maybe try changing environments? Not everywhere works as you describe.
There is more pressure, less control, more uncertainty, more people to keep happy, more ambiguity. And the number of context switches is high. One has to be highly organized too. Crazy difficult to do well. Very easy to do poorly.
It is a lot easier to be a bad PM than an engineer, I'll grant you that. And most PMs aren't great.
The reason for this is something called tacit knowledge. The only way for a developer to be successful is if they have the same level of understanding that product does. Since they don't, product needs to be the one implementing. Since neither happens, you get shit software.
The solution is either product starts implementing or software developers stop being treated as line workers.
product used to be three roles that worked together. software dev, business analyst, and marketing. And depending on the size of the company, business analyst and marketing often means working directly with business because that's who collaborates between those two.
There is no value-add in product, the theory has proven out to be untrue.
Give it another 10-20 years and we'll be reading articles about how the "smart" companies are doing away with product and giving it back to the other roles and asking them to do something crazy like talk to each other.
I'm talking about a company building software products they sell, eg an enterprise software product like salesforce, google cloud, aws, splunk etc. Not internal software or software built for a specific client.
That need is either driven by business wanting to improve the software or by technical wanting to improve the software. product doesn't belong in there.
product will never identify that a technical change will enable new things, for example. The ones who can do that aren't allowed in the conversation.
Trying to simultaneously satisfy many customers in a market where there are multiple options, different ways to slice and dice the customer segments, different dimensions on which to optimize a product, different ways to reach customers, different systems to integrate with, it's just a whole different ballgame to building a specific solution for a specific customer.
And at somewhere like google for example, most of the PMs are former engineers and can see technical changes enabling new things. On top of that, at somewhere like Google engineers do meet with customers, frequently. There isn't some dividing line like you describe because all the business units are run by PMs or engineers. They are "business" in your terms.
It is what it is. Your observations and suggestions may well be true and sensible in the environment you are operating in.
Different environments.
In my world engineers are first class citizens who have real input to the product decisions and meet customers, the PMs are usually technically capable, the PM job is too big to be done part time and hence isn't. It is what it is, and doesn't seem to be close to how things work in your world. But in my world, the product job is more complex than "someone has a need and you give them a solution". For internal development or consulting, that's probably right.
Regardless, the job is still extremely difficult to do well. Anyone who tells you otherwise hasn't really done the job, at least not outside of the simpler world of consulting/internal software where it's best described as "requirements engineering".
To some extent that's true. I'm sure that product folks tend to have higher verbal intelligence (on average). But all forms of intelligence are highly correlated with each other, and engineers are likely higher overall. Many (though not all) of the engineers I know are quite articulate, even when English isn't their first language.
Much of the difference in "social intelligence" might just come down to being more outgoing and assertive, rather than an actual difference in ability.
> Regardless, framing any portion of your organization as "smarter than" (implicitly "better than") isn't going to help in terms of fostering collaboration.
I agree that the other poster's framing was hostile, but I am sympathetic to their frustration. I think it is helpful to remind product and business leaders that your engineers can be great allies in solving hard business problems.
These product teams aren't interested in collaboration, that's part of the point. A strong software developer can do products job better than they themselves can do it, but they get treated like code monkeys.
Suggestion: Avoid prickly metaphors. Especially ones that imply reader is situated in a particular country?
Reason: Everyone can be racist. In a place with only black men, is nobody a racist?
Disclaimer: White guy on an Island. Sorry for off-topic content, I try not to make it a habit. I am generally against PC bullshit.
Then communication happened, and oddly enough, communicating succinctly was more important than listing out all possible combinations in an effort for perfection.
Your comment completely ignores my point! My point is that I want conversations on this site to be worthwhile, and divisive thinking tends to destroy that. Your example “black man” is unnecessary and creates a divisive context. I think you make the same category of error in your implied definitions of “engineer” and “intelligence”. If you might spend some time to read through the comment tree below your GP comment, and try and understand why various people are reacting, I think that would help you and the HN community. Aside: Yes, I did understand “the point” which was written about in the article. Disclaimer: I have no HN superpowers.
Edit: What outcome do you want for yourself by commenting here? For me, I want to read insightful comments, and I want to practice my thinking by challenging myself to think about topics that others know more about.
Weird. I was an engineer for about 13 years, and I was good at it by the accounts of others. I’ve now been a PM for 6 years and most of the engineers I looked up to along the way have either become PMs, EMs, or Architects. All of us are well above average IQ. We didn’t lose any IQ points by changing job roles.
I would suggest that if the basis of your world view is that other people are less intelligent than you due to their job role that you may wish to rethink it. You are placing way too much emphasis on the wrong thing and prejudging your (current and future) work colleagues based on an inaccurate stereotype.
The people that need to understand this are the product people, not the developers, who are the ones treated as if they cannot understand.
This only gets you so far. It tends to optimize for speed of teams but at the detriment of the overall product.
Eventually you end up with splintering of ideas, terminology, duplicate functionality and features that almost work the same way. You see it across all big companies and products. AWS is a great example of the mess they've made between services and how they don't always play well together and you end up with teams actually competing as they assert that their product should own something that's others shouldn't. I wouldn't be surprised if Google is in the same mess (Drive is a fucking cluster of a mess and it's basically impossible to use for anything productivity related - and don't get me started on how Google Classroom works within that ecosystem that's a double yikes). Same goes for Atlassian. What's the saying? Don't ship your org chart?
> Eliminating the wall between Product and Engineering is essential to establishing high performing product teams.
(Quoting parent post):
> The whole idea of having one branch of the org chart telling another what to do is kind of flawed.
Completely agree, and all of these approaches are destined to fail if it turns into different branches of the org chart fighting with each other.
Most of my issues with separate product orgs have come from product executives who feel the product/engineering relationship needs to be more of a handoff or prescriptive relationship. It's not.
> I think it’s often better to divide up the product over many separate small teams, each with a product focused “mini CEO” and a tech focused “mini CTO”.
Whatever you do, don't call them "mini CEO" and "mini CTO". This generally implies that the CEO is at the top, which breaks the whole collaborative team idea that we're going for in the first place.
I've seen product managers who thought they were _managers_ actually in charge of the people on the team and this led to frustration. OR they thought they were decisions makers who had some measure of authority instead of just another member of a team with a specific role. In general collaboration with
And when I think about the product managers, I've worked with who described themselves as "mini-CEOs" they lacked basic product management skills. For example: focusing on the what over the why, being overly process driven, and lacking a cohesive vision for what the product will be long term.
I can't tell you correlation-causation here. Whether the description of "mini-CEOs" attracts people who are bad at product management or whether telling someone their job is to be a "mini-CEO" causes them to behave poorly.
But the PM still reports to a director of product, and the TL still reports to director of engineering.
And when the director of product and director of engineering have different visions and priorities and criteria for promoting, that's the problem described in the article.
And you certainly can't have engineering report to product or vice-versa... I've seen both before and it's utter disaster.
You shouldn't be seeing a new decision-making Product person every month or so - that's bad news bears.
It gets to this state naturally if your product is fairly large and has loose/well-defined modules that are distinct from one-another.
Take a rough guide to military planning and you see "strategy, Operations and Tactics" not "business vs tech".
And the prevailing direction is towards "mission command" - where each level provides the resources down to the next but it's not "directing" as opposed to "hand off"
The company I am at now has a leader who has product and engineering reporting to them for their charter basically following the mini-ceo/cto you described. It has its issues but works much better than the alternative.