> * Treat your highly educated, intelligent and motivated devs like children by misusing agile in order to micromanage them
These two points made me cry. I suffered my very first burn-out due to that and although having a higher degree in computer science and love towards programming this really made me feel like a piece of shit. I have the feeling that it's really hopeless and it wants me to make the change to IT-Consulting instead of software-engineering.
Then we get questioned why projects are not done.
And don't get my started on our new Agile process. We have scrum meetings for our scrum meetings. We have mgmt. popping in the project level scrum meetings to tell us what is and isn't scrummy enough to talk about during the meetings.
And I moved to this company after thinking my last company didn't have it together. Man, I was wrong. No one writes comments here, or any tests. We just "make it work". Pay is awesome though...
Doesn't IT Consulting involve a fair amount of software engineering? Or by IT Consulting you mean like design high level architecture in a way that is abstracted from the app(s) it runs (e.g. setup a docker swarm)?
That one can hit all areas of ICT real bad when the company is a managed service provider, leading to a 'Chefs kitchen/Plumber's bathroom' where the company provides great outsource ICT services offering to its clients, but runs an absolute shitshow for it's own systems because they're chronically under resourced (you can't bill it, so don't spend time on it).
That has extra interesting results when such a company tries to spin up and sell services which it's built/hosting/maintaining/developing itself.
https://english.stackexchange.com/questions/159004/the-cobbl...
But it seems counter intuitive that this effect can be worse for some tech companies, where a major part of their business involves convincing clients to treat their tech as more than just a cost center.
Like, you have an entire staff compliment of developers, architects, PMs, engineers and customer service staff, and your own entire ICT practice is a disaster? HOW?
I ended up having to draw people's attention to it by pointing out 'this is your single biggest client, and receives the least attention of them all'.
Loops into the old 'eat your own dog food' wisdom, but from an angle that seems to often get missed.
Specifically that there are huge off-the-record operations (outside of the ticket system). The more VIP the problem is, the less tickets.
And suddenly, the people supporting them (particularly if they were outsourced but stayed in the company as contractors, and were pissed off) had one sentence "open a ticket". Doesn't matter if this is the CEO asking, or something "urgent", ticket it is.
And the gates to hell opened.
Source : me not being IT anymore (huge company) but strongly advocating against the outsourcing (pointing to the above), and then taking a backseat and watching the world burn with popcorn in hand.
Can you tell me why? Sometimes, asking a client for 50k instead of 80k with a "spin-off" agreement can pay to both parties. The client can get long-term support with new features without the need to pay for it.
2. Once it's a generalized product, how will that first client feel about being told that a new feature they want won't be built?
3. As a corollary to #2, the first client will also look at it as something they purchased, not a service that you now offer to them. They'll demand things and the business will need to have the fortitude to tell them no, and most businesses can't (or won't) do this.
It's very hard to get a scenario like this to work out where people are still happy with the arrangement 2-3 years in the future.
You end up, in practice creating a individual bloody application for each client.
(Not a coder, more a manager who created specs and tried to shield the coders from the worst of the shit-storm).
This is one of the things that always makes me groan, along with 'and you can learn x technology along the way!' >:|
Good to get this stuff of the chest sometimes.
"This will take 40 hours" (I hate estimating in hours for individual tasks as there's no way to average the overrages with the ones that went under estimate).
"Thats too much, can you do it in 20?"
"No, 40 is already underestimating imo"
"Well, it won't fit in the project plan at 40"
"Sorry, that's really as fast as it can"
"Well, lets put 20 and either make up the time or just go over" (wtf?)
The question asks about behavior that management repeatedly makes. If management repeatedly makes these mistakes, then the mistakes should become expectations, so one should simply accept them and understand that they are part of the game being played. If they are expected behaviors, being "pissed" about them simply is foolish.
Of course, by "accept them" I don't mean one should never try to influence or change the situation, but reacting emotionally rather than rationally is silly. Even if there are no upward-feedback or 360 review procedures in place at the workplace, one can articulate these concerns more diplomatically (less offensively) and send out an email requesting that they be considered. One can even illustrate and trace through how such mistakes have impacted recent projects.
It seems to me that the ones "happy to eat it" simply understand that others have limitations and make mistakes and will try to make the best of the situation. It sounds to me like such people indeed deserve the promotions more than people who bring anger to bear on their work.
Does this apply to athletes who are upset when referees seem to be consistently favoring their competitors? Does it apply to people living under an oppressive government? Does it apply to a person who is being verbally abused by a spouse?
Sure it'd be great if these people could seek to improve their situation through rational means, or perhaps just accept it if they can't change it, but humans and emotions don't work that way.
> reacting emotionally rather than rationally is silly
Humans are emotional creatures. Expecting humans, even yourself, to act rationally shows a misunderstanding of human psychology and behavior.
Also when eating it means 60 hour weeks to make up for terrible managers (all the while collecting their substantial pay packets) I'm quite happy to walk out the door and let then find someone else to be abused.
Passed a telephone interview today, got a f2f next week, hopefully onwards and upwards soon.
As a DevOps engineer, I feel it all the time (and not only from managers)
Yeah that's funny, believe it or not - I prefer the exact opposite. At my last jobs I had a hard time diving into new technologies unless I knew them completely. Thus I think synchronization is an important thing...
* Underestimation of difficulty whether through cynicism (burn the devs) or cluelessness
* Inadequate training and expectation devs can just piggy back learning technology x from scratch whilst writing production software using it
* Trying to use one off contracts as a way of building resellable products
* Insistence that all devs time must be billable and trying to defy gravity in ignoring skills rot etc. through lack of investment in training
* Expectation that devs can be swapped between technologies without problems
* Swapping people in and out of projects as if this will not affect progress
* Deliberate hoarding of information as a means of disempowering devs
All of this inevitably leads to a bunch of pissed off devs. The ones that are happy to eat it become the golden boys and get promotions. Those that point out the bullshit leave once they can and are replaced with the desperate at the bottom who sooner or later arrive at the same position of wanting to leave once they realise what's going on. I think tech can be pretty miserable if you are not in the upper echelon of lucky types that can score a position at a Google, Facebook etc.
Oh and a couple more:
* Give no feedback unless things go wrong
* Treat your highly educated, intelligent and motivated devs like children by misusing agile in order to micromanage them