5 ms·
I think there's two important aspects of this article: 1) Assume the people who wrote the code aren't stupid. 2) Be nice to developers Point #1 is valid, bec
by bigwig8702 5y ago
I think there's two important aspects of this article:
1) Assume the people who wrote the code aren't stupid.
2) Be nice to developers
Point #1 is valid, because yes a lot of times intention is difficult to suss out and the guy who wrote it might have known something you didn't, or maybe the circumstances were different when it was written.
Point #2 is just wrong, it goes against the entire principle of Egoless Programming. Like you said about Ribbon, if it sucks you need to just admit it and either make it better or scrap it. It's just software, people don't need to incorporate every bug they write into their personal feelings of self-worth. If anything developers should embrace criticism, there might be lessons there to learn.
- Jtsummers 5y ago#2 does not contradict egoless programming. If you think it does, well, I'll take a page from your book: You're an idiot who has no clue what egoless programming is. But, more seriously, "egoless programming" requires effort on the part of both the criticizer and criticized. The criticizer cannot act rudely and then exclaim, "You shouldn't be offended, it's just that you're a crap programmer and write sucky code!" That's an incredibly unhelpful way to work with the vast majority of people. If you don't understand why, well, the kindest thing I can say is that you are pitiful or maybe clueless. The person being criticized needs to set aside their ego, in egoless programming, and accept criticism with a minimum of emotional response. But that's hard. However, the criticizer needs to be aware of who they're speaking to and how they're responding, otherwise they're being foolish, at best, or an asshole, at worst. The criticizer should act in a friendly manner, collegial, in order to be as honest and straightforward as possible without pushing the boundary and causing unneeded offense. Offense is often an emotional reaction, not a logical one, acknowledging that is critical to working with others and achieving your objective of egoless programming. You don't get to declare one day "We're going egoless people!" and follow it up with "All your code sucks!" and expect a successful transition to the egoless programming approach. Egoless programming is a cooperative path that people embark upon, not a declared mode of working. For emphasis I'll repeat myself: Offense is often an emotional reaction, not a logical one. If you want to achieve egoless programming you have to work on both yourself: Letting things that offend slide off, whether the offense was intended or not. And how you work with others: Acknowledge that offense is an emotion, and being a rude dipshit is a great way to trigger that emotion in others, even if they try not to react with offense, so don't be a rude dipshit, be nice.
- bigwig8702 5y ago[flagged]
- deleted 5y ago[deleted]
- Jtsummers 5y ago> Oh look, a big angry reaction to a simple assertion that you should try to look at code and criticisms about code objectively. Oh look, an emotional (childishly sarcastic, in this case) reaction demonstrating that offense is, well, an emotional, not logical, reaction. Which was my point. Thank you for playing along. In case you still don't get it, there's a distinction between honest-but-rude and honest-but-nice. My original comment was deliberately constructed to be rude, not nice, as an illustration of that. Your response is very helpful because that's the response people have when you provide unfriendly, non-collegial criticism. Even from people (like you, I'd presume, since you advocated for it) who want to practice egoless programming. Hell, you can even be nice and still get an offended reaction from people, and have to backtrack (if you want to avoid unnecessary drama) a bit and work back to the point. Because egoless programming isn't just a declared mode of working, it's a process that all participants work toward. The one who is speaking and criticizing should take a "nice" approach if they want to be well-received, even if it's less straightforward than they want to be. TL;DR: Egoless programming isn't an excuse to be unfriendly or rude.
- bigwig8702 5y ago
- shashwatak 5y agoBrilliant :) All too often the "I'm just being honest" people are providing shallow knee-jerk feedback, and shutting down dialogue. Quality honest feedback is always presented with compassion.
- watwut 5y agoEgoless programming is not about being asshole to developers. Nor about stroking own ego by phrasing things in the most insulting way possible.