As I've mentioned on this site before, I've been programming for 16 years, more than 7 of it professionally ... Well, I learned an important lesson in recent times ...
Like most my first technical job was as an IT grunt ... You know, tech support, building systems, etc (This is back in the days when you actually had to know how to set jumper and dip switch settings and what not, so it didn't take 5 minutes to throw together a PnP system) ... Over the years I worked my way up to my current position as a Senior Software Engineer/Lead Developer. I head up all C++ development for the company I work for ...
Now when I started this job I figured I'd hit gold ... My boss is actually a programmer as well, he spent many years writing software before moving "up" in the world and we all know an IT boss overseeing programmers, that has no programming experience makes for a really shitty boss ... <Plot thickens> ...
As time went on things of course got more stressful. Recently the company aquired a contract to replace the entire security system at probably the most well known, most highly sought after universities in the US (I won't say any names but just think of the 8th letter in the alphabet) ... This of course causes stress in the company which in turn causes my boss to become a major asshole ...
Last week I completed work on a new hardware driver and released the Beta 1 version of it. Everything was going great, the driver only had a few problems but overall it was talking to all the hardware, propagating alarms up to the system, etc. Well, following this I discovered the hardware itself had problems (Yeah yeah yeah, its the hardwares fault, NOT THE SOFTWARE!) ... I told the president of the company about it since my direct boss was out with his wife dealing with a planned labor ... Apparently me saying "These hardware units are having a problem, they continue to report 'I/O Error' error messages on the LCDs, we should contact the manufacturers technical support staff and see if we can get the problem resolved before we ship them." was too much to handle, the Pres. took this as me downtalking the hardware and since he golfs with the president of the company that made the hardware, this got his panties all in a bunch ...
He goes on and calls my direct boss screaming and yelling about me supposedly being rude (You'd think he'd care that the hardware he was about to sell to one of the largest galleries AND one of the most well known universities was having problems and he'd want them resolved) ... So he comes in to work and proceeds to start screaming and yelling at me (And I mean that quite literally) ...
<Enter the big WTF> ... Now, this company has a LOT of very large, very prestigeous (I am sure I spelled that wrong) customers, so you would think that we should be doing everything within our skills to make the best products we can ... Yeah right ... My boss starts explaining (In a very loud voice with lots of curse words, I swear his face was so red he looked like he was going to burst) that the company is 95% perception, 5% productivity. As long as you LOOK busy, and kiss all the asses of all the people that wear suits, you are golden, who cares if the software crashes and the hardware works right? ... In my experience I've always known companies to try and produce products that are actually usable, and you'd think being a security company that would make these issues top priority, but apparently not ... I was told today that I was nearly fired on Friday simply because I stated in a very professional manor that the hardware was having a problem that should be resolved before we ship them ... I literally got yelled at, cursed at, screamed at, etc, over this and now have a last warning write up in my file, all because I wanted to be sure the products worked as expected and even better than expected ...
I sure do miss the days when it actually took a brain to do a lot of this with computers, and the IT industry didn't care JUST about money.