Hacker News new | ask | show | jobs
by Insanity 124 days ago
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).

3 comments

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.

Dealing 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.

I'm glad you dealt with some good customers. I can't agree in my experience, though.
It'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.

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.

Otherwise, you never feeelanced on the cheap.

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.

+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.