Sunday, December 28, 2008

Q: What’s worse than being unemployed?

A: Depending on a job.

There has been a lot of screaming coming across the sky, “the layoffs are coming, the layoffs coming”. In fact, they’re here.

The economy is contracting. Thus, no dough means no going to the mall to work out with the plastic and no going to the bank to refi the house in order to pay down the plastic to be able to go back to the mall.

It seems that the only things going these days are the Big Ass Corporations going to the Government to refi the whole stinking mess. This has happened before and it will happen again. It’s sort of the way the economy works. That this recent run of profitability from 2002-2008½ was based on more than the usual amount of funny money is making it feel as if tragedy is coming out of nowhere.

One day you’re employed; the next day you’re out of a job. And for most people, not having a job is a devastating experience. Jobs are the compass we use by which to navigate life......for most people.

The story that has been fed to us since the time that we filled out our first form is that a responsible person can get and hold a job....forever. The responsible citizen gets up and goes to the office, plant or delivery truck to do a day’s work for a day’s wage. Only miscreants, con men, artists and actors drift from gig to gig, working as the work suits them, unless of course you happen to be ‘well-off’, which probably means that you made some money doing the work that suits you, not laboring away in a corporate position waiting to see if you get your annual 3-6% raise depending on the strength of your performance review and the company’s financial condition.

And as I said, this is supposed to go on forever, or at least until you retire or die, whichever comes first.

Well those days are over. There is no more ‘forever’ in the corporate landscape. I don’t know if there ever was really . There is little question in my mind that the perceived, maybe mythical, covenant between worker and corporation, which seems to me to be an offshoot of the 1950's emergence of the Corporate SuperState is gone, never to come back. Except for a few shining years when unions sorta looked out for the basic well-being of the membership, employees are and have been an expense to be minimized whenever possible. I mean, I can’t think of any Captain of Industry that started a business saying, “Gee, wouldn’t it be great if we started a company that provides really interesting work and employs a lot of people for life, paying them an extraordinary salary and exceptional benefit package? And, the way we’ll do this is to make great stuff that people need and want!”

We’re just not that generous.

So where does this leave us? I like the notion of working as the work suits me. Also, I like the notion of an honest day’s work for an honest day’s pay.

To paraphrase Freud, it's all about love and work. So taking a transitive approach, this is what we get:

meaningful_love + meaningful_work = honest_days_work = honest_days_pay

(But, this is easy for me to say. My kids are grown.)

Saturday, December 06, 2008

Q: What is the second rule of software development?

A: Even the easy stuff is hard

A few years back I found myself sitting in a team meeting about a software project that was running way behind schedule. The company had an old Windows 3.0 product that it was trying to catapult to a Web 2.0 version in order to capture back lost market share.

The meeting was called by a Really Big VP. This last missed date was indeed, The Last Missed Date. There were no more excuses to be had.

So we were sitting in the meeting getting the expected reaming..... as if a blast of justified fury could undo a year of misguided coding. Finally the Really Big VP said, “look, we’re going to finish this product by the end of the month, even if it means that I have to learn how to program over the weekend.

At that point I knew that this product would never see the light of day. And it didn’t. But more importantly I found myself having to confront this very serious question: How the hell could a profession present itself in such a way as to give feasibility to the notion that competence could be garnered with nothing more than a weekend’s worth of cramming?

I mean, can you imagine a hospital administrator saying, “We are going to save this patient even if it means that I have to learn brain surgery over the weekend”?

Everybody knows that practicing medicine is hard. Yet, for some reason, there’s a bunch of people out there that think that coding is easy.

I don’t know, maybe it’s because of all those advertisements that promote “productivity right out of the box”.



Or maybe it’s because some dentist‘s kid with a knack for Dreamweaver took a few photos and made a web site that got an A on the science fair project. Thus, the syllogism becomes: "hey, if my kid can do it, how hard can it be?"

Whatever the reason, the premise is a dangerous myth.

Believe me, coding is hard. The learning curve takes five years minimum, and the devilish details are picayune and astronomical.

Still we seem to want to believe it’s easy, even yours truly.

For example, only three days ago I thought that I could do an installation of Subversion on a Linux box in four hours. (So what if my installation experience was Windows based?) The reality was that I forgot that I had forgotten all my Unix admin skills as well as my aversion to working at the command line.



So, what I thought would take a half a billing day of labor, took a day and a half and a ton of documentation review.

I guess that the only thing that’s easy when it comes to making software is falling prey to our own delusions.

Tuesday, December 02, 2008

Q: What is the first rule of software development?

A: Making software is expensive.

I learned this lesson from one of my former employers, Cap Gemini. Cap Gemini is a very, very big IT consulting company—worldwide, if not intergalactic. The rule at Cap was, “software is expensive; if the client cannot understand this, pass on the work”.

Very few places can pull off making software on the cheap. I’ve seen a few. Usually these places are staffed by about 4 developers that are very, very, very good. They’ve been there, done that and know that even the easy stuff is hard. These types of developers know what to build and what to buy. They don’t have to ask a lot of questions because they have most of the answers. And usually, they’ve learned by burning through a bunch of money on other projects that never saw the light of day.

But, as I’ve said, such situations are rare.

Everybody else just has to bite the bullet and accept that fact that making code is a high risk game that costs lots of bucks

In fact, a good case can be made that the less the product sells for, the more expensive it is to make.

Take Windows for example. You can buy a copy of Vista Home Basic for around $200, or get it for “free” when you buy a new machine. Do you have any idea how much it took to make Vista? $10 billion dollars is one estimate. In other words:

$1 of product price = $50,000,000 development cost

Or to put it more concretely:

A single iTunes download (purchase price) = three and a half F-16 Fighting Falcon aircraft (development cost)

And this is a product that you pay for. Think of the cost for the stuff that’s given away for nothing…. like Internet Explorer, or Google’s Chrome.

In the case of Microsoft, the company has been making software for twenty years. Although their products may be of questionable quality, you have to think that they learned something along the way about cost control and development efficiency. Believe me, these guys know that you can’t make software on the cheap.

And still the streets are strewn with the carcasses of development projects and web sites that started with an attractive lowest bid or a sales pitch that sounded soooooo good. And then, once the really expensive talent is brought in to resuscitate the mess of dead code that the dream left behind, the truth sets in. Making software is expensive, always has been, always will be.

So the next time you hear of a project that has an operating budget that is not at least 50% more than the estimates, print off this page, and cut along the dotted line below.



Experience has shown time and time again:


MAKING SOFTWARE IS EXPENSIVE


Don't be fooled otherwise!