Why is that bad? You write better code when you actually understand the business domain and the requirement. It's much easier to understand it when you get it direct from the source than filtered down through dozens of product managers and JIRA tickets.
Having had to support many of these systems for sales or automation or video production pipelines as soon as you dig under the covers you realize they are a hot mess of amateur code that _barely_ functions as long as you don't breath on it too hard.
Software engineering is in an entirely nascent stage. That the industry could even put forward ideas like "move fast and break things" is extreme evidence of this. We know how to handle this challenge of deep technical knowledge interfacing with domain specific knowledge in almost every other industry. Coders were once cowboys, now we're in the Upton Sinclair version of the industry, and soon we'll enter into regular honest professional engineering like every other new technology ultimately has.
Not sure why this is being downvoted. It’s spot on imo. Engineers who don’t want to understand the domain and the customers won’t be as effective in an engineering organization as those who do.
It always baffles me when someone wants to only think about the code as if it exists in a vacuum. (Although for junior engineers it’s a bit more acceptable than for senior engineers).
We're assuming we all somehow have perfect customers with technical knowledge who know exactly what they want and can express it as such, while gracefully accepting pushback over constraints brought up.
Anyone who's worked in a "bikeshed sensitive" stack of programming knows how quickly things railroad off when such customers get direct access to an engineer. Think being a fullstack dev but you constantly get requests over button colors while you're trying to get the database setup.
Okay. I'm glad you're privileged enough to where you can choose your customers. Customers that aren't abusive or otherwise out of their league thinking they know everything just because they have money.
Calling me "privileged" or "lucky" feels like a cheap attack on my competence.
I am certain that I went through the same problems you did in the past, maybe I just have a different way of dealing with them, or maybe I had even worse problems than you did but I have a different frame of comparison. We never stopped to compared notes.
All I'm saying is: for me dealing with business owners, end-users, CEOs and CTOs was always way easier than dealing with proxies. That's all.
>I am certain that I went through the same problems you did in the past,
And I'm certain you haven't if you really, never wanted a layer of separation between certain clients over behavioral issues that got in the way of the actual work. And I'm still male, so I'm sure I still have it better than certain other experiences I only heard third hand in my industry.
I don't see it as a cheap attack. Any teacher would love to be in a classroom exclusively made up of motivated honors students so they can focus on teaching and nurturing. Instead, most teachers tend to become parental proxies without the authority to actually discipline children. So they see a chair fly and at best they need to hope a principal handles it. But sometimes the kid is back in class the next day.
>you are making assumptions about my experience. Can you please stop?
You're 2 days into responding to a comment that amounted to "X depends on your exoerience". Is there something else you wish to get out of this thread?
Your complaint is an opinion. I disagree with that opinion. Unless you wish to ask about my experiences or go into yours, what's there to discuss here? Without that, I feel I said all I could on the topic.
>please stop dismissing my experience as lucky or privileged
I'm not gonna harp on it. I'll go to bed and wake up completely forgetting about this thread unless I get another notification.
But you're basically telling me to shut off my feelings. Hard to do. I don't know your experiences, so my feelings can be wrong.
I'm unsure why you are putting so much stock into an uninformed feeling on the internet. It doesn't seem like we want to expand on our stories so there's not much more to go on. And that's fine.
I don't try to assert everything about you, but I'm just explaining the vibes I got. But that's all my words are: vibes.
>Just that there might be worse problems elsewhere
I love my industry and in my personal experience I can count on one hand how many truly problematic coilkeages I've worked with or under. I am lucky in that regard for my industry.
Meanwhile, clients and consumers constantly make me question if I want to continue this career long term. My plan was always to focus more on a B2B angle to insulate from that, but the current winds blowing suggest that angle might not even exist in a decade. So I want to at least have a side hustle ready.
And despite those notions, I'm still on the lucky end in terms of what third and even secondhand accounts I've heard of. Diving more into that pool is unsettling for me, but it might still be more stable than what's going on right now.
+1, customers want their problem solved but at times they struggle to articulate that.
When a customer starts saying “we need to build X”, first ask what the actual problem is etc. It takes actual effort, and you need to speak their language (understand the domain).
But if you have a PM in the middle, now you just start playing telephone and I don’t believe that’s great for anyone involved.
Exactly. The game of telephone is prone to misinterpretation and, when this happens too much, it often answers with rigidity and lack of flexibility, out of fear.
Isn't it a bit of both? When it comes to noticing whether or not code will be a security nightmare, a performance nightmare, an architectural nightmare, etc, haven't experienced developers already learned to watch out for these issues?
Too right. Drilling into the domain from first principles and with critical faculties enabled unlocks so much more value, because the engineer can then see much better ways to solve problems.
Customer interaction has imo always been one of the most important parts in good engineering organizations. Delegating that to Product Managers adds unnecessary friction.
Having spent more hours than I care to count struggling to control my facial expressions in client-facing meetings your assertion that that friction is unnecessary is highly questionable. Having a "face man" who's sufficiently tech literate to ask decent questions manage the soft side of client relations frees up a ton of engineering resources that would otherwise be squandered replying to routine emails.
Ahh, what could possibly go wrong!