Thursday, May 12, 2011

fuck

So what's worse than hating your job?

I can't stand mine. For every project that I'm given which actually requires me to think or produce something useful to someone, I'm given a project which makes no sense and couldn't possible be useful... or put onto a team where I don't get to do any work at all. All I can do is "consult" and tell other people how I would do the job if I were allowed. Then I get to watch them fuck it up.

In an effort to better my situation, I asked to be transferred to another team where I could do more hands-on work. The transfer was rejected, but a request did come through to have me split up my time between my current team and another. The other team? The one project that I despise and completely disagree with their fundamental goal.

The team was created with an executive order for my business unit to save money and revamp all of our processes and methods. They came in with a giant hammer and forced us all to do whatever they said. I spent weeks creating a dashboard for them, displaying all sorts of data and graphs and charts, to help them "save" us money in the future and manage the business. They then decided that they wanted my dashboard on the web, so they put together a team to accomplish this. They didn't include me.

I was assigned as an SME (subject matter expert) and spent months walking them through my queries. It actually only took me a couple weeks to explain everything, but the team they hired turned over 3 times, and every time I had a new set of people that I had to explain everything to. All over again. Once they "understood", they disappeared for a few months and came up with this online tool, which I will refer to as SHIT. It's actually called something fairly close to that, but to protect various identities, I'll keep it a secret. Plus, SHIT is far more descriptive.

Everything failed. None of their reports were accurate, they had a million data inconsistencies and the entire project was a gigantic fuck-up. Since they had executive backing, however, they pushed forward. They started UAT (user access testing), which by industry standards is when the users of the application check everything out to make sure the functionality they expected to see is what is actually there. This means that the users go in, check the reports, make sure they understand how to navigate, make sure all the labels and systems are the way they want. UAT is NOT fundamental bug-testing. The developers should have already checked their code. There should be acceptance criteria set up so that if they deploy a spend report, they have what the total spend should be. If their report says 1.5m and the total spend is 2m, that is an issue they should catch. They didn't. Catch anything. At all.

Everything was broken in some way or another. They developed the dashboard in a vacuum... not asking for any outside help during the dev process and moving forward without a basic understanding of how the data was structured. The base data is complicated, it's a worldwide system with quirks and inconsistencies... and instead of using that data themselves, they built an entirely separate datamart. To make matters worse, they didn't plan things out at all. Remember my dashboard query that I developed? I used a 3rd party program to pull the data, organize it and display pivots and charts... they copied the fields from inside that application into a table, and named it after the 3rd party program. This is like if you used a database to populate an excel spreadsheet, added in some formulas, some notes in the margins, etc... then someone took all of that data and dumped it into a table called "Excel_Data". Idiotic. To make matters worse, the various accounting fields, like counts, translations, notes... were ALL copied over. So instead of using standard SQL functionality to count the number of items, they just copied over a "1" for every single row. To make matters even worse, they renamed fields. If we had a field called "System Origination Code", we abbreviated that to "Sys_Orig_Cd" in our tables. When they entered that field into their system, they expanded it out again, but into SOMETHING WRONG. They labelled that field "Original System Identifier". Why? I have no idea. The spend year and spend month fields? They renamed those to "PO Year" and "PO Month". Not only do those labels have nothing to do with the data stored in those fields... they mislead you into thinking you're looking at another date entirely.

So I was tasked with helping them fix all of their reports. I had no access to the base data, queries or anything. All that would happen is that they would show a report with 1.5m of spending on it. I'd tell them that was wrong, it should be 2m. They would then disappear for 2 weeks, come back and show me a new report which said 1.8m. I'd say "You're getting warmer, fucktards, but the right answer is 2 MILLION!" This process would repeat itself. They would find an error, fix it, then show me the new report. Now it says 1.7m. "Colder, dickheads. I already told you the answer, don't come back until it's right." I would offer to help, to look at their source data, they refused. They wouldn't allow me access to anything... probably because their datamart looked like a retarded monkey designed it.

