Developers Are the Most Valuable Resource When Creating Software
thehosk.medium.com
thehosk.medium.com
Next in line is presentations for management.
Next is bullshit political meetings that engineers are forced to have to remove people blockers. I have no idea what managers are useful for if they can't handle people issues.
Next is nonsense nitpicks on PRs and design docs. If manager has a peculiar OCD about something, don't waste dev time on that. Work on your own OCD.
I think this is the cause: https://charity.wtf/2020/09/06/if-management-isnt-a-promotio...
tl;dr: Management should be a supporting role, but because it's closer to the business (and usually staffed by "Idealists" as described here: https://leanpub.com/developerhegemony), it's given a more powerful position, and does whatever it can to execute as needed by the business. Of course everyone (managers included) also want to keep the power they have and gain more power/money over time.
Developers' time isn't respected because managers have more power and building software is hard, so rather than building partnerships and supporting everyone as needed, then just squeeze harder, treat people lower on the org chart as lower worth as humans, and generally don't shield or abstract things away as much as they should (often not at all). From the article:
> The goal of most software projects is to deliver to deadlines and budget of the plan. The real goal of a software project is to create the right software, but instead decisions focus on the meeting the plan not creating software.
The plan is focused on instead of the software because the plan is the artifact of the more important people, the managers. They're higher up on the ladder because they're more loyal to the company. Even when this isn't the case they're still higher up because it's safer to have them in power rather than devs who can change stuff.
Unless I'm terribly confused, we spend a lot of time on this topic, but the companies that exhibit this behavior seem to be just fine, if not wildly successful.
Purely based on my experience, I believe much of what is described cannot exist in large (100±) organisations. Fundamentally, large organisations need decision making structures, and become more "command and control" in order to make those structures work.
Smaller organisations can more quickly assess problems/opportunities and collaborate on responses in a more inclusive way.
Back to how you define success. Profit? Hypergrowth? Investment? Shares? Salary? Staff churn? Mental health? Satisfaction?
I run small (4-20) person development teams, as a project/delivery manager or senior manager, and I always prioritise mental health, well being and support for every team member. I always get feedback that team members would like every manager to do the same, and that they are happier on my team.
I do this because having come from a system/development background myself, I've seen the negative effects that bad management has. My own mental health, that of others, and losing colleagues to suicide (not just because of work, but work had been a factor) led me to take a protective and idealistic stance towards supporting development teams and project members.
The flip side of taking this approach is the very difficult conversations and stress I have to deal with in dealing with clients, project sponsors or CxOs. That's my choice. Many of the roles that commission software development teams have no idea how to work with or manage them.
I think of management being able to influence the conversation in a direct way, and also committing to the company direction (even if I don't personally agree with it).
Maybe it's just me, but "no" isn't as much of an option as it seems from the outside looking in. I've had much better results by refining and redirecting outside requests than by just denying them outright. There's also the chance that whoever you just denied will now just try to find a way to get what they want without you.
If you're in a place where you are constantly being asked for unacceptable things, there's a chance that one of the parties in those exchanges is going to be asked to leave. If we accept that premise, then the likelihood of you being dismissed goes up as you deny more requests from more people.
I use "no" rather judiciously and I avoid saying it in front of too many people at once. This isn't about cynically appearing reasonable as much as it is about being polite.
I'm a developer who has gone into management.
Most of the software that is churned out just keeps the money flowing.
Garbage collectors, nurses, utility workers, teachers, parents.
All seem infinitely more valuable to humanity then anything developers do, unless you're advancing medical or bio-science.
Admittedly, due to demand and the ever increasing globalisation of systems software is exploding, so developers are in demand.
Most valuable type of person (I despise the word resource applied to people) I guess depends on your definition of what is valuable?
Largely, I think economics drives most systems, and the behaviour within those systems. It requires people to think and act beyond those boundaries for humanity to move forward.
If there were no developers, or no software, or no Internet, I wonder what humanity would look like right now.
Not that there isn't some benefits, but compare most of social media, advertising and many platforms to automation, industry and so on. Global logistics is big thing too improving quality of life massively, even if consumption might be somewhat negative for planet.
Like