Search This Blog

Loading...

Saturday, August 1, 2009

Code is Not That Important, Marketing Is

When I was in my early days as a software developer, I thought that the most important aspect for a software product organization, was software development. Code was everything and the single determiner of the success. I was told, by none other than the great Joel Spolksy, that all you have to do is to polish your code, add in features that your customers demand, and you would be doing fine.

For a software developer and a geek, that was an assuring and comforting theory. We the geeks have seen too much injustice in the world. I mean, geeks, even though they were smarter and more hardworking than the average Joe the bond salesman, were nevertheless earning not even half of Joe's income on average. To add insult to the injury, not only there was a wide disparity between the IQ and earning power, but the world perception didn't seem to value the geek's contribution to it extend that it should. Geeks have done tremendous contribution to the world, but the society ( and the opposite sex) still treat the geeks in a polite disdain because it rather judged a man by his outward appearance than his inner content. This kind of injustice was very disheartening. But thanks to the internet and Information Revolution, finally, the moment of the geek has arrived. Hua haha!

But as I grow in maturity ( meaning suffering enough bumps on head), I gradually come to the realization that the above just-improve-your-code-and-you-do-fine theory is a total nonsense. FogBugz, the Joel Spolsky's brain child, was
ironically a case in point. There are hundreds, if not thousands of bug trackers out there on the Internet because they are easy to write and are ideal for programmers who don't know any other domain knowledge. And how hard a bug tracker can get? Certainly not very hard. They are many flavors, licensing schemes for bug trackers, ranging from the very expensive, to the completely free and open source.

The thing that separate FogBugz from other bug tracker system, is Joel's blog.

Joel's blog is immensely popular among software developers. That blog gives him a hearing audience. One can safely say that without the blog FogBugz will be just another bug tracker that you won't even bother to look at. I am not denigrating FogBugz; I use FogBugz in my work and in my personal life; it's very pleasant use, and I will recommend it to anyone as long as they are not tight on budget. But the point is that FogBugz can get to point it is today is because it gets a head start from the blog, and the revenue that funds its continuous development up to this day.

The same can be said of StackOverflow,  a clone of Expert Exchange-- minus all the annoyances.

And if you look around, it's not hard to find that the number of software that stands out purely because of its code are very, very few. Back in 80s Apple was the first company that introduced the modern GUI as we know it, but it was Windows that dominated the world. Microsoft Access was a complete failure when it was first introduced ( there were serious bugs that caused data corruption), and when it came to the market there was FoxPro and other desktop RDBMS that were many times more superior. In the end it was Access that flourished and FoxPro that perished, thanks to Microsoft's decision to bundle Access with other more successful office products and sold them as a suite.

Even in the ultra competitive trading world, the algorithms are often not the most important determining factors. Quant shops and investment banks go to extra lengths to protect their trading algorithms,  in the name of protecting their trade secret. But to think that they-- or anyone else-- have a killer algorithm that no one else has is just naive. The quants are going to the same conference, reading the same journal papers and implementing the same ideas. If there was a killer algorithm, it would have been implemented by a fair share of the quant shops in a short time and thus drive down its usefulness. The reason big sharks like Goldman Sach make money and other shops don't is because their computers are more powerful, and are nearer to the stock exchange. Of course their HFT and stats arb algorithms do play a role, but without the underlying infrastructure it's pretty hard to make any money.

So, my dear developer ( I am looking at the mirror here), forget the idea that if you are a good coder you are destined to be successful. Code is not that important, marketing is.

17 comments:

ihoe said...

Great post.

I've discovered it recently myself and it's not very exciting.

Minh Tran said...

so true. i also realized it is hard to tech geeks to do business alone. one factor to be considered is people's EQ not IQ matter more in this world's market.

Ryan said...

This is a great post, I'm on the business side of a web startup and I wonder how to share this post with my technical co-founder without sending the wrong message, any thoughts?

Soon Hui said...

Hi Ryan,

maybe you can point to the hacker news discussion ( instead of the original post) to them. In this way there is a greater chance that they won't get offended.

Anonymous said...

bullshit

Jyaif said...
This comment has been removed by the author.
Himanshu Mody said...

Marketing is important , but I can tell you , great marketing of a bad product will make it die faster.
Good marketing can only get you early adopters ,beyond that it is only and only quality.

paul said...

I agree to a point, code is just not that important when it comes to selling the product. Maybe that's what you were saying all along?

There's this theme going around lately (or maybe for quite some time, i'm just really sensitive to it lately) that people who write code are just too concerned with the quality of what they are doing instead of just getting stuff out. I personally think it's this way mostly because people by and large don't die when software fails much like they do when a bridge fails or when an axle breaks on a bus full of school children in West Vrignia. I digress though, I'm thinking more and more that it's the code monkeys silent and thankless job to make sure that code is safe even though nobody else (save for the people that actually use it) demand it.

Good article though - so true.

Anonymous said...

Great ideas still need a means of production. This is one of the fundamental tenets that Mike Rowe expresses with his show Dirty Jobs. Get dirty!

Anonymous said...

Unfortunately even developers are susceptible to marketing over code quality. Java would not have been successful if Sun hadn't sunk millions of dollars into marking.

Anonymous said...

Code may not everything, but neither is marketing. Haven't you ever seen software that was marketed to the point of not being useful anymore. Look at Ghost, the imaging software. It used to be useful (all you needed was a floppy dis), now all the marketing has bloated it to the point that I look else where. Their focus was on marketing, not what the customer really wants. Have you ever paid for software or a service and still have to endure their marketing ads? Have you ever gone to a website that is full of marketing but a pain to find what you need which is the reason why you came to the website in the first place. Look at Apple, while they were paying big money for Pepsi ads, MS was listening to what their customers really wanted and helping 3rd party developers (which Apple ignored them; I guess their highly paid marketers were so dumb, they missed the developer segment). Foxpro didn't lose because of marketing. It lost because MS bought them out and then neglected it because MS can make more money with sql server with licensing fees. With Foxpro, once you bought it, no more charges. As an IT person, why is it that these highly educated and highly paid marketers ignore the maintainer segment? The segment that has to install and maintain their crappy product.

Benno said...

Marketing is more than just advertising. An important part of marketing is determing what the customer wants.

So for the example of ghost, that is a failure of marketing, rather than marketing causing the failure.

Unfortunately there is an obfuscation that marketing == advertising, which is simply not true. It is one (important) aspect of marketing, but not the whole thing.

arun kamath said...

It is not just in software..marketing is as important as, if not more,as the actual product itself.

LKM said...

"The thing that separate FogBugz from other bug tracker system, is Joel's blog."

I don't know whether your conclusion is correct, but the premise is false. The thing that separates FogBugz from other issue tracking systems is that people will actually use it. Most issue tracking software sucks. If the system sucks, people will do whatever they can to route around it. The people at FogCreek put a lot of thought into how FogBugz should work, and they have created one of the few issue tracking systems that actually do work.

That's what separates FogBugz from pretty much every other issue tracking system: It's better.

steven said...

Thanks for the sharing this website. it is very useful professional knowledge. Great idea you know about company background.
web application development

Jessica Jewel Joyce said...

The limp phase that the IT sector and the software industry is going through in the present times can be gauged from the fact that the pay of the employees in these two fields all over the world no longer remain lucrative. In many countries, software companies are also chucking out employees, especially those employees who have been “sitting on the bench”. This was an unheard of concept a few years back. There are chances that the software companies take more such radical steps to fight the damp phase. http://www.infysolutions.com/resources/resources.html

Anonymous said...

Hey, I can't view your site properly within Opera, I actually hope you look into fixing this.