This process continued for months. Then they wanted to deploy new reports, so I had to help them again. To keep things short, 6 reports took 5 months. I developed them against my database in 3 days... it took them 5 fucking months. I finally got them to stop just showing me an incorrect end result and me having to guess what the issue may be to actually comparing atomic data... but they still just fucked it all up, over and over.

After they finally deployed 5 correct reports (they were never able to get the 6th, cause they're stupid), I thought it was over. I had had enough, I wanted out. This is when I requested the transfer. You remember how that transfer was declined and I was asked by another team to share my time? The other team was the SHIT-design team. They wanted me to come on board their team and help debug and test all of their work. They agreed that I should have been on the team from the beginning and that everything would have gone much more smoothly. I told my manager in the most polite terms I could muster, "No, I'd rather shoot myself in the face than work for SHIT." He understood, since everyone in my organization hates them, so he told them no. As a side note, our entire corporation is going toward a web interface for all reports, so SHIT is going to become completely obsolete in about a year. All the retarded monkey work they've done is going to be done by competent designers who actually understand the base data and won't just sit there flinging shit at their computers in the hopes that everything will just work. So SHIT is going to die, hopefully soon, and I didn't want to be on the team when it did.

Did I also mention that SHIT has executive backing? And that they always get what they want? Yeah, they told my manager that I didn't really have a choice and that since they needed me, I was going to have to help. So now I'm not only not getting a transfer to another team (since I can't stand the work I'm doing now), I have to continue to do the stupid work I already do AND work for SHIT the rest of the time. Just because that wouldn't be quite shitty enough, my old team hasn't figured out who could replace the work that I've been doing for them, so I had no reduction in workload from them at all. And SHIT is going into high-gear trying to deploy a hundred more reports (all of which only I can design), so they're piling on even more SHIT for me to work on.

Fuck you, SHIT. Fuck you and my entire company.

Monday, November 15, 2010

project management

I wanted to be a project manager. I'm the only real technical person on my team, comprised mostly of buyers and contract analysts, so when it came time for a raise, I had hit the ceiling of my job role - assigned as a "buyer", since my manager can't have other job roles assigned to him. To circumvent this bureaucratic idiocy, I was assigned a job role of "project manager", purely because the pay was better and that was the only other job role allowed. This meant that I know had to become a project manager, because you can apparently be assigned a job role if you actually qualify for it, or if you plan to qualify for it in the future. Yes, this is exactly like saying "I'm a certified astronaut because I'm applying for space camp."

I took the courses, and it seemed pretty neat at first. The whole idea of project management is that an hour of planning will save two in production. It's promoting efficiency and organization, two concepts high on my list. The courses went well, but one part of becoming a PM is that you have to be the manager on a project first (a little backwards as well, though not as much as the other example).

My team doesn't do projects, so I had absolutely no opportunity to be assigned to manage a project. Again, I'm not a PM so they won't assign me to a project, but since I'm labelled as a PM, I have to manage a project to be certified as a PM... yes, it is as stupid and circular as it sounds. But wait... there's more stupidity right around the corner...

I see an opportunity for a project, so I start to talk to some of my co-workers and manager to position myself as the PM. We go through a growth market supplier to develop a database and UI to store some of our supplier information. Development goes fairly well at first. It then becomes fairly obvious that the developers only have a loose grasp on the english language since once the bug reports start to come back it becomes impossible to communicate. Here is a (not really) made-up example:

Me: "So we're seeing an error on the second tab of the supplier input screen. Can this be fixed?"
Dev: "Mmmm.... yes?"
Me: "Is that a question? Can you fix it or not?"
Dev: "I think is possible."
Me: "Ok... so when do you think you can have it done by?"
Dev: "Is easy problem."
Me: "What does that mean? What about the existing records? Will they be fixed?"
Dev: "Mmm... may need agent. Maybe not so easy to fix."
Me: "So... do you have an estimate??"

This continues for 20-30 minutes, finally the dev tells me 2 days... in 2 days he sends a new version which doesn't fix anything at all. New errors pop up and my desk starts to make a sizable dent in my head. This whole process of bug reporting and semi-fixes continues for months until an executive takes interest in the project and it's decided that we should expand the application. Currently, it's a Lotus Notes database (yes, that just adds to the pain and misery of this whole saga), so we decide to make the data available to other apps by adding a DB2 backend.

Up until this point, this database was being served off of a workstation under someone's desk in Germany. Not exactly a standard practice for my company, but the whole dev process was contained within a group of 4-5 people so everything happened very quickly. Now that we needed the backend, we were required to serve this database off of a standard north american server. We also needed to connect to existing data warehouses and other such systems. This required an entirely new, officially sanctioned project. We were assigned a project manager (PM), a solutions project manager (SPM) a product delivery team leader (PDTL) and a few developers. We also are told that we'll be using the Agile project management method.

We have the first meeting and the PM describes Agile to us through a powerpoint lacking any type of detail whatsoever. It says Agile is a management method that is designed to work with a small team and produce results quickly. It uses sprints and planning poker and user stories and burndown charts. We'll be using some cool tools and everything should go smoothly the entire time. When I asked what planning poker was, what a burndown chart was and what a user story was... the PM said that he didn't really know and we'll be learning as we go along. I was new to this whole PM thing, especially in an official capacity, so I wasn't quite sure about how worried I should be. Is it really a big deal that the PM has never used the project management method before? Are we trying to drive a spaceship with someone who only has experience with gliders? Or is this trivial - like sending Bobby Flay into a indian curry throwdown... same cooking methods, different spices?

It's not trivial. We wasted 3 hours on the planning poker session our first meeting. The first part of an Agile project is to collect all of the user stories (fancy term for "requirements") and then have everyone estimate the difficulty of implementing each story. It's called planning poker because everyone has cards with numbers on them, the requirement pops up and everyone puts in the card that they think best represents the difficulty associated with the story. The first story was: "Develop an ETL between Notes and DB2". My cards are: 1, 5, 10, 20, 50, 100, Unknown. I ask, "What do these cards mean? Are these hours to complete? Days? Moon phases? How many trained monkeys with typewriters?" The response, "They're just subjective, enter in whichever one seems correct." I then ask, "So how the hell am I supposed to know how long an ETL takes to develop when I don't even know what ETL means?" The response, "Extract, transform, load. Just use your best guess." I click to submit the "Unknown" card. The others enter in anything from 1 to 100. No one has any fucking clue what is going on.

This continues for an hour or so as we move through the other user stories. For every story, there is really only one person who has any knowledge of the development time or effort, yet we are ALL responding. I express my discontent (which develops into blinding rage/frustration/hatred) with the process by replying "Unknown" to everything except the few items that I actually know. In summary, this entire process is a waste of time and it only takes the PM 3 hours to realize this and throw out all of the results. He then asks the relevant people to respond with their best estimates and we move forward. As far as the other parts of Agile are concerned... let's just say that they all make sense when you have someone competent explaining them to you. In the absence of someone educated in Agile the entire process becomes drenched in irony.

Next item on the list is to have the database moved to a standard server. I ask the PM what we should do here, he says he has no idea. Head meets desk. He tries a couple of contacts, they send him to various databases to fill in questionnaires. The first set of questions is to classify our project so that we know which database to go to to fill in the second list of questions. None of the questions make any sense to me so I make the mistake of asking the PM/SPM/PDTL. They all respond with "I have no idea". No one has ever done this before. About a week later, we finally scrape together enough information to complete the first list. We move to the second, which is a list that we need to fill out to apply for access to the third database. I think it's easier to pass new laws. In case you were wondering, the third database contains a completely separate set of questions which is then submitted to a review board. If they approve it, then they move us on to ANOTHER review board.

In case you're confused, here's the process:

Questionnaire 1: to determine next questionnaire ----> Questionnaire 2: to apply for next questionnaire ---> Questionnaire 3: review board 1's questions ---> Review Board 1 meeting ----> Questionnaire 4: review board 2's questions ---> Review Board 2 meeting.

This entire process takes 2 months. Once we're in the final review board meeting, someone gives us an estimate of the cost of deploying our database on the standard servers. Apparently it's 30,000 to deploy, then 900/month in maintenance. Mind you, our database is around 200mb and has 100 users. It is currently being served off of a cable-modem connected desktop in Germany that probably cost all of $500 IN TOTAL. Now they're telling us 30k. I'm worried and pissed off... then someone asks, "Wait a second, why are you applying for enterprise application support?" I ask the PM, "Yes, explain to us why we need this enterprise support, only applicable to applications with more than 10,000 users?" He says, "Oops, I didn't know." The review board says, "If you don't need enterprise support, then you can just submit a request here, no review necessary, and it costs $5/month to deploy." I wish I was sitting across from the PM and his family so I could murder his entire family and stab him to death with the sharpened bones of his children... but that would probably lead to lengthy legal battle... so since this is just a conference call I beat the shit out of my wall.

I really wish that this project improved in some way, but it didn't. At all. Ever. Instead of continuing to explain everything in minute detail, let's just touch on some of the more interesting (read: idiotic and retarded) occurrences. All of our information is stored on DB2 server A, so the obviously the DBA decides to put the DB2 backend on DB2 server B, which cannot talk to or connect in any way to server A. Every time something goes wrong with a sprint (2 weeks used to complete one set of items), the extra work is moved to the next sprint... and if the last sprint before deployment is fucked, then the extra work just isn't done. If it comes time for deployment and there are any leftover bugs, then deployment has to stop immediately and you have to apply for an ENTIRELY NEW PROJECT BUDGET TO FIX IT ALL. If you have leftover development budget at the end (which should have been used to fix the bugs, but we couldn't fix the bugs because the project ended) you CANNOT use it to fix anything left over, because now that it's deployed you need a MAINTENANCE budget and team to fix the problems.

