3 ms·
I think programming culture is immature because programmers are often unable to take a step back from the absoluteness of their work and see real life as nuance
by dagmx 4y ago
I think programming culture is immature because programmers are often unable to take a step back from the absoluteness of their work and see real life as nuance.
This is also what I think makes for great system architects and really differentiates them from “just” a programmer. The ability to reason about all the trade offs at each point and make that deal with designers+users etc in an amicable way. A good architect understands compromise and nuance whereas many software engineers often see it as a puzzle with one true solution.
So debate often becomes: there is one true way to do this. A difference in opinion is a difference in truth.
When I supervised teams, my favourite moments with junior hires was when they’d hit a problem that they couldn’t reason about without compromising something, and also when they’d invariably break something in the process because “it should work this way”.
It’s the best teaching moment. They can learn that best is relative. What may seem ideal is coloured by so many facets they don’t consider in the limited world view they’ve collected of the systems thus far.
The best are when they put out a UI based internal tool (so no designers involved). They’ll often get responses from users that they can’t figure it out but their own engineering mindset often can’t see past their logical flow and familiarity, to see to the lack of intuitiveness within a greater world view. Again, a really great teaching point about how intuitiveness is often non tangible.
Anyway all this is to say: as programmers we often think in absolutes , in binary so to speak. IMHO that’s one of the biggest issues in our community culture. It’s why we often fail to put ourselves in others shoes or fail to have discourse.