31 Aug 2010

The cost of engineering

I read something very interesting the other day while looking for a Firmware update to my Samsung LN46b650 HDTV.

An owner of the same TV as me was asking (on a forum) Samsung to release an updated firmware with support for more codecs. The Samsung rep. replied that it was an older model, and that engineering effort was mostly spent on newer and unreleased models. Sounds obvious so far, right?

Here comes the funny part. The user replies:

“I would be willing to pay for the requested firmware update to defray the companies costs”

Does anyone else see how realize how stupid this sounds?

Having worked as an Engineer at several different places I can tell you that engineering a new firmware is no quick and simple task. It usually requires a Project Manager and depending on the size of the project, it can take between a few and dozens of Engineers. Then it takes lots Quality Assurance testers who verify that there are no regressions, and finally, it requires a Release Manager who approves the final release as Production Ready.

So, given the fact that the firmware is already available and a few features just need to be added does simplify things, but you’re still talking possibly thousands of man-hours. Even if one Engineer could do this upgrade by himself, it would still require lots of testing (imagine if an update broke your TV!). All in all, you’re probably talking tens of thousands of dollars for a fairly simply update. Something that one individual user is hardly going to fund. Seriously, what was this guy willing to pay. $10? That pays a single engineer’s salary for about 12 minutes.

This isn’t the case with software updates. How many of us have downloaded a software update that screwed stuff up? Probably all of us. The difference here is that you can usually fix a software update with another update (or hotfix). Firmware, however is different. Because it sits right on top of the hardware, it can do much more damage. It would be quite easy, for example, for a firmware update to break its own ability to update, so, the new firmware doesn’t allow further updating. With software, this can happen too, but there’s nothing stopping you from uninstalling and reinstalling an older version. This usually isn’t possible with Firmware.

It just goes to show that for a great Engineering product, you generally need to be selling millions of devices. How else can you afford to spend millions on Research and Development? Thats what makes my change of job so drastic. My last two jobs were very small startup companies. The first ( had just a handful of Engineers, and we were each our own QA. They ended up being very successful, selling to a much larger company. The company had some good technology, but it needed to sell to one of the big players. In fact, it was always intended to be sold. There was never a plan to get to market alone. They knew they’d need lots and lots of funding, and that meant being bought out. The initial funding was really just to create products that could show great potential, and interest some of the big players. Now I’m at HP working on Eprint. There are literally hundreds of people involved. Every week I’m on a conference call with people I’ve never heard of. There are entire teams of people in multiple different countries working on different parts of the product. Of course, HP is only investing this much money on the project because they know that each year they sell millions and millions of printers. That means several things. 1, they will very quickly have a huge customer base, and 2, they want an extra edge over the competition, and obviously they wouldn’t mind getting their own app store.