Now that we're in maintenance mode, we were assigned a completely new set of PMs, SPMs, AOs, PDTLs, FPOCs and WTFLOLBBQs. Guess what? None of them know what the fuck they're doing either. The development team has left the project without transferring any knowledge at all and we have an entirely new tool to submit CRs which no one knows how to use. Our application works... but the DB2 backend is completely useless because we have no way to join it to our other information. The leftover CRs will never be fixed because no one knows how to enter them into the tool and even if we do manage to figure it out, no one knows how the backend works to actually fix anything at all.

Summary: I do NOT want to be a project manager anymore. I would rather ram my head into my desk until it disintegrates into a pile of brain, bone and blood than spend another minute trying to sift through the massive shitpile of bureaucracy that is project management at my company. You could replace every single word that I've written here with HATE, written over and over, and it wouldn't even come close to adequately describing my feelings toward this demonic cesspit of flesh-dissolving acid and soul-devouring despair. I've just been informed that I'll be helping out on a new project in 2011. I want a shotgun to the face for christmas.

Tuesday, November 9, 2010

continued random

i want george lopez to go away forever. i don't want him dead, i just never want to see him or hear about him ever again. if he died - since he's a celebrity and whenever someone even mildly important dies there's all sorts of hoopla about it - then i'd still have to see him all over the place and hear "oh man, i can't believe he's dead". I don't want that, i just want him gone. *poof* "Wow, the world just feels, better somehow, but I just can't think of why. I'm just happy."

