Software Exorcism 314
Mark Burroughs writes "Leave it to a SubGenius preacher to take normally mundane subjects, like software maintenance, and expose the unholy conspiracy behind them. I think the following quote from the introduction sums up the tone of the book nicely: 'Rather than shield your eyes from the sordid realities of the software industry, I am going to dust off my old 8mm films and let you take a good look at the uncensored truth for yourself. You may want to keep a paper bag handy in case you get sick.'" You know you want to read on for the rest of Burrough's review.
Software Exorcism | |
author | Right Reverend Bill Blunden |
pages | 351 |
publisher | Apress |
rating | two thumbs up |
reviewer | Mark Burroughs |
ISBN | 1590592344 |
summary | Tactics for Maintaining Legacy Code |
Reverend Blunden's sermons focus on things that the college professors, in their tweedy jackets, will never talk about. As such, this book should be required reading by computer science majors, who often have a number of misconceptions concerning the industry that they are about to enter.
I doubt very highly that your instructors will tell you how to handle all the nasty little things that can occur when humans work in groups: backstabbing, stonewalling, sabotage, etc. The sad truth is that the people who do actually learn about these tactics (under the guise of "organizational behavior") are MBAs, the people who end up being managers. Folks, the deck has been stacked: The MBAs have been given whips, and the CS majors have all been given saddles. It's called animal husbandry; ... now go look up the word "cull."
Glancing at the back cover of the book, Reverend Blunden looks like the type of subversive individual that the ATF would like to have a chat with. As such, he is not one to let the reader leave without a few useful weapons (some of which may be questionable from a legal standpoint ... but hey, business is war). For example, the book tells you construct a paper trail so that even the shiftiest weasel cannot switch sides if it's suddenly convenient. Reverend Blunden even goes so far to refer the reader to a vault purveyor in New York so that evidence can be stored securely at home (hint: it's sure as hell not safe at the office). Don't kid yourself; a solid paper trail can save you during a witch-hunt.
The book also looks at how to deal with legacy code in situations where internal competition has encouraged people to hoard information, or to escape responsibility via promotion (i.e. VPs have been known to develop amnesia about the code they worked on). It explains the forces that cause these shenanigans to occur and then describes how to flush the guilty party out into the open, where their slimy tactics won't work. As before, generating a trail of evidence and possessing a degree of intellectual humility go a long way.
Then there is privacy, an issue that employers will definitely try to skirt. Management types tend to be keen on metrics to measure productivity. In addition, software engineers typically have access to code, or algorithms, that may be considered proprietary secrets. This has led many companies to monitor their engineers in some way or another (i.e. key loggers, remote desktops, sniffers, TEMPEST, etc.). Reverend Blunden provides a couple of easy, but extremely effective, counter tactics that the reader can use to foil this kind of Big Brother antics.
At the end of the day, Reverend Blunden tells it like it is. He hasn't been bought off and he doesn't have an agenda. His only goal is to warn new hires about the various landmines that exist, buried under the polite exterior of the corporate landscape. You may not like what he has to say, but no one ever said that software engineering was a pretty job. If they did, they were telling you a lie. Praise Bob.
You can purchase Software Exorcism from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
$3.50 cheaper (Score:-1, Informative)
Spend 50 cents more to get free shipping.
I don't get it ... (Score:2, Informative)
Hell, just have them read
Go academic (Score:1, Informative)
Book Prices (Score:4, Informative)
Agreed (Score:5, Informative)
The concept of politics is something that changes the meaning of the work you do at a company. In college, you are given an assignment to do. You do it, you are graded on it and you move on. At a company, you are asked what the customer wants in their software, and are not given specs. You are supposed to guess what they want. You are also never given a realistic timetable in which to do the project.
Some of those hindrences to doing a project are caused by outside forces, but most are caused by inside forces. Someone is trying to impress someone else in the company by promising something before it can be done. Or they may have their team develop a project and then release it to upper management only to find its not wanted.
Politics plays a huge role in what happens to the programmers at the bottom as well. Utimately everything that occurs to the programmer can be a result of politics. If someone cancels a project, it may be that they simply didn't like the person doing it.
At my company, we are in limbo over whether we will continue to develop a program to do something that we currently license software to do. To replace the functionality of the software will take a couple months and is nothing more than a couple of webpages and a database. We pay $250,000/yr for the outside software and can save all of that by doing it in house. The reason we are having trouble is politics. Certain people dont want the software inhouse.
Is it in the best interest of the company? No. But it's in the best interest of someone at the company. Thats a danger inside such large corporations, but it is how business gets done.
Re:The man (Score:5, Informative)
Learn to NEGOTIATE! (Score:5, Informative)
This book is all about one thing: negotiating. It's a skill that is seldom taught formally, and yet is used every day of your life. Even when you were a wee babe trying to figure out how to get a cookie from mommy, you were learning to negotiate.
Unfortunately techs are usually poorly equipped to negotiate skillfully, a fact I learned personally when my scum-of-a-boss-who-I-thought-was-a-friend ripped me off for thousands because I didn't know how to negotiate properly. For years I was bitter, until I started checking out books and audio tapes on how to negotiate effectively. Bottom line: it was my fault I got ripped off.
You've only got three resources: time, energy and money. When you work for an employer, it's a give and take of how much of those three resources you're willing to exchange. The best teacher of negotiating I've heard so far is a guy named Roger Dawson (I won't post the link, just Google his name or go to your local library).
So now you MBA's out there who know what I'm talking about can mod me down now.
Yes, it is necessary. So sad to say... (Score:4, Informative)
Example 1: A bank. Phone conversations were recorded (but it was denied if you asked). Email and web access was monitored. If you were overheard talking about leaving your job, you were escorted to the door. If you browsed monster.com, you were escorted to the door. I was hired to make web pages with Visual Interdev, but that was not on the approved software list. So when it was time to renew my contract, I was dismissed because a software audit showed that I had unapproved software on my computer: Visual Studio.
Example 2: A software development company in the health care industry. There was a rather complicated workflow process and one of the managers did not like doing one step because it was inconvenient. During a very nasty meeting (the sort you walk into knowing that someone is getting fired), I demonstrated on the blackboard how the data moved thru the system and where it stopped. I was able to show via the data and paper trails where the data went and who dropped the ball. Until that point, all the eyes were on me and my department was about to get tossed out the door. When I showed the part she dropped the ball on, and several other samples of the same failure, those eyes shifted to her. Because of her relationship with the CEO (not that kind you dirty pervert, they were long time close friends), she was unfireable. When the CEO was later booted by the board of directors, she was given 2 weeks pay instead of notice and walked out the door. Because of her (illegal) immigration status, anyone with an axe to grind could have called up INS and gotten her deported.
Example 3: a small business. Because the person running the business was the vindictive sort (some ex-employees were seached by the police theft of property), as I started to look for alternate employment, I built up a "cya" file at home of things that would get the owner arrested for some serious federal time if they fell into the police's hands (they would only find it if they busted into my house, although a second copy of the file was kept in my parent's garage). I kept that file for about 2 years afterwards, then discarded it.
Example 4: a large corporation. It was known that several hundred people were getting laid off towards the end of the year (about 10% reduction in staff). Some not-so-competant people who were afraid of losing their positions yielded to temptation to sabotage other's software. Your project is constantly buggy, late and over budget? Pack your things. When the sabotage was uncovered, they were laid off too, but the victims were not rehired.
You see, part of the problem is that in the USA we are brought up to believe that we live in a meritocracy. That the better mouse trap will get the market share. That if that mousetrap fails to survive in the market, it was the fault of the makers, not the fault of the others' producers who buy off congress to make the better one illegal. That the better person will get the job. And when we don't get that job, and the person who did get it was not qualified, then we must have done something wrong. Not until we start realizing that the other person got the job because of reasons that had nothing to do with how smart or qualified or better looking or educated, that you will understand that the publically stated things are not the real things. What is said has very little to do with what is going on. Instead, it has become a place where luck is more important than skill, and watching your back and covering your butt is how you make your own luck. Blaming the victim is our national pasttime.
Your naivite is a result of luck and innocence. There will come a day when you are burned badly, and if you are honest with yourself, will dig into and analyse the root causes of that incident. Honestly, I hope you can live your whole life in innocence. The job market is tight enought that people can get away with treating skilled, technical wor
Re:Learn to NEGOTIATE! (Score:3, Informative)
BUT
Negotiation is actually not the first step. Often it just takes having an awareness of the other guy's agenda to make all the difference. I mean, being able to see past the smiles and the backslaps^H^H^H^H^Hstabs is a skill that many have not acquired. The fact that your ex-scum-of-a-boss was able to successfully masquerade as a friend for long enough to stick it to you is a case in point. I once lost a thirty-thousand dollar development contract to a Canadian company because I believed that a sales engineer I had known for years was my friend. He saw a chance to make a little more commission and stuck the knife in and twisted it.
These kinds of people are, to varying degrees, sociopaths. They have little feeling or empathy for others, and consequently have to simulate it. The simulation is rarely perfect, however, and once you learn you to pick up on the little clues they leave, it is much easier to defend against them.