7 ms·
An ageless idea... "There once was the first software engineering best-selling book. It was called The Psychology of Computer Programming (Weinberg 1971). Th
by pjmorris 2y ago
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 to an ego-invested programmer? A team-player programmer.
The team player sees the software product as a team effort and a team achievement. Error reports and reviews and questions become team inputs to help improve the product, not threatening attacks to derail progress.
...
But after further thought, this notion begins to unravel. It is all well and good to advocate egoless programming, but the fact of the matter is that human ego is a very natural thing, and it is difficult to find people who can—or even should—divorce their ego from their work.
...
A system that works will have to acknowledge fundamental human traits and work within the bounds they create. And ego is one of those traits.
"
- 'Facts and Fallacies of Software Engineering', Robert Glass, 2002
- pphysch 2y ago> It is all well and good to advocate egoless programming, but the fact of the matter is that human ego is a very natural thing, and it is difficult to find people who can—or even should—divorce their ego from their work. Ironically, it's the "egoless" crowd which tends to be ego-obsessed and solipsistic. They imagine an egoless world which simply requires that everyone thinks just like me; in effect, everyone shares the same "ego"/perspective. Only in this bizarre fantasy world can we move past the ego and focus on "objective reality". Ayn Rand is an example of this worldview.
- aylmao 2y agoClaiming that the "egoless" crowd is egotistic, because "they want everyone to think like them" is like claiming the "tolerance" crowd is intolerant, because "they don't tolerate intolerance". In my experience, It's both non-factual (ego-less people are the first to learn from others when poised with new ideas) and short-sighted.
- pphysch 2y agoThere's a manifest difference between people who are naturally humble+curious, and people who are idealistically seeking an "egoless" environment. The latter is what I am referring to. Now that you mention it, there are parallels with the "tolerance" ideologues. There are people who are naturally patient and empathetic, and then there are people who opportunistically pursue the in-vogue virtue of "tolerance", and end up practicing de facto intolerance in the process. Don't conflate the two.
- aylmao 2y agoI can agree that there's people who preach tolerance but don't actually seem to mean it, yeah. Have yet to see egotistical egoless-ness, but I'd suppose it'd just look like empty speech in a smilier fashion.
- bithive123 2y agoHow 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!"
- bulatb 2y agoThere'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. :)
- MrMcCall 2y agoWe 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.
- pphysch 2y agoWhich character is this referring to?
- weitendorf 2y agoPeople may bring ego into programming because of some kind of pathology (eg the need to always be right or in control) but I think in many cases it's because they truly care about the work. And the problem is not that they truly care, but that there is a mismatch between the amount of influence/control/autonomy they wish to exert on their work and the amount they are actually able to exert on it. I wasn't there, but my understanding is that essentially all programming in 1971 was done in large corporate settings or universities/research institutions. Those are environments where it's rare for any individual (even someone nominally in charge of a project) to have full creative and technical control over something, and even when they do, it only lasts as long as the project/grant or until their employer puts them on something else. Compared to the 70s there are effectively no barriers to a passionate engineer starting their own software project as either an open source project or in their own startup, and I'd argue that those are settings where it's actually highly beneficial to bring ego into programming. It's pretty much the same notion as "founder mode" or why BDFL is one of the most popular forms of governance for FOSS. Personally I'd recommend anybody who "brings ego" to their dayjob to take a stab at FOSS or a startup rather than trying to fit a square peg (caring a lot about their work) into a round hole (the realities of working on large projects).
- MichaelZuo 2y agoWell the ‘pathology’ is clear, isn’t it? They’re not actually smart enough to keep track of what every other team is doing, at any point in time. FOSS works because there’s usually only at most a few dozen balls in the air simultaneously, so someone who believes they can keep track of balls in the air gets by without looking ridiculous. But that’s just not viable when there are hundreds or thousands of balls in the air simultaneously… their eye muscles literally couldn’t move and focus fast enough.
- dasil003 2y agoI think FOSS really only works well for infrastructure type of projects, things where the customers are downstream programmers or at the very least very technical sysadmin types and power users who can understand the gory details to some reasonable depth. Those projects work because they are centered around proven abstractions that are broadly applicable, thus allowing for a tight charter and some stability in requirements. End user software by comparison, has not really been successful in the FOSS model. There have been many attempts, but they perenially lag behind commercial offerings, and thus primarily see adoption from the ideologically motivated and/or very cost sensitive users.
- smitelli 2y agoI've noticed that some of the worst ego-related issues arise from people who care the most about their work -- the craftspeople, if you will. There is a type of person who will pour their entire soul into creating the most ideal expression of whatever it is they are trying to do. Sometimes that level of investment is warranted and even required. But mixed together with others who don't -- or can't -- operate that way, that's what leads to trouble. I've seen this manifest as long and scathing code reviews, attitudes of "give me that; I'll do it myself," low morale, burnout... I've never found an adequate solution. Sometimes it was my ego that was the catalyst in a situation. I recognize it now, could I have caught it earlier?
- MrMcCall 2y agoOur expertise in any kind of technical skill that allows us to participate in society is of no importance compared to our becoming a positive member of all the societies/cultures we encounter. This requires becoming a compassionate, empathetic human being via deliberate, honest, self-critical work on the areas of our personality that cause unhappiness to others via selfish negativity. We are the only beings on Earth that can self-evolve, by using our conscience and mind to evaluate of our actions to find out where we are causing unhappiness. Then, we must engage our free will to choose to be better, and do the things that help us to grow spiritually out of the immature, selfish mammals we begin as, into the humanitarians that result from reaching our highest potential. The most destructive lie we let our minds tell us is that this transformation is not possible, or is the figment of someone's imagination. The ego tells us this because the spiritual path entails the destruction of the negative ego. Under this existential threat, the ego defends itself like hell.
- ulyssesv 2y agowow, thanks for this.
- MrMcCall 2y agoThanks for the thanks, friend. You can find more info in my various comments in these last couple of days. I want nothing from anyone, I'm not trying to get anyone to convert to any religion or join any group. I just want you to be happy and learn how to help yourself help others. Happiness is only earned by making others happy. There are ways to help that process. Peace be with you. You are loved.
- thundergolfer 2y agoA read that book a couple years ago and thought it wasn’t very good, probably the worst of the “classic” 20th century texts. The Psychology of engineering is underrated though and someone should really write a new book on it.
- tbrownaw 2y agoIt's also terribly ill-defined.
- srid 2y agoThe 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 the team. A system that works will have to acknowledge fundamental human traits and work within the bounds they create. And ego is one of those traits.
- yieldcrv 2y agoI actually like how the standing committee are the best capitalists of them all S-Tier I like it because its amusing and always gets a new generation of gullible people. "hey, rent's pretty high, how about you all give the state all your property instead and I run the state until further notice"
- xyzzy4747 2y agoOne of the reasons Communism failed was because of incentives. People were not rewarded with more compensation for working harder.
- robswc 2y agoI know its getting off topic but I never understood why people seemingly couldn't accept that. Current systems don't have a 1:1 with "hard work" and success/comp but its about as close as you can get, IMO.
- Aeolun 2y agoIt’s fine if everyone gets the same. It’s not fine if some people are more equal than others. Actually, no, it’s still not fine, because whole heaps of people will pretend to be unable to do much.
- DrScientist 2y agoWhen you mean incentives - do you mean the threat of starvation or the promise of a glittering palace? Perhaps the disconnect between effort and outcome was a factor, though as discussed above don't under estimate the satisfaction of a job well done. I think it's more likely to be the centralized decision making, and how the people who make those decisions get chosen. A centralized system where people are choosen based on political ability/connections is likely to lead to corruption and mediocrity. Note the above problem can happen in other systems as well - I'm not sure US politics is operating well at the moment for example.
- oscillonoscope 2y agoI'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.
- itishappy 2y agoPride and passion can exist without ego. I view this as appreciating things for what they are, not who they belong to.
- MrMcCall 2y agoYes, 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.
- oscillonoscope 2y agoI don't really agree with that unless you redefine the ego as being synonymous with 'being egotistical' or 'sinful pride'. You need a sense of self to feel pride and something more than base passion. For practical purposes, if you don't acknowledge how good and bad behaviors can both spring from the same base emotions/thought processes then it's harder to grow out of the bad behaviors. You need to be able to reframe how the ego interacts with your work, not just try to kill it off.
- worksonmymach 2y agoTaking ownership is very much egoless! You are doing that for the team. Ego would be making sure you got "your" sprint tickets done, did no code reviews, skipped the retro. I think few people do that but they will if Goodhart's Law happens.
- kookamamie 2y ago
- JKCalhoun 2y agoEgo loss comes from experience, age. Hopefully.
- MrMcCall 2y agoIt is always our choice, each of us. If we want to become better, we can be, and will, if we ask for the right kind of help. If we don't give a sh_t, we will just continue being a selfish ahole. And remember that a person's religiosity has no bearing on this outcome; the truth resides in our heart's intentions and our ideals, attitudes, and behaviors towards others, where the rubber hits the road. If our heart is aimed right, we can take advantage of religious practices to level-up, but with a callous or cruel or hateful heart, no amount of religious practices is going to do anything but cement our horrible behavior. This is because we each have the choice of how and why to behave one way or another. The love one feels in one's heart is of little consequence if there is no selfless action in service to the loved person's happiness. It all adds up, as do all the petty callous treatments of the people in out-groups we don't give a sh_t about. And we should care about everyone; that is the way of compassion.
- deleted 2y ago[deleted]
- waiquoo 2y agoWhat I have been thinking a lot about lately is that the focus should not be on the work. The focus should be on the handoff. If you build something, the goal is to have someone else use it. The work should focus on easing that transition. If it's a technology, what do you need to characterize so that the product people can work with it? If it's a product, how do you make it easy for your customers to get it? If it's an internal tool, what context and familiarity does the user group have?
- kubanczyk 2y agoMy humble experience is different. There is no surer way to create shitty, incoherent code, flaky tests, architecture mistakes, and Rube Goldberg machines, than when trying to satisfy various people in your org. Junior stays a junior in my book until they learn to "satisfy code" or to bring elegance instead of primarily satisfying specific people. If Henry Ford was listening to customers, he would start breeding a faster horse. That perfectly shows that ego can have a good side. Re ego, I think maybe the vocabulary choice is misaligned here. Anyway, these days, "team player" is becoming a sarcastic innuendo.