random

tom hanks is on conan and he's not all that funny. he's acting the same way that he always has... but he's just not as funny as he used to be. it seems old and dated. or maybe i just don't think tom hanks is funny. conan is, though... so i'm entertained.

Tuesday, January 26, 2010

control freak

I played Mass Effect 2 through already and it's a great game. I wanted to play it through again, since there are several different choices you can make during the game that will affect various outcomes. There are also choices you can make BEFORE you start the game, via Mass Effect 1. There's an option to import your old character, but unfortunately I don't have that save game anymore, so tough luck for me.

When you start up ME2 without importing, the game uses a predetermined set of results from the first game. These are static, not randomly generated. So the ONLY way that you can find out what happens if, for example, you chose to save the council in the first game and not let them die (as is assumed by ME2), you have to play through the ENTIRE ME1 game again, and save the council, and then import that character. Seriously, why??

Why don't you let me play the game as I want? It is MY game, right? I buy a copy of a game, and the only way I can play portions of it is to buy ANOTHER game, spend 20-30 hours on it and THEN I can actually play all of my game. Oh wait... there are multiple choices in some parts, so it looks like I'll have to play through ME1 more than once, then import all of those characters into ME2. Why not just let us pick what happened in the previous game? What harm does that do? One of the developers even made a mistake when talking to Penny Arcade, saying you could go through a list and pick various options when creating a new character. He didn't realize that this option didn't make it into the final game, and it was only the pre-release version that he was talking about.

