I find it both puzzling but also sad that we as managers have to argue with somebody for giving us the time and space to make improvements.
Who is that parental figure? Why have we reached this state as an industry? Why do we have to beg for time and space just so we can do our job right?
To me, the problem is in today's management methodologies there are too many people loosely related to software who nevertheless participate in the process of software development.
Scrum master bothering my teams with some rituals that loosely relate to software but are actually tailor fit for a Japanese factory floor from the 80's, and have a weird cult-y smell? Out of the door with scrum.
Product owner wasting the time of my teams with childish poker card games and refinements and sprints and calling the shots on priority, considering they are the least technically qualified in the team? Why do we give the decision what to build to the least knowledgeable person? This is insane! Out of the door with this guy.
Agile coach (yes, that exists) just talking and talking about how this is not the right flavor of scrum? Out with this guy also.
Managers or sales attending the dev meetings trying to pressure them into delivering something faster? Throw them out and very sternly explain to them to stop with that, things will be done when they are done.
But wait, how do developers then know what the business wants, you ask? Well, I am glad you brought it up.
Engineers should decide what's the best way to build something awesome. They can do that by requesting feedback from sales or business representatives, talk to clients, view usage metrics, whatever. Whatever it is, it's their business and responsibility how to do it, what features to develop and how long each feature takes. They should also damn make sure the product is stable, free of bugs and reliable. Nobody else should have a vote in making engineering and build decisions. That's it. End of story. C łevel dudes better take a note of that, cause me and my teams, we are paid to build an awesome product, so leave that to us and don't waste our time trying to interfere.
If anyone who is not an engineer has objections, I don't care. I don't go to your sales meetings (those things are noisy and chaotic anyway) and teach you how to do your sales magic, right? I don't make you play poker cards trying to squeeze out of you how much time till you make a sale, right? And I damn right don't tell you what client to focus on and that each client has to be acquired in a 2 week period, or you somehow failed the sprint. And who can sprint for two weeks, no rest, and sprint again? That's just harmful bollocks. So why should I accept a non engineer having any say of how and what engineers are building?
I am at a fairly high executive position in a scale up, but that has been my approach and line of thinking for all my career. Remove anyone not engineer from having any say on what engineering does and you will build good, stable, reliable and sellable software. Even the guys who pay our salaries, they hired you not to execute their instructions like a trained monkey but to use your skills and expertise to do it yourself. So if you find that some management types are sniffing around you and your teams trying to make you make too many compromises, remind them that road leads to you using only 5% of your potential, and if they don't listen, find another place to work.
We can build good software if we focus on that and push away all constraints trying to make us do otherwise.
> Well, let me tell you that you are my first favorited comment not containing technical info since... July 2022.
Thank you! I feel like it had to be said.
> Also I'd love working with you (programmer with 22 years of experience, 43 y/o).
Gladly! Message me to <my-nickname-> at protonmail dot com although I gotta warn you my hiring budgets are frozen atm.
> My question to you is: do you manage to implement the policy you are advocating for?
Yes! I got lucky enough to join a startup early-ish in my career and scale it up over the years. In my position (VP of Eng)I managed to have enough of influence on the the money people to be able to run the engineering org properly and without much interference. I even managed to pull off a 4 day work week for the developer teams with no reduction of salary. People've been happy, rested, our retention is very high for the industry (+4-5yr) and productivity (I hate that word) didn't suffer a single bit. Who knew? (Apart from 100s of studies).
Anyway, all that came with a cost of me not being very popular with the C-suite of the company, but that's life. You can't win all people's hearts, you just gotta try to do what you think is right.
> I gotta warn you my hiring budgets are frozen atm
That's quite fine, I just started a new job beginning of December 2023 and it's going to be a while until I start looking around (likely part-time / weekends but who knows, we might disagree on the promotion when the time comes in 3-6 months).
> all that came with a cost of me not being very popular with the C-suite of the company, but that's life. You can't win all people's hearts, you just gotta try to do what you think is right.
I wonder if "popular with the C-suite" is as good as many people make it out to be. If you achieve results then the fact that you're not singing everyone else's tune should not matter... but I've lived long enough to know that many people will view you as an enemy of some sort; a wildcard that must be tamed and molded and reshaped to be like everyone else. Because frak your personal approach that actually works, right?
Humans' social behavior is both savage and puzzling to me. Appreciation of personal style very rarely exists in work.
Anyhow, huge topic. I'd love to discuss it after I ping you over the email. :)
You can't just say it's self evident, because the people making these decisions haven't complied code in years.