David Dworin Online

Archive for December, 2007

If an ACME Detective waterboards, is it a war crime?

December 28, 2007 1:25 am

CollegeHumor shows us what happens when Carmen Sandiego grows up:

Gen-Xers: today’s college student is talking about the TV show, not the video game.

The Godfather of Wii Hacks

December 24, 2007 3:58 am

To prevent myself from posting every time he comes up with an awesome Wii hack, I present the Wii page of hack-Godfather Johnny Lee. The latest, which shows how to create 3-day head tracking, is simply unreal.

It’s Official: Blogging is Mainstream

December 6, 2007 3:27 pm

The blogosphere is no longer the cool and edgy place to publish, where maverick innovators shatter the world with their out of the box thinking.  The establishment has joined the party, with the director of the Congressional Budget Office - the Bureaucrats Bureaucracy - starting his official blog.

Via MR.

The Customer and Corporate IT

December 5, 2007 3:57 pm

Joel Spolsky just posted three parts (1,2,3) of a speech he gave at Yale in which he warns students to avoid corporate IT:

Now, at a product company, for example, if you’re a software developer working on a software product or even an online product like Google or Facebook, the better you make the product, the better it sells. The key point about in-house development is that once it’s “good enough,” you stop.

Spolsky is 100% right about corporate IT organizations - they are crappy places to work. You don’t get to work on fun projects, you’re disconnected from the business, you’re stuck making things quickly rather than high-quality, and everyone on the business-line hates you, to the point where they keep farming out your job to consultants like Accenture, Deloitte, and IBM.

But the reason IT is miserable is it’s own fault - in house IT is, for the most part, a monopoly, and it’s going to be just as miserable as working at any other monopoly. You don’t have to worry about what your internal customer needs, because they can’t go someplace else (you don’t run competing IT shops). You don’t have to run efficiently because there aren’t market pressures. For every complaint from someone in IT that their creative freedom is restricted, there’s a complaint on the business side for the problems that crop up when developers decide they want to play - for instance every business application needs to have it’s own authentication, with it’s own look and feel, and it’s own user database. Kerberos was invented how long ago? If you’re developing a product and you make your users sign-in a different way to use different areas of your product, creative destruction will take care of you pretty quickly, but when you’re in the monopoly that is corporate IT, the users don’t have anywhere else to go.

And what of the consultants that IT hates so much, who can charge $300 an hour to have a 22 year-old with an English degree and a crash course in .Net write applications for you? They do something corporate IT isn’t very good at - they spend most of their time figuring out what the biggest problem is, and then they develop an application that solves it. In the meantime, corporate IT has an amorphous idea of what the business is and starts developing applications that they think might be relevant. That’s how monopolies work - they push products onto the market as they develop them, without regards to customer needs. Customers, who don’t have a choice, take what they can get.

There are other structural forces that make corporate IT miserable. For instance, maintenance and new development usually come out of separate budgets, so developers have little incentive to make an efficient product that is cost effective to maintain - that’s somebody else’s problem. Because once a project ends they either have to find a new one or move into maintaining the code they wrote, they actually have a perverse incentive to write bad code that’s difficult to maintain, modify, and interact with. The best way to build job security is to invent a role nobody else can do. If you’re looking for anecdotal evidence, just look at the way the owners of legacy applications fight any attempt to modernize.

If you’re developing a product, any new feature you add provides value to the customer, that’s why it’s valued. Great companies value IT (and other support functions like HR) because they drive value to the bottom line. In fact, great companies are usually built on great people and great technology. When done right, IT contributes straight to the bottom line, and IT professionals are valuable parts of the business team.

In the end, the problems with corporate IT are based around the same issue - there is no accountability to the customer. That’s the root of line-managers’ complaints about IT and it drives into most of the problems programmers feel when working in corporate IT. Solve it, and all of a sudden IT becomes a great place to work, and a valued part of the team.

Subscribe