It all starts a short time ago in a place not too far away. Cue the curtain, lights and camera, Charley ....
Several years ago I was working at a medium-sized corporation selling highly regulated products. You know the type; we sat in a cubicle farm in a three-story building, directors and up had private offices, and getting everyone you needed into the same room for a meeting took a week or so.
We were operating in a very competitive market when the government opened up a new product.
Suddenly we had an entirely new set of potential customers; all we had to do was to get them to buy our product. That meant we had to file by a certain deadline with the federal government, pass an assessment audit by another date, and go to market on a third date.
Over and over again our management stressed to us the importance of those dates. A single slip and the government would keep us out of the market for a year, and if customers couldn’t sign up on day one, then they would all sign up with someone else and we’d be out of business.
It was the sort of environment in which some people complain, and others point out that “pressure makes diamonds.”
I was a technical project manager, promoted from development. My responsibility was to get the web site up on go-live day, so potential customers could download information and, most importantly, enrollment forms. My partner in the endeavor was the business-facing project manager, whom I’ll call Joe. Joe’s role was to work the other side, dealing with sales, marketing, and the non-technical requirements. He was also the guy fond of the “pressure makes diamonds” comment.
If you’ve done much work in corporate America, you’ve probably seen the finger-pointing, blamestorming, and work aversion that is completely natural. Our company had an interesting solution to that problem with Joe and me.
A little bit like Batman and Robin, it was our job to get things done. I met with the technical team every day in a corner; we’d rebuild the schedule every single day, figure out the critical path, then remove every possible obstacle from that critical path. If someone needed software; we’d go get it. If they would “love to” configure the firewall but “gosh, it’s time for my lunch break,” we would buy them lunch. If someone wanted to work on our configuration ticket but had other priorities, Joe and I would go talk to the supervisor.
Then the manager. Then the director. We got things done.
It’s a bit of an exaggeration to say that we kicked over chairs, yelled, and screamed, but we did use every single technique in our bag to get things done, invented a few new ones along the way, and we did it in an ethical way that I am proud of to this day.
I thought of myself as a member of the team, not above jumping in to write a SQL statement or doing a little pairing to get the code out the door. At the time, I thought of Joe the same way, as a member of the team, not above it.
Eventually I came to realize that Joe did not share that opinion. That was a very sad day for me.
It was Friday at 1:00 pm; the web site was set to go live very early the following Monday.
We were done. *DONE*. Every system was go; we were ready. I had the entire tech team assembled for the final scrum meeting and we were ready to flip the switch. More than “just” the technical team, we had the business folks from marketing, the product owners, with us.
We were proud. It was a good moment. Then Joe dropped by.
He said something like, “Bad news. Legal doesn’t have the enrollment forms ready, so we can’t go live yet.”
This was no big deal; we’d been held up by one thing or another for the length of the entire project and had the Batman/Robin routine down pat. I was ready, and my reply was essentially, “All right partner, let’s do this one more time. Legal is on the third floor, right?”
Then things got weird. Instead of agreeing with me, Joe asked, “What are you talking about Matt?”
I said, “You know. Our usual song and dance. We’re talking about four PDF files, right? That are done; legal just has to approve them? Let’s go hang out in their cubicles, give them the evil eye, and get this thing done!”
Joe did not agree with my assessment, and answered, “We’ll just go live late next week. No big deal.”
You can probably guess the rest of the exchange; it sounded something like this:
Matt: “But why? They could do this in a couple hours.”
Joe: “It might take more than that.”
Matt: “But they’ve got all weekend. Plenty of time. Let’s do this!”
Joe: “Matt, these are professionals. We can’t just stare them down and insist they sacrifice their personal lives for our little project.”
Matt: (pause)“...Joe...what do you think we’ve been doing to the engineering team for the past four months?”
Joe: “Yes, but these are professionals.” Pause.
Breathe. What. Did. Joe. Just. Say?
At the time, I thought the technical staff were professionals, in the best sense of the word.
The Weird Relationship Between Management and Engineers
The reason why some engineers feel not be taken seriously, could not be better shown as in the foreword of The Clean Coder - A Code of Conduct for Professional Programmers - R. Martin (Pearson, 2011):