I recommend "Developer Hegemony". Coming from a career in FAANG, it's helped put words to what bothers me about the power dynamics and management practices. The book also presents a picture of what a healthier and more empowered "software engineering" role/world could look like (one of my 2023 goals is making significant career moves in that direction)

Really great to see a mention of "Developer Hegemony" here.

The author compares software engineers to doctors or lawyers.

In a law firm, the partners call the shots and the rest of the staff is there to support them. In tech companies, the structure is inverted. The engineers are at the bottom of the power hierarchy, even though it's the engineers that generate the most value.

The author suggests that developers should instead become "efficienciers". Rather than being code monkeys, "efficienciers" are able to solve problems via their use of technology.

@losteric I've been thinking about this book for a while. If you're willing to share what your plans are, I'd love to hear more. To me it sounds like some sort of freelancing which is rather daunting.

I've recently read Developer Hegemony. While I agree with their critique of the status quo, I don't think their alternative approach works for software engineering in settings other than agency work for non-tech clients.

Law firms are a way of organizing game animals. Two zebras have no need to compete over eating from the same patch of grass. One zebra just moves over by a few meters. There's enough grass for everyone. Even if there isn't enough grass, fighting over grass is not energetically efficient. You burn more calories than the grass is worth. In law firms, a client is generally handled by at most one partner, and there are enough clients to go around to keep all partners busy while allowing them to work fairly independently. Tech companies that do agency work for non-tech clients may or may not be a little bit like that.

But most tech companies are in a situation more comparable to pack hunters. A single lion can't take on a buffalo. It takes a coordinated effort by a group of lions. When the buffalo is down, there's a pecking order determining who gets to eat first. In case of food shortages, animals lower down the pecking order are in a difficult situation. They can starve to death in a large successful pack, or start taking on risks by going it alone or in packs that are too small. (If the group of predators is too small given the size of their chosen prey, then predators themselves might easily suffer injury). So competition for rank is to them a matter of survival.

Social behaviour among game animals fundamentally differs from social behaviour among pack hunters and it's all a function of the ecological niche they inhabit.

Similarly, law firms are organized very differently from tech companies and it's a function of their products / markets / business models / stakeholders / general situations.

...so I'd be very careful about the law firm analogy.

If I understand you correctly, you're saying that lawyers are primarily solitary and software projects require a team? Do I have that right? Law firms still have a hierarchy: there are senior partners, junior partners, articling students, etc. From my lay understanding the business is still organized around "a lawyer" being the top of the food chain.

> Similarly, law firms are organized very differently from tech companies and it's a function of their products / markets / business models / stakeholders / general situations.

It's hard to disagree there, purely from a historical perspective. Google was started by a bunch of developers and it looks like a traditional corporation now with layers and layers of middle management. Perhaps this is the most efficient type of an organization for a large software maker. One interesting alternative are tech coops [0]:

> Worker-owned cooperatives are business enterprises that are owned and governed by their employees. All worker cooperatives have two common characteristics: 1) member-owners invest in and own the business together, and share the enterprise’s profits, and 2) decision-making is democratic, with each member having one vote.

[0]: https://github.com/hng/tech-coops