You probably know the type. Those people who go to work just to get a paycheck, seem to coast and not care about anything? That’s me. Well, off and on. I didn’t used to be like this, and I struggle with it still. I have a work ethic, intuitively look for process inefficiencies to fix, let people know when I spot metaphoric trains peeking through the other end of the project tunnel about to run us all over. But now that I have close to 30 years in the corporate world, I think I have enough experience to be able to explain how good workers get beat down into couldn’t-care-less workers.
I have so much to talk about that I may break this into a multi-part series if people are interested in the discussion. Here is confession number one.
Actually, first I need to quickly establish my background. In my 30 year career, I’ve worked for small startups, small established companies, local government, and major corporations. I am currently on Career Job #8 and every place I’ve worked has been completely fucked up in one way or another. In the past ten years I’ve realized that it now only takes me two years with a company to fully identify it’s fuckedupedness. I start every job fresh and excited, thinking the work sounds interesting and challenging and feeling eager to contribute. So it really makes me sad, cynical and bitter when all of that enthusiasm gets so quickly beat out of me every time.
Corporate rule #1 is that no matter what they splash on their career page, in the media or even to your face during your interview about wanting rock stars or fresh talent to lead the company into the future, what they really want is people who sit down, shut up and do what they’re told. Or phrased another way, they want people who just work for the paycheck, coasting and not caring enough to speak up when they see inefficiencies or problems. Because otherwise you’re rocking the boat and they hate that.
Okay, so here is one specific example: systemic, cultural inefficiencies and a complete unwillingness to try better ways of doing business.
Flash back to the 1990’s when most places had their own IT shop and their own programmers to support the business and when I was a programmer. One of the companies I worked for had us re-writing the pricing logic for their invoicing/ordering system Every. Freaking. Year. Your discounts change from year to year? Not unusual. But instead of putting them into, say, a database table so they’re easily configurable, why not have your small team of programmers hard-code them into the business logic of your computer system? Eh, you pay them a salary so they may as well re-write it all every year to earn their keep. They don’t have anything better to do, right? And it was unheard of at the time to have a separate team of testers, so after they recode it all, those same programmers can then spend a couple of months testing their work. What’s wrong with that, it works for us!
A few years later, still a programmer, at another company we also had a “cowboy” development method. At that point, Windows programming was taking off in the business world and more companies had QA teams with dedicated testers, project managers, and development tools like code management systems (CMS). But my gig? We walked barefoot in 5-feet of snow to school every morning, uphill both ways, did our own requirements gathering, programming, tested our own stuff, managed our own projects, and did our own tech/customer support. We were Tough, and we were proud of it, by golly! Until I personally got tired of managing different versions of the same code without a CMS. This is the part that really killed me. Every external customer had their own customized version of our software. And to support them, we had to have a copy on our systems. We frequently had to work on different projects on the same code bases simultaneously, which meant (without a CMS) we had to have multiple copies of their systems. And as each one launched, we had to manually merge the code changes. I tried to explain to my manager the benefits of CMS and was answered only with “we don’t need that here, we manage just fine”. The time I was assigned tech lead on a large project with several programmers, and was held responsible for failing to correctly merge my team’s changes because at the time we had four distinct versions of the customer’s system in-house, was the end for me.
I bailed out of software engineering at that point and became a business analyst thinking I was leaving that kind of shit behind me. So it’s with bitter irony that today I find myself working on a team that manages documentation that… you got it… frequently requires different changes with long review periods that require us to manually merge changes to keep it all synchronized.
But that’s tangential to my last example of systemic inefficiencies. In the place I am now, along with the stupid process of manually managing document versions, we don’t believe in project management. A couple years ago, after one of the bigwigs here told our entire division that if we worker-bees had any suggestions for improving the company, we should let him and/or our managers know. So I suggested to my boss that we might benefit from some project management training. Oh no, we don’t need that here. We do just fine… setting and publicizing project deadlines before we know the effort required to deliver… setting up deliverable milestones by pulling dates out of our asses… not worrying our pretty little heads about risks… and just doing what we’ve done for the last fifty years because nothing new can possibly be an improvement over what we’ve always done.
So, yeah. I don’t have a good ending to this post, other than to admit it was triggered by being required to do some stupid busy-work that may take weeks to finish on a large, already-behind-schedule project that I know will need to be redone because it’s wrong but I can’t get the managers to understand why. Okay, I’m going to just shut up and collect my paycheck now. Thanks.