For Want of a CR…
A few years ago I was hired as an architect to help design some massive changes to a melange of existing systems so a northern foreign bank could meet some new regulatory requirements. As a development team, they gave me one junior developer with almost a year of experience. There were very few requirements and most of it would be guesswork to fill in the blanks. OK, typical Wall Street BS.
The junior developer was, well, junior, but bright, and he remembered what you taught him, so there was a chance we could succeed.
The setup was that what little requirements there were would come from the Almighty Project Architect down to me and a few of my peers. We would design our respective pieces in as generic a way as possible, and then oversee and help with the coding.
One day, my boss+1 has my boss have the junior guy develop a web service; something the guy had never done before. Since I was busy, it was deemed unnecessary to tell me about it. The guy Googled a bit and put something together. However, he was unsure of how the response was sent back to the browser (e.g.: what sort of line endings to use) and admitted he had questions. Our boss said not to worry about it and had him install it on the dev server so boss+1 could demo it to users.
Demo time came, and the resulting output lines needed an extra newline between them to make the output look nice.
The boss+1 was incensed and started telling the users and other teams that our work was crap, inferior and not to be trusted.
When this got back to me, I went to have a chat with him about a) going behind my back and leaving me entirely out of the loop, b) having a junior developer do something in an unfamiliar technology and then deploying it without having someone more experienced even look at it, c) running his mouth with unjustified caustic comments … to the world.
He was not amused and informed us that the work should be perfect every time! I pointed out that while everyone strives for just that, that it was an unreasonable response, and doesn’t do much to foster team morale or cooperation.
This went back and forth for a while until I decided that this idiot simply wasn’t worth my time.
A few days later, I hear one of my peers having the same conversation with our boss+1. A few days later, someone else. Each time, the architect had been bypassed and some junior developer missed something; it was always some ridiculous trivial facet of the implementation.
I got together with my peers and discussed possibly instituting mandatory testing – by US – to prevent them from bypassing us to get junior developers to do stuff and then having it thrown into a user-visible environment. We agreed, and were promptly overruled by boss+1. Apparently, all programmers, even juniors, were expected to produce perfect code (even without requirements) every time, without exception, and anyone who couldn’t cut it should be exposed as incompetent.
We just shot each other the expected Are you f’g kidding me? looks.
After a few weeks of this, we had all had enough of the abuse and went to boss+2, who was totally disinterested.
We all found other jobs, and made sure to bring the better junior devs with us.