I’m currently on the seventh floor of the King County Courthouse building in downtown Seattle. The jury is deliberating in the trial of Bryan Gabriel, the medical marijuana provider at the center of the tragic circumstances from last June that I wrote about here, in which a medical marijuana patient named Jeff Roetter died during an epileptic seizure as Snoqualmie police were pressuring him to testify against Gabriel. The charges that Gabriel currently faces are unrelated to Roetter, but were curiously filed the exact same day that Snoqualmie police were forced by a judge to return 10 ounces of marijuana to Gabriel.
The reason I’m even able to be here today, though, is that yesterday was my last day of work at the job I’ve been at since late 2008. I don’t write much about my actual day job since I let work and blogging co-mingle a bit too much at Microsoft. I work much harder to keep the two things separate (which I make easy for myself by being a shitty blogger with a relatively small audience). This past job was even easier for me to do that, since a lot of the people I worked with weren’t local, and I became a father in 2009 – giving me even less time to write shitty posts.
My career is in software quality assurance (QA). I’ve worked on airplanes, office productivity products, online music systems, statistical modeling applications, and large-scale data warehouses. My career has presented me with numerous challenges and I genuinely like the process of having to solve difficult problems. In this most recent job, I succeeded in climbing up into management and got a different perspective on how QA is done and a better perspective on how large projects are managed and – more commonly – mismanaged.
But this experience has also made me ponder the parallels between how QA functions within a company building a commercial product and how government functions within a society. Working on flight control software at Boeing early on in my career, I saw the overlap between them, as the FAA worked directly with us in our certification efforts. While it’s true that Boeing cares a lot about safety, I’ve worked at enough places since then to know that corporate bottom lines are often the most immovable objects, and that FAA presence within the group was both welcome and necessary. It made it easier for those of us in QA to demand enough time to complete our job.
At many other places, that isn’t always the case. QA efforts are often undermanned and underfunded, and yet still end up taking the blame when things go wrong. Developers and sometimes even program management fail to see the value that QA provides until a horrendous bug is found in a production system that probably would’ve been found by that QA engineer that you laid off last year. It’s one of the basic tenets of software development that the longer it takes for you to find a bug, the more it costs you. You know QA has done their job well when you aren’t constantly reminded of how important they are.
This isn’t an argument to have government regulation for all types of software development. Most commercial software development doesn’t impact public safety the way that airplanes do, and companies survive or fail based upon the quality of the products they produce (and they often don’t, but that’s a whole other post) without us needing to interfere with that process. But the parallels to government and how it’s seen in our society is what this post is about.
At the town hall I attended last weekend, Republican State Rep Jay Rodne complained that the state Department of Transportation had 5000 engineers on its staff. He seemed utterly incredulous at this statistic, as if he’d discovered some secret cabal that’s bleeding the taxpayers of Washington state dry. He didn’t provide any examples of waste. In his mind, the mere presence of the workers is an indication of wastefulness. This is religion dressed up as politics, a belief that a public sector employee or any public project is inherently a drain on society.
One can easily look on the WSDOT page to see what those engineers work on. Currently featured is the work being done on the Alaskan Way Viaduct for earthquake preparedness. These are things that you tend to notice only when they’re not done right – or not done at all. And when you decide to skimp on those things, just like in the software world, you can end up costing yourself far more in the long run.
My latest work experience was a frustrating one. Without going into too much detail, it involved significant budget cutting to our QA groups, including an offshoring push. The efforts to rein in costs made it very difficult to do proper QA on a number of their systems, potentially costing them far more in the long run. They closed down our office before I got to see how it all unfolded, but with some free time inbetween jobs, I’ll have some extra time to watch what happens in our greater society as we continue to take the same approach with government programs – eliminating workers whose value is often underappreciated, and taking away projects whose presence keeps overall costs down.