I'm bored as shit lately, and I really would love the opportunity to play through ME2 again, but this time with different starting conditions. Why not let me? Great game, Bioware, but come on... the whole idea of a sandbox type game is that you can replay it over and over, making different choices every time, increasing replay value. Why block out this pregame setup, specifically limiting the way I"ll be able to play? Fuckers.

Monday, January 11, 2010

diversity

I've seen multiculturalism and diversity discussed in two different ways. Intelligent, objective-minded people are aware of various cultural idiosyncrasies and behaviors and use them to their advantage. For example, the Japanese put a very high weight on respect for seniors and traditionally avoid direct confrontation. The French, on the other hand, tend to love intelligent, witty debates. These observations aren't racially motivated, they're based on the climate where a "French" person was raised and taught how to act. You may draw the same conclusions about someone born and raised on a mid-west farm as opposed to someone who grew up in Beverly Hills... their world views will most likely be very different. The only time this pushes over into the realm of "racism" is when you start making accusations like "You're from a farm? You must be stupid and not know what a cell phone is!" or "Oh, he's Japanese, he'll do whatever someone older tells him to do." I've taken project management classes where we were given country based generalizations of populations in order to better manage multi-cultural groups. This wasn't to make us into racist PMs, saying the Indians couldn't be trusted because they'll agree to anything a superior says... it was to make us understand that it goes against Indian culture to disagree with a superior... so if you have someone on your team, constantly agreeing with you, you may want to step back for a minute. Does he really agree with me, or does he just not want to disagree?

