Live data from Hacker News

Egoless Engineering

egoless.engineering

111–120 of 309 posts

Re: Egoless Engineering

#111

Earlier quoted context omitted.

I'm not entirely convinced that ego-less is even a better way of doing things. Sure, the ego can go overboard but it also gives a sense of drive and direction. It isn't just the bad stuff. Without it, there's nobody taking ownership of the design or it's just designed by an apathetic committee.

Pride and passion can exist without ego. I view this as appreciating things for what they are, not who they belong to.

Yes, and not thinking that one is better than anyone else. We are all equal, no matter how much better we are than another, with respect to either some job skill or even the spiritual path. Dunning-Kruger's true-experts are better than the slackers, but we must be humble to achieve that and then not be an ahole about our achievements.

It's a tricky business, being a human being, with its very many pitfalls.

Re: Egoless Engineering

#112

Earlier quoted context omitted.

The problem with "ego" as a concept IMO is that it carries negative connotations with most people and isn't exactly well-defined - some people might see it as always a bad thing (I think you might fall into this camp given that your phrasing "dedication and care expresses itself to others as ego" rather than saying it merely is ego). Personally I think that that is ego, but that ego is not necessarily a bad thing. Th…

The ego is, indeed, referred to in a negative sense because most people do not sublimate it to serve the group. It's natural state -- and, therefore, our natural state -- is to be selfish to oneself and one's in-group. There are 19 pairs of vice/virtue pairs in the ego. We can only decrease our ego's vice-eous tendencies by increasing our consciously manifesting compassion to everyone we encounter. It also helps to c…

Huh. I thought it was thought of negatively because people confuse the word ego (self) with egotism/conceit (exaggerated sense of self-importance).

