Live data from Hacker News

Programmers’ emotions

blog.sidebits.tech

61–70 of 143 posts

Re: Programmers’ emotions

#61
I feel a lot of these, including the good emotions, are driven by ego. My solution to some of this has been a mix of confidence and humility. Try to be confident in your choices, but be quick to admit you are wrong and quick to change direction when needed. It is not confidence to hold onto a bad solution.

One of my major problems is being too conservative. A few times I have been skeptical of a new technology or solution to a fault. When we started to use that technology it turned out it worked! My answer to this has been to try and be more open to suggestions. Try and talk things through and be patient and understanding.

Re: Programmers’ emotions

#62

Earlier quoted context omitted.

Regarding your last sentence, I think technical jobs, and especially people who write code as part of their job, are forced to develop a special kind of humility. Engineers, scientists, technicians, deal with the law of physics everyday. As a developer particularly you get immediate feedback dozens if not hundred of times a day. You can't bullshit your way out of a bug. The computer is cold, rational and executes the…

Programmers also suffer from the problem of no objective performance measure - there is no way to tell the difference between good programmer + hard problem and average programmer + easy problem.

Which is why many programmers don't want to make good UI's. It is a ton of technical work to get all those features working, and at the end people praise the UX designers for doing a good job creating such a good UI and not the people who coded it all together, except if it breaks then it is the programmers fault. People say the code is the easy part, but seemingly not a single big company can actually manage to get the code right, and it gets even worse at most smaller companies, so from my perspective we lack programmers who knows what they are doing way more than we lack programmers who has empathy.

No amount of empathy matters if the programmer ultimately fails to code up a working system, you'd rather have a programmer who can code up a working system with all the fancy parts needed for good UX when given proper requirements.

Re: Programmers’ emotions

#63
post #59

Earlier quoted context omitted.

Add a product designer or project manager that actually do things and all the empathy/making software for people becomes optional.

Only works of the product designer or project manager actually has empathy to the users, which seems to be just as rare as developers having it. They are hired to manage and track user complaints and keep it below a certain level at minimal costs to the company, not to empathize with users. Or maybe that is what you meant, if you have dedicated people for that role then nobody has to empathize with the user, the prod…

Ah, I meant for the programmer to empathize with the user.

If you have people dedicated to those roles, they should be the ones that decide what to do by default. As such, programmers don't really need to care about the user at all (although they can)

Specs come in, software comes out :)

Re: Programmers’ emotions

#64
post #44

What is it about programmers that makes them (in general) not expressive, effusive, gregarious, ... I have a deadpan face most of the time, people complain about not being able to read me. When I was younger, I rationalized that I don't want emotions to cloud the logic of a conversation. But I ultimately realized that I was deadpan all the time, whether in work/reasoning discussions or personal interractions. Regardl…

Yes, I can relate. I realize now that fun conversation is highly illogical, emotion based. I view my desire for control and logic actually gets in the way of emotions, which makes conversations less enjoyable.

Me too. I feel that the key insight is that rational mind is almost always too slow to keep flow of the conversation interesting. It inevitably destroys timing and rhythm. You can observe this clearly in stand-up performances - rationality of the bit is only minor part, the delivery is almost everything.

Re: Programmers’ emotions

#65
post #59

Earlier quoted context omitted.

Only works of the product designer or project manager actually has empathy to the users, which seems to be just as rare as developers having it. They are hired to manage and track user complaints and keep it below a certain level at minimal costs to the company, not to empathize with users. Or maybe that is what you meant, if you have dedicated people for that role then nobody has to empathize with the user, the prod…

Ah, I meant for the programmer to empathize with the user. If you have people dedicated to those roles, they should be the ones that decide what to do by default. As such, programmers don't really need to care about the user at all (although they can) Specs come in, software comes out :)

I feel like you need a balance there. If your programmers cannot put themselves in the shoes of the users at all, you need really really good specs. If they can, your specs don't need to be as... specific, as you can rely more on the programmers to make reasonable design decisions.

Re: Programmers’ emotions

#66
post #6

I've been thinking about this A LOT over the last year. Knowledge work is Emotional work. Software developers make software for PEOPLE. Making things for people requires empathy to be successful or else a whole lot of luck. Having empathy means putting myself out there. It means asking questions that sound ignorant. It means going from feeling like I had a great idea to seeing all the flaws and shortcomings of that i…