The other type of discussion says that everyone is a racist. EVERYONE. We need to promote diversity because when people are given the chance, they WILL be racist and do everything they can to cater to a certain skin color/religion/background/foot size (or something else just as ridiculous). So obviously we need to make sure everyone falls over backwards in order to accommodate anyone who is currently considered a minority. Actually... let's be more specific. I believe the current politically correct term is "marginalized"... since most "minorities" aren't the minority anymore. Anyone falling into this school of thought is too busy running around calling everyone racist and making sure every group of people out there has every marginalized population accounted for (and not caring if there aren't any non-marginalized populations included) to even begin to think of what they can do to actually STOP racism.

If you think about it... what is currently perpetuating racism? Obviously there is a correlation between the intensity of major incidents and the knee-jerk racism against the perpetrators of said incident (terrorist attacks = I hate Muslims, France doesn't like our war = I hate the French) that will always exist, but what else is currently going on that labels people based on their skin color or backgrounds? Cultural awareness. How exactly are we supposed to move beyond race, when a bunch of insane crusaders are making absolutely-fucking-sure that we make sure we notice skin color FIRST, and the actual person second. Take my company, for example. We have mandates for our diversity spending. We have to make sure that of every company we contract out to, at least 30-40% of them are either minority owned (obviously this directive is outdated... they use "minority" instead of "marginalized"), women owned or owned by a female minority (which, unfortunately, does not count twice). Right from the start of an engagement, we have to split up each subcontracting company into groups based on their sex and color of their skin. How is that not racist?

Oh, you think that is completely fair? That we need to give those marginalized populations a shot at business they otherwise wouldn't get? Won't giving business to a MWB (minority or women owned business) that doesn't deserve it based on merit just marginalize that population even more? What about the white owned company (since what else is really non-marginalized at this point) who scored better than the MWB, but doesn't receive the business award because (and only because) it's owned by a white male?

Let's go into a little example. An African-American child grows up in a poor household and goes to a really shitty school. She doesn't have textbooks, doesn't have good teachers and can't really learn in such an environment. She studies hard, does comparably well in said school, and then fares decently well on whatever college entrance exam she decides to take. She then applies to colleges. They look at the sheet, see the "minority female" boxes are checked, and she goes into a smaller pile, where they will take into account the fact that she had a substandard education and deserves a shot against the other children who had every opportunity in the world. That seems fair, right? Now let's say her next door neighbor does the exact same thing. He goes to the shitty school, shares textbooks, etc etc and does just as well (but not that great) on his exams. He applies to the same schools, but... Oh look! The "Caucasian male" boxes are checked! He goes in the main pile and obviously will NOT be getting any special treatment since he's white, and he therefore must have had racial advantages that all those children in the small list did not. Fuck. That. Shit.

If you really want to put some affirmative action bullshit in place, base it on socio-economic background... base it on the level of education the person received... base it on something that ACTUALLY MATTERS. Don't base it on skin color - that makes you racist, you hypocritical fuckhead. If anyone was actually reading this, they are probably thinking "OH SHIT... WHAT A RACIST!!!" What if I told you I was a black female? Or a Muslim paraplegic? Or an Argentinian mongoose? Would that matter to you? Would my skin color change your stupid opinion, you fucking racist???

Friday, January 8, 2010

exercise

I want to be in great shape... I want to put on about 20 more pounds of muscle and get rid of 5-10 pounds of fat. I'm not in bad shape now... I'm 6'4", so it takes a massive amount of eating to put on weight... either fat or muscle. If I really wanted to put on 20 lbs of muscle, I'd have to eat 3-4000 calories a day. That may not seem like alot, considering most fast food combos are 1000-1200 calories themselves, but it would have to be 3-4k of good, vitamin/protein rich calories. Oh, and did I mention I'd need around 200+ grams of protein a day? Even with 2 protein shakes a day, that still leaves 100+ grams. The pure cost of all this food is enough to make me want to quit even before I start.

Then there's the highly annoying body chemistry flaw that I seem to have. It's a well-known fact that exercise releases endorphins, and endorphins make you feel good. Simple. Yes, the workout is painful, but you have a steady stream of endorphins pumping through your veins and once that workout is over... you feel exhausted and completely satisfied. When I say "you", I mean everyone else but me. And a very minor percentage of others out there. Exercising feels good for me, but only in the sense that I know I'm improving myself, and that's a good thing. Otherwise, I don't receive any sort of "high" at all. I ran cross-country for 6 years in school and hit the "runner's high" twice. Twice... in six years. I have finished exercise routines feeling angry, irritable, miserable and ready to destroy everything in sight.

I boxed for a little over a year to the point where I could have been in actual amateur competitions, but it never made me feel all that great. I liked knowing that I was becoming stronger and more able-bodied (I've never thrown a punch in a fight, but know that I could seriously damage someone if it came down to it), but I never felt the "Wow... that boxing class ruled!! I love training!!! All my stress and anxiety are gone!!!" I only felt tired and beat up. I think the only reason that I kept going almost every day was because the class was offered every day, and I just felt like I shouldn't miss a class. Eventually I got to the point where I stopped seeing improvements in my skills, lost interest and never went back.

I have a home gym now that I try to use regularly and try to do some yoga to improve flexibility... but there have been times where I've been 5-10 minutes into a workout and have to stop, not because I'm in pain or can't make it through, but because of a slow swelling sense of anger and hate starts to build up inside me. It's not so simple as "Man, I hate this instructor, they make it look so easy" or "I hate this pain in my arms/legs/body"... it's "I fucking hate EVERYTHING and want to watch it all crash and burn in a maelstrom of pain and anguish." Clearly I have rage issues.

I also have depression issues, to which everyone has told me "Start exercising!!! It's the best way to help fight those depressive feelings!!" Unfortunately I've gone into a workout feeling great, and left it feeling like the world sucks and there's no point in continuing. Maybe it's blood sugar, maybe it's brain chemistry... if there's an easy fix out there, I'd love to know what it is. I seriously think that if I was one-on-one with one of those "in your face" trainers, yelling at me to push through the pain... I'd punch the shit out of them. I'm not 500lbs, I have no problem running a mile or two and I don't have any health problems whatsoever. I would like a better physique, more stamina and greater flexibility, but at this point in my life, it's just not fucking worth the aggravation.