3 ms·
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 d
by Nextgrid 8mo ago
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.
- secondcoming 8mo agoProgrammers have an unfortunate tendancy to be too honest!
- Insanity 8mo agoNot 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).
- johnnyanmac 8mo agoWe'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.
- whstl 8mo agoDealing with the occasional pushy customers is way easier than dealing with pushy PMs or designers. Which happen to be the majority. Customers bikeshed WAY less than those two categories.
- johnnyanmac 8mo agoI'm glad you dealt with some good customers. I can't agree in my experience, though.
- whstl 8mo agoIt's not luck. Customers want to save money and see projects finished. That anyone can reason with. Someone inside the company trying to climb the corporate ladder? Different story.
- Insanity 8mo ago+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.
- whstl 8mo agoExactly. 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.
- johnnyanmac 8mo agoOkay. 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. Otherwise, you never feeelanced on the cheap.
- whstl 8mo agoCalling 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.
- williamcotton 8mo agoIsn'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?
- hooch 8mo agoToo 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.
- themafia 8mo agoYou write more efficient software for the task. 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.
- SoftTalker 8mo agoEngineers and customers often talk past each other. They focus on different things. They use different vocabulary.
- jghn 8mo agoOnly true for engineers who don't want to bother learning this skill. Those engineers are going to start finding themselves left behind.