Tuesday, August 04, 2009

A latte and a lobotomy

Oh, dear merciful God, I need a lobotomy!.. Now!
Not even 10 feet away from me, two 50-somethings desktop support geek-wannabes are discussing the wonders of spellchecking, the failures of their mentees (where the fuck is that lobotomy?!!) and Dora the Explorer (neither one has children). And it’s not even 8 AM!... AND the coffee machine is brooooooken!..

Labels: ,

Wednesday, November 14, 2007

In turgid dithyrambs

The execs… Here's what I don't understand: On one hand, everyone seems to agree that both, the success and failure of an organization are largely determined by its leaders. And when the company is doing well, it is the leaders who see the lion share of the profits. Well, if they're largely responsible for the success, why not? However, when the company is not doing so hot, it's the very same leaders, who get to pick and choose the poor schmoes who'll be laid off; while they themselves remain at the helm, and aren't even penalized much financially.

We just got a new CIO. The guy is in his mid forties. He's been in the executive club for about 10 years. During this time, he's changed jobs four times; roughly two years per company. In my job as a developer, it takes months to learn our various policies and procedures, let alone new technologies. It takes months before an analyst can become effective in his role here. And results from an analyst's or developer's efforts are nearly instantaneous. The strategic results of the CIO's (or other executives') efforts won't be apparent for at least a few years in a company this size (suffice it to say that our company budget rivals that of Belgium). How can an executive be hired when it's damn near impossible to say what, if anything, he was able to accomplish at his previous job?

We're in the process of going through a "simplification" effort. Hundreds are going to be laid off. The leadership team? None! They're all brilliant, effective, courageous professionals, who never fail to deliver! We're about 20% behind our closest competitor in efficiency. Twenty percent! Nope, not a leadership issue! It's the damn grunts costing us all this dough. So, let's get rid of some of the less profitable divisions (more on this later), let's lay off a bunch of people, and our P&L will look like a newly painted wing of a veteran's hospital, - shiny on the outside, shit dripping from the ceilings on the inside. Next year will bring the same exact problems we're facing now. But that's next year! By that time, bonuses will be paid, vesting periods reached, company shares allocated. After all, it's a very large company. Surely, it will perform even better when a couple of other less profitable units will be unloaded, and a few more hundred people laid off. And after that? After that our luminaries will be able to say that under their astute leadership, the company's bottom line has dramatically improved, they have fulfilled their mission, and are ready to take on the new challenges of another enterprise in need of their know how. They'll eagerly contest the proverbial paternity of their failure, even as they mandate ethics seminars for their subordinates, while perorating in turgid dithyrambs on the importance of taking responsibility.

OK, I think I'm done with this for a while.

Saturday, February 18, 2006

IT Consultant

Did you know that "IT Consultant" has an interesting anagram? Yep, it does: "A con-lit stunt".
Cool site: http://www.wordsmith.org/anagram/

Sunday, February 12, 2006

Yet another "succesful" project

I've been working with a giant energy company for the last few months. My first impression of it was very favorable; however, the honeymoon is over and the reality has set in. Yet, even in the uncomfortable world of prosaicness, it's better than a lot of places I've seen. My role here is development and support of trading and finance-related reports. Kinda an interesting niche. This time though, it's a particular encounter that got me back to this blog. For the first time, I was told that our little development team will take on a supporting role for a project developed by someone else. The company in charge of the project is Accenture (my old pals).

"Ok", I thought, "should be interesting, and relatively painless". "Last I remember, they have high standards, big on quality and documentation. Plus I get to go to LA in February. Where's the harm in that?" The purpose of my visit was for them to transition a developed report along with the supporting infrastructure to me for support. Based on this explanation, I had this (apparently very strange) notion that the underlying structures were long completed and tested, and the report was already built and QA-ed.

A few minutes after I passed by the indifferently swaying palm trees in front of the office, in the 80 degrees weather, painfully cognizant of my winter parka that took up 60% of the suitcase, I looked forward to wrapping up this transition and having a few drinks with my well-tanned friends. Soon after I settled in to someone's chair, I had the first chance to behold that wonder of a report. In order to appreciate the full magnitude of the fuck up that it was, some background information is required. The purpose of that entire project was to produce this one report. Everything else that was developed during this project has a strictly auxiliary purpose aimed, once again, at producing this one report.