The same sadly has happened with confusion of the word selfless (having no concern with self) with unselfish (concerned with others before oneself) and altruistic (unselfish concern for others' well being).

Personally, I don't see any incompatibility between having a sense of self and healthy self-esteem and having compassion.

Indeed, I see a major incompatibility between actual selflessness and universal compassion - as selflessness would preclude compassion for oneself.

Re: Egoless Engineering

#113
post #19

The part about intentional team values is very good: • Digs ditches. Nobody is too good for any task. • Returns shopping carts (even if nobody's watching). We leave things better than we found them. It's amazing how most teams don't set norms/values at all!

Western society (or at least USA society) seems to me to foster the idea of "not my responsibility". My example would be, going to a fast food place and not cleaning your table even though there are trashcans and places to put your tray. Spilling something and not even attempting to clean up after yourself. Unions have this in spades. "My job is X, I don't do Y, in fact I'm not allowed to do Y as that takes a job awa…

Huh? US society doesn't foster that. Sounds like you just live in a crappy area or a rich super entitled one. I've never lived in an area where people just left their fast food mess or just left spills. It's never been an attitude fostered anywhere I've lived. To be fair I mainly had experience with the midwest/western USA, maybe the east coast is different.

Re: Egoless Engineering

#114
post #80

An ageless idea... "There once was the first software engineering best-selling book. It was called The Psychology of Computer Programming (Weinberg 1971). There was a peculiar idea contained among the many excellent ideas of that book. It was the idea that the task of programming should be egoless. Programmers, the author said, should not invest their ego in the product they were building. ... What’s the alternative…

The last paragraph is the interesting one, and here's the full quote in context: One of the reasons Communism eventually failed is that it assumed that we could all accept the philosophy "from each according to his ability, to each according to his need." The assumption that we could all subjugate our needs to those of others is about as faulty as the assumption that we can subjugate our egos for the betterment of th…

The failure in this paragraph is that our highest and most important ability as human beings is to self-evolve ourselves out of our selfish ego into its selfless version.

That paragraph is as completely wrong in its understanding of human nature as a paragraph can be. Yes, it is difficult, but we are all capable of choosing to put ourselves through this self-evolution of our ego's vices into their corresponding virtues.

Re: Egoless Engineering

#115
I spent so much time at my last job trying to implement this with so much resistance. I felt so insane for getting resistance I ended up becoming a jerk and hated who I was. The worst part was because I was so good at what I did people started trying to protect me from getting angry. That made me even more angry and jerky. I hope I will be forgiven, I hope I can become better.

Re: Egoless Engineering

#116
post #4

Random comment: slide 10 talks about using Twisted and then adding a twisted middle layer. 2010 me (or earlier) liked Twisted a ton but not sure I would have foisted this technology on a development team. As a single dev doing all kinds of crazy shit it (sort of) worked but was pretty hard to debug or understand.

Well that shows my age, I thought twisted was being used as an adjective.

Re: Egoless Engineering

#117
post #108

Earlier quoted context omitted.

How predictable the ego's self-defensive reactions are. Merely encountering the suggestion that the ego is a necessary servant but a terrible master and it yelps "I'm not an egotist, you're the egotist!"

There's a complex of these passengers you can't discuss because it wakes them up and they reflexively defend themselves. They wrap themselves around your sense of truth and it's impossible to get them out. Sleep tight. :)

We each have the free will to choose willful ignorance over humble learning.

You are correct, we can't "get them out"; only they can do that by exercising their free will to choose to become better human beings. We can, however, attempt to teach them with our positive ideals, attitudes, and behaviors, but we can only lead the horses' asses to water, not make them drink.

Note that we must remain humble and grateful in remembrance that we ALL used to be horses' asses, once upon a time, before we entered the Path of Love.

Re: Egoless Engineering

#118
I like his other two talks better than this one.

I find "this worked for me once at Etsy when we were a 20 person team" not a very convincing argument. That does not mean I think he's wrong. Just that the conclusion needs better arguments.

One argument that comes to mind is: If you treat people like children, they will start behaving like children. Treat people as adults if you want them to shoulder responsibility.

The main message of this talk is that when a designer tried to deploy a fix into production and it blew up production, they realized he had the wrong kind of permissions and their solution was to give him full deployment permissions.

Well, great if that worked for you. It might or might not work for others.

I would recommend not letting anybody deploy to production. You can deploy to staging, then tests are run, and only after those all pass can anyone deploy to production.

Also, the current process is not just the result of ego. It is also the result of evolution. We usually take steps to prevent things from happening because they have blown up in the past and we would like to not have that happen again.

Re: Egoless Engineering

#119

Definitely agree that domain experts are preferable to domain owners, and that overly explicit specialization causes problems, but at the same time I think it's quite possible to stray too far in this direction too, and that the author didn't really address that. The problem is not just that the Designer might Break the Build or ship something broken one time (but know how to fix it). The problem is that stuff can (o…

If you care about the experience of your co-workers, you won't repeatedly break stuff. (Or if you do, it's because your tooling hasn't scaled enough to keep up; you need a staging area or precommit hooks or whatever.) If you know you're trusted to do your job, you will work to maintain that trust.

But things need to be architected for trust. If you have lots of rigid processes, then there's no use for manually executed tools that will only be used if someone decides to use them. People will lean on the process, and every time something goes wrong, the process will be "improved" (as in, catch one more potential issue, at the cost of taking longer and catching two more non-issues and making people batch up their changes more, causing more conflicts, etc.) In a high-trust environment, people will use the manual tools when appropriate, and so there's incentive for architecting things such that the results of those tools and processes is useful. Tests are more likely to test real things. Staging environments will be made to better reflect prod.

If people care about it, they'll make it work. If they don't, they'll make it "work".

But yes, I agree that as you scale up, more and more things will get missed and you'll need to balance things out. It's just so, so common to go too far in the rigid low-trust direction.

People are so terrified that something might go wrong that they'll do things that end up making sure that something will go wrong. It'll be something later, or somebody else's problem, or whatever.

Re: Egoless Engineering

#120

An ageless idea... "There once was the first software engineering best-selling book. It was called The Psychology of Computer Programming (Weinberg 1971). There was a peculiar idea contained among the many excellent ideas of that book. It was the idea that the task of programming should be egoless. Programmers, the author said, should not invest their ego in the product they were building. ... What’s the alternative…

Ego loss comes from experience, age. Hopefully.
Post reply on HN