I’m very lucky. I work on a very small software team, with a very flat structure, where my boss, with a very high level of trust, tasked me with replacing several very old parts of the product stack using my best judgment and choice of languages/tools. He also appreciated that during the interview, I mentioned that my work must be oriented towards customer value; that is the ultimate goal of any of our work. I am often privy to client feedback. However, I am also protected by a hard communications firewall from direct contact with those customers, as well as the much larger field tech and sales side of the company. My job thoroughly satisfies my creative and technical needs, such that I do not pursue much programming or high-skill crafting outside of work.
Nobody believes me when I tell them this. Software is so thoroughly corrupted by the low-trust managerial paradigm, where massive hierarchies are built to justify high-paying managerial positions that end up reducing the efficiency and productivity of great programmers, that it’s simply taken for granted: We should never trust engineers to make independent decisions, to schedule their own pursuit of tasks, to pick the right tool for the job, to do this all with customer value in mind.
Who knows? Maybe I’m the exception and engineers don’t deserve to be trusted. In which case we have a very, very big societal problem. All I know is that our software team performs very esoteric group interviews, and our style seems very good at sniffing out pretenders and exploiters.
> However, I am also protected by a hard communications firewall from direct contact with those customers, as well as the much larger field tech and sales side of the company.
One of the worst faceplants I've seen in my current role was when my team was developing a solution to integrate some third-party data. Our PO reported to a Product Manager who was tapped as the "I talk to the end users" person and he completely fucked it up. The team was siloed off to do this for multiple quarters, and at the rollout we literally got laughed at and told "we can't use this." But God forbid my team actually, you know, TALK and DEMO to the end users once an iteration like you're supposed to in Scrum, as opposed to plugging in some drone from corporate who it turns out doesn't know what the hell he's talking about.
We have a liaison in a similar manner, but she manages a Jira ticketing system by which we require our sales people and field techs to fully communicate issues and feature demands. The company used to give out programmer phone numbers and emails. Projects used to get completely side-tracked by programmers chasing trivial features or even entire alternative tools and getting sidetracked long-term from the primary projects. It cost the company their leadership position and a significant amount of programmer turnover. It's still an ongoing issue that our field techs and sales folks simply do not understand the field well enough to know what they're asking for.
The ticketing firewall has been a net boon and we've been able to overhaul a number of ailing backend systems, while adding features that were in demand for going on two decades. Turns out, most of the features being requested were easy to implement given the right choice of languages and architecture. We went from constant fires to downright quiet in our office. Most of the ongoing project work is aspirational and would vault us back to industry leadership, instead of the constant remedial work that was bogging us down.
Nobody believes me when I tell them this. Software is so thoroughly corrupted by the low-trust managerial paradigm, where massive hierarchies are built to justify high-paying managerial positions that end up reducing the efficiency and productivity of great programmers, that it’s simply taken for granted: We should never trust engineers to make independent decisions, to schedule their own pursuit of tasks, to pick the right tool for the job, to do this all with customer value in mind.
Who knows? Maybe I’m the exception and engineers don’t deserve to be trusted. In which case we have a very, very big societal problem. All I know is that our software team performs very esoteric group interviews, and our style seems very good at sniffing out pretenders and exploiters.