Collaborating with a computer requires a weird kind of empathy, too.

I've often observed that the best programmers are excellent at giving directions to people: anticipating places where confusion might occur, simplifying language, choosing slightly longer but easier to understand routes, and so on. There seems to be overlap between understanding the failure modes of a human following your instructions and understanding the failure modes of a computer following your instructions.

The machine takes you completely literally: if you tell it to delete the production database, it will. It will not stop to ask you, "uh, do you think that's a good idea?", unless you've told it to do that too. It has no common sense on its own. And yet, because it is natural for humans to do so, programmers anthropomorphize the machine.

So programmers empathize (if you will) with our machine collaborators, which is similar in a way to empathizing with users. But anthropomorphized computers and actual human users aren't the same, and eliding them brings sorrow.

Re: Programmers’ emotions

#67
post #54
post #6

I've been thinking about this A LOT over the last year. Knowledge work is Emotional work. Software developers make software for PEOPLE. Making things for people requires empathy to be successful or else a whole lot of luck. Having empathy means putting myself out there. It means asking questions that sound ignorant. It means going from feeling like I had a great idea to seeing all the flaws and shortcomings of that i…

When people say you need soft skills to succeed they mean you need to have empathy for your manager and make your manager happy, nobody cares about the user. You see software riddled with bugs everywhere etc that would get fixed easily if anyone related to that project actually cared, but hey if the manager doesn't notice the problem then the problem doesn't exist so better not bring it up! What you'll find is that m…

I hear you, but you're conflating two things and drawing an overly reductive conclusion:

> if you want to climb the corporate hierarchy it doesn't matter you just need empathy for your boss, so you will get nothing for getting upset when your manager and your peers sacrifice user experience for no reason.

The second half of this sentence is true for any concern not just UX: if you get emotional about your manager and peers doing [anything they consistently do as a group] under the assumption they are doing it for no reason then you have already failed to understand the culture and marginalized yourself and your growth opportunities in that environment.

The first half is a false conclusion born out of the bitterness of passion tempered by misunderstanding. It may be true that in some nepotistic hierarchies that empathy for your boss would be sufficient, but as an engineer who has made a successful career by caring deeply about UX I can assure you it's no way to live. In healthy corporate cultures promotion to higher levels depends more on broad cross-functional empathy and the ability to collaborate and have good judgement with limited depth of information.

Re: Programmers’ emotions

#68
post #60

Earlier quoted context omitted.

Programmers also suffer from the problem of no objective performance measure - there is no way to tell the difference between good programmer + hard problem and average programmer + easy problem.

Sure there is. You take each programmer’s self-ranked hardest N problems and get the other programmer to try and solve them.

People are not actually fungible.

Each of us has different skills, insights, strengths, weaknesses, and life experience.

What caused one of us months of misery might be the next person's perfect problem, what they were born to solve flawlessly.

Re: Programmers’ emotions

#69
post #60

Earlier quoted context omitted.

Programmers also suffer from the problem of no objective performance measure - there is no way to tell the difference between good programmer + hard problem and average programmer + easy problem.

Sure there is. You take each programmer’s self-ranked hardest N problems and get the other programmer to try and solve them.

And if one person has had a career of spending 1 year on each research problem while the other person has had a career of spending ten minutes on each UI micro-bug? You swap the problems, and person A spends 20 minutes, person B spends half a year, and you think person A is better even though they're actually 4x worse.

Re: Programmers’ emotions

#70
post #6

I've been thinking about this A LOT over the last year. Knowledge work is Emotional work. Software developers make software for PEOPLE. Making things for people requires empathy to be successful or else a whole lot of luck. Having empathy means putting myself out there. It means asking questions that sound ignorant. It means going from feeling like I had a great idea to seeing all the flaws and shortcomings of that i…

A lot of software gets made at a disconnect from the user or client as well, which is very demoralizing in itself. You never get the opportunity to truly empathise with them to get their needs explained correctly, and you also never get the opportunity to explain yourself if you happened to misunderstand the vague instructions given. Everyone has a bad time, and the results are bad to boot.

Even when software I write is used by thousands, if I never meet any users it may as well be as real as conversation with a GPT chat bot. The text on the screen says things are going well, the text is happy. I am pleased to help the text.

Post reply on HN