The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.
This interchangeability is supposed to be a feature of Plan, Build, Run or maybe Agile. It's not coming from HR. The company has only been able to hire one contractor with the C# and AWS skills I've worked to develop. Ain't gonna be no cross training to a SQL specialist or RPG person.
As a (possibly) self promoting note, the Ravings en masse[^] (just above the quotes on the page) has a lot of quotes - the ones on the right side are mine. Also, one on the left (guess which one?). I don't expect anyone to like them all . . .not even me.
That might be a management failure but some of the skills were developed in house. You can't hire them. How are you going to hire a C# AWS Lamabda specialist? Worst of all, our C++ specialist who designed the system 20 years ago... and is going away, is a real live genius. Are they supposed to hire a backup for all of us? I was supposed to transfer one of my systems to another team. It never happened because the resources simply aren't there to take on a fault tolerant WAN project I took two years to develop.
So, am I supposed to teach everyone my AWS, C# skills? Not gonna happen.
What I have done that management should have is I have interviewed everyone I could about the critical processes only they knew about, recorded on Zoom. No one knows that. Still, no video is not going to teach anyone my skills.
I make videos just to show how to test and use my Intranet pages I make. ... I don't do simple. That is not what my team does either.
So, am I supposed to teach everyone my AWS, C# skills? Not gonna happen.
Maybe not everyone, but surely you want at least one other person to be able to step in if you're not available. Or do you not take vacations, have a daughter who's graduating, a son that's getting married or parents celebrating their 40th wedding anniversary? If so, what's the plan when Something Bad happens within your bailiwick? Do you have to leave off your family/personal time and deal with it?
What's the plan when your C++ guy goes away, who can fill in for him? It doesn't sound like you'll be able to hire in to replace him. All that specialized knowledge is going with him. If you were management, what would your plan be to be able to continue to provide service to your customers when he leaves?
Maybe rather than the proctologist/dentist example given elswhere, consider that both a cardiologist and a brain surgeon would be able to assist in a mass casualty situation. And both are continuously training the next generation, and you should be, too.
Nope, no backups and it's unlikely that you can hire that kind of .Net AWS expertise. Our CloudFormation requirements are nutso partly from lack of Cloud support personnel and residual panic from a ransomware incident. I took two days of PTO (Pretend Time off) for my son's graduation and still did a 60 hour week. My motto is "no rest for the wicked" but I'm leaning towards "work till you drop" as it is the only way I can see to solve my professional and personal problems. ... I exercise during Zoom meetings as it is the only time I have for it.
As for the C++, I made videos of what I could. No one really knows about them though and I'm not sure I'm telling. Also... he was a genius. A dangerous thing to rely on in an IT group.
From a rational and logical point I agree completely. But we're talking Management here...
This pre-supposes that the company are prepared to invest time, money and resources into 'cross-training'.
What if they aren't?
What if they are so out of touch with the jobs you are doing that they literally don't understand it or what it entails and aren't interested in finding out? Because then they might have to pay you more...
I have to put up with this management-wish-fulfilment crap on a daily basis.
"Just teach so-and-so how to do it (wave of hand) - how do I teach so-and-so when they have no knowledge of the subject whatsoever, no interest in learning it and no time from their own work?
Will be interested to see what happens when I retire next year....
All this training others to do your job. You can do that, but 1 month after you get them trained, they get another job with another company. You cannot pre-plan life. Like most things, you deal the hand given you at the time. Crap happens.
Meanwhile while you are training, you are losing money in time spent on another dude that could just as well take off next week.
And don't start me on Agile, the nanny philosophy...talking about what you should know and do without the crowds. Oh, the waste of money and time.
The original concepts for Agile were based on one programming Language (I believe it was Java).
And I don't believe the DBA was EVER imagined to be interchangeable with programmers.
Neither was the team lead, or the customer representative.
I say this because you are correct, it is kind of insane, in todays technology stack, to expect anyone to know every piece of technology.
On the other hand, Agile is supposed to be "anti-fragile", meaning the steps to recompile and redeploy a system after any change MUST come along for the ride.
So, the natural tendencies of people is specialization. And we sometimes forget that at any given point, someone green should be able to come in, build the system, and test it without fear or favor.
That's the CONFIDENCE in the system that I believe Agile was solving (at least that's the core part of it we leveraged).
Now, when you bring in all of those "specialties", you are trying to run a very complex system in a lean manner. And if you are a HUGE company, then I would DOWNGRADE the rule to say "Anyone from X Development team (RPG), should be able to come in, and replace the previous X developer".
So, Everyone is REPLACEABLE, not not interchangeable. These could also be called Domain Experts, or Domain Developers in my book.
The Utopia your company seems to be aiming for has a cost to it. From my perspective it will either cost too much to maintain, or it will cost too much turnover to maintain, and yet another company will FAIL Agile, and Blame Agile for the failing.
Finally, I will remind you that the guys who created this were worried about MONOLITHIC systems that would become fragile over time because the knowledge that created them had left the building, and anyone new was fundamentally (or should have been), paralyzed by FEAR over compiling a system that had not been touched in DECADES, and needed the confidence to know that nothing was missed. So even a small change could introduce bugs. Hence the "Testing" (more like panic checking)... That's My Opinion, and I was an early adopter of MOST of their ideas.
The history of economies is one of specialization. In a shop that has its fingers in as many pies as yours, thinking that the developers should all be interchangeable reveals a shocking level of ignorance.
Agreed!!! Very frustrating also. I have pointed out that it is a lie like the other misinformation that curses our society, and quite dangerous. They simply ignore it and since they seem to believe in (Agile) process over people, I'm a bad guy for objecting. I'm not always popular in Agile Training sessions. I am the last developer standing though. The C++ guy is retiring because of the absurdity of this. I could go on about the intellectual crime this is , but ...
What I want to know, is where did that Interchangeability of skills idea come from? Then maybe I can answer it.
That's the cute part. I'm trying to slip that in as "Process Over People" because that is obviously what they have chosen and I don't think they are bright enough to realize what I am doing. I want it to become the company Agile canon. Eventually, someone will notice. We have one contractor on PTO that would notice immediately but he might think it funny enough to say nothing. I want to hear it repeated just once by the Agile leadership team.
As for outsourcing, what do you think the chances are of picking up a resource with really great C# in AWS Lambda skills as well as the CloudFormation expertise to make the system? My company decided to go all in with Lambda, many thousands of lines and many libraries in a single application. AWS says not to do that. Even our Cloud executive says Lambdas should be no more than 70 lines. This project is over 135 .cs files. I warned them it would be unmaintainable but they ignored that too.
I've spent 3 years ramping up from MS C# ecology to Open Source, .Net Core, AWS. I got my AWS Assoc Arch cert. Tell me about trying to retain what you aren't using. According to this I also need detailed knowledge of iSeries as well since we consume that data. There are some skills in our original team that I can't even describe well, but everyone is supposed to know them. The interesting thing is that their Interchangeability ideal is very similar to the communist ideal. I doubt they are aware of political history though.
The salient point about Agile is that, with great agility, management can declare their company to be Agile, without any clue. Not that anyone actually has a clue as to what Agile means in terms of skill sets and practice.
Thank goodness neurosurgeons can't willy-nilly declare themselves to be brain surgeons.
They aren't mitigating the risk at all. The rest of the remaining team members don't even know C# or C++ so I don't see how cross-training is feasible. I'm the last developer resource for 3.5+ important projects and while I've been working for a long time for cloud expertise, there is a lot of it and they do not see that as requiring time to develop. They have lost one totally indispensable person at least, perhaps 2.
Again, I am most interested in where they got the idea that all members of an Agile team had interchangeable skills. Then maybe I can figure out the context of this. It was not HR. Any idea?
No. We've had a great deal of management churn and their main focus is digital transformation. They are still panicked from the ransomware attack. It was recognized long ago by my manager that I owned too much, but the C++ guy could have gotten a new C# person up to speed. He's on Run now and soon gone cuz he hates the way things are going. When it was proposed, I told them not to use AWS Lambdas for huge projects. There is little advantage and takes great expertise to maintain. Expertise that is rare and that I am still working to develop. Lambda is supposed to be small functions for micro services. The Lambda project I wrangle now is over 135 .cs files. Hey, it will be OK. We have lots of new VPs. I was known for risky behavior as a skier, big wave eater, and lobster hunter. These folks would really impress me if it was a calculated risk. Too many lies and illusions. I do push back. Lies have never worked as a strategy for me.
The idea of team members being able to do your job isn't far-fetched.
When you go on vacation or resign, your work should continue.
The idea, however, is that people with the same skill sets are interchangeable, not people with different skill sets.
Just tell your manager you'll do his job today and he can do yours.
When he tells you that's ridiculous just tell him the difference between your two jobs are about as big as between you and the RPG guy.
Although I think you and the SQL guy, at least, should have some overlap (not necessarily vice versa, most programmers know some SQL, but DBA's often aren't programmers).