The report is relatively simple (trust me on this, I've seen quite a few). True to my habit, the first thing I checked was the number of queries that the report used. Brace yourself… 17!!! It's a simple pivot table (a.k.a. a cross-tab) querying eight (8!) tables in total.

Occasionally, I tend to be somewhat arrogant. That was one of those occasions. Without reading the business requirements for the report, I told the manager (a 25-year old, could-easily-be-a-model girl from Accenture) that it was wrong, and I had no intentions of accepting it. She urged me to read the requirements. "That would be only fair", I thought, and dug in to a 40 page document of the requirements. The document seemed to contain just about everything under the sun, including a recipe for baklava and a theory on JFK's murder, the clear definition of the reporting requirements was nowhere to be found.

I corrected myself to Missy (the PM), "I'm sorry, Missy. I said the report was wrong; but now, that I've seen the requirements document, I've formed a more informed opinion." Missy's face lit up briefly in the Mona Lisa-like mysterious smile suggesting playfulness and wisdom. "That wasn't quite right," I continued, "it's DEAD wrong". Mona Lisa was briefly replaced by Ralph Wiggum, who morphed back into Missy. "Why?" "Well, the number of queries is absolutely unacceptable for this kind of a report, the abstraction layer looks more like a late Picasso than a user interface, the report itself is not only wrong in terms of the data that it yields, but it's implementation looks like a puzzle of a thousand pieces depicting a wheat field." Missy seemed to take it well. Her calm reaction gave me hope. "Perhaps they have some other strong resource who will be able to fix all this in a couple of days…" Meanwhile, I'll catch up with my former office-mates. Once again, I was wrong (sometimes, I get really tired of being wrong).

It turned out that the resource who built this glorious piece of technological wonder has been long gone, and the only other developer (from Avonade, the unholy union of Accenture and Microsoft) had never seen this reporting package, and was not exactly up on the DB design.
To make a long story short, absolutely every stage of this project was fucked up (at least from the reporting standpoint). The requirements were not documented and those that were, lacked structure, clarity and cohesion. Database design seemed to be concerned with the most economical use of storage, not the ease or speed of data retrieval (and storage-wise, we were looking at less than 100 MB over 5 years), the abstraction layer was abstract alright, so much so, that no user would ever make any sense of it; and finally the report was wrong on so many levels, that it had to be completely rebuilt.

So why am I so pissed off with the whole thing? Oh, that's easy… All these fuck ups had to be fixed by your humble servant, and under a very tight deadline. While Missy kept on being beautiful (turned out that was her only qualification for the project), I was putting in 15-hour days, gathering the requirements, modifying DB design, changing the abstraction layer, and completely rebuilding the report.

As a result of this fun little project, I realized how mysterious the concept of reporting requirements is to most people. Therefore, I've decided to put together a generic document that would outline some of the processes that must be followed when creating a reporting solution, as well as a requirements template for a basic report. These will be coming up in the next post.

P.S. I wander how much Accenture will bill us for this project.

Tuesday, October 25, 2005

Literacy at its best.

Carpooling from the office with Jonathan, a senior project manager, (currently in charge of a multi-million software development project). Jonathan is a Brit, mid-forties, with a gentlemanly well-groomed beard, a perpetual bow-tie, and an accent that would lend credibility to absolute horseshit.

Somehow, the topic of religion comes up, and Jonathan quickly proclaims his atheistic stance. “…secular, non-observant in any way, shape or form!” - I’m a little surprised by such a bold statement. In my limited experience of dealing with Brits, they tend to be rather mild in manners, and opinions.

“How so? Were you raised atheist?” - “No, Anglican. But ever since I could make rational judgments, I was an atheist. It was always very obvious to me…” “So you were educated on the subject, and have looked into this matter drawing your own conclusions, right?” Expecting his reply to be something like, “Of course! I spent X number of years or at least months reading various points of view, discussing them with… (whoever he considers an authority on the subject), arguing and thinking about it, etc.” Instead, once again I was surprised by his, “No, not really… It has always seemed plainly obvious, yes? Like the nose on your face. - It just is.”

So much for the famed English punctiliousness. The reason for my surprise was not the quaintness of his answer - au contraire - its pedestrian torpor. Here’s a man, given an exceptional education (Cambridge), had every opportunity to form an informed opinion, and he comes up with this load of crap. He literally had nothing else to offer in support of his view.

I nodded and commented on a French restaurant that we were passing. I can only hope that his decision-making processes at work are a smidgen more sophisticated.

Monday, October 24, 2005

It’s a bus!..

It’s not New York (thank god!) and it’s not Flint, MI (ditto). Most people take public trans here daily. Yesterday evening, I’m waiting for the bus, heading back North. In its usual timely manner (20 min.), the bus arrives. A tiny, almost fossilized Filipino woman scurries to the bus entrance, leaving a dozen or so people standing patiently in line behind. “She’s old and decrepit,” I told myself, “let it go.” She climbs aboard with surprising (for her age) agility, but that’s where it ends. She begins rummaging through a three-gallon purse for her wallet. Some mere couple of minutes later, it’s found. Now, for the card… Aha! Nope, not this one – doesn’t go through; not even after 3rd try. No worries, she’s got another one. Alas, “no good! no good!” says the driver, whose English wasn’t that great to begin with, and has steadily declined since the old lady got on board. Cash? - Sure. But in a different wallet. - Another minute. And, Halleluja, she gives exact change. - Good, right? Half the fucking fare was in pennies. Need I say more?
Nothing against Filipinos or geriatrics,.. but if you take a goddamn bus, it’s the same routine every time you get on it! Same fucking fare. Have your cards, and your cash ready. Count the fucking cents BEFORE you get on. DON’T assume that the rest of us are waiting for the messiah at the bus stop, and you’re entitled to bypass us because you need a sit. Your site alone would move most of us to let you sit down, and maybe buy you a burger and a deodorant. But this behavior makes me wanna reconsider my stands on euthanasia and immigration.

Tuesday, May 24, 2005

Regarding Diversity

The workplace was never intended to mirror the U.N. or to introduce us to the intricacies of the caste system. As a professional, I do, however, expect to find people working alongside of me competent in two areas: one - that for which they were hired (be it BA, DBA, or data entry), and two - English. Not one or the other, - BOTH! A modicum of familiarity with the local culture and customs would be nice, but let's be realistic, and not set our goals too high (although, I thought that a morning shower and a fresh shirt every now and then was not unreasonable unless you're French, but I've been proven wrong there too).

Yet, it's becoming increasingly common to see IT shops where, an otherwise small ethnic or cultural minority is predominant. Generally, those tend to be Indian/Pakistani shops, but those are not the only possibilities. The question is, "Why?"

Why would a company located in LA, Chicago or NYC have a primarily Indian or Chinese or Russian IT organization? Yeah, yeah, yeah, the reality of it is, there's only one reason - $. Immigrants (even the qualified ones) are considerably cheaper than their American counterparts. Well, almost. Not all immigrants, but the reasonably new ones. But the low price tag comes with strings attached.

Communication skills. "I speak Anglis goodly" will pass at a local 7-Eleven, but not when you're trying to set up a server or determine software requirements. And at this point, I really don't give a shit that Rajesh has an MS in CS (sorry Dr. Seuss) and is a regular wunderkind when it comes to Oracle. If he answers "yes" to my "how" question, we're done. Unfortunately, Rajesh will frequently answer "yes" to any question because disagreeing with his superior or even simply an older man is considered impolite in his end of the world. And that is a problem.

Fragmented cliquish culture. It won't come as a surprise that an outsider (a regular American Joe or another immigrant, but from a different part of the world) will be uncomfortable, and frequently, ineffective in such a setting.

Low technical skills. Not always, but not infrequently either. (Of course when I don't understand three quarters of what Rajesh is saying, perhaps I'm not the best guy to judge his technical skills.) But chances are, Rajesh was recommended and hired by his manager, Sandeep, who, in spite of all indications to the contrary, has full faith that Rajesh will pick up that ETL stuff one of these days (while catching up on the news at Bangalore). Meanwhile, Joe (or Stan) will pick up the slack. (And Joe is getting more and more pissed.)

High turnover. It couldn't be any other way. Joe will leave because it'll become unbearable to work there. And Rajesh will eventually leave too, because he'll either pick up some English and get a better paying job, or he'll go back to Bangalore.

The issues mentioned above lead directly to low quality of the product. Any one of them taken by itself would have a negative impact on the quality, however, when combined it might prove to be lethal. But that, of course, in the long term. Meanwhile, the CIO is saving a few bucks, and Rajesh can cook a mean curry.