Hacker News new | past | comments | ask | show | jobs | submit login
Code is Not That Important, Marketing Is (itscommonsensestupid.blogspot.com)
51 points by nsoonhui on Aug 4, 2009 | hide | past | favorite | 38 comments



Marketing is important for revenue.

Code is important for profit.

If your code is buggy, difficult to maintain, doesn't do what it's supposed to, doesn't scale, isn't easy to enhance, etc., etc., etc., you will spend all of your margin on getting it to be what it should. And drive profit to zero. Or worse.

Actually, in the current world of try before you buy, test driving, and freemium, code is important for revenue, too.

Code not important? You're preaching to the wrong audience.


The audience does not make the facts though. In practice crummy code + excellent marketing win over excellent code + crummy marketing.

Code is important, but unfortunately - I'm much more of a coder than a marketeer, in fact I have a pretty strong antipathy towards marketing - marketing wins out.

There are a few exceptions to that rule, but not enough to hope that your reincarnation of an IT business is going to be that exception.

Write good code, but please do not forget that if you want to turn a buck that you'll have to spend as much attention to the marketing of your product, if not more.


...I have a pretty strong antipathy towards marketing...

I have never really understood this.

I'm as introverted as the next guy and find pleasure in the endless hours of building something out of nothing.

But I get just as much pleasure talking about what I'm doing, how I'm doing it, what can be done with it, and who it can help.

When you get right down to it, isn't that just another instance of marketing?


That's true. But there are shades to marketing.

I find it perfectly ok to talk to people that are interested in my product, and I'm pretty good at it. But I'm allergic to cold calling prospects and pushing my product where no real interest exists.

That is how the big money is made though. So I'm happy with my little niches, I'll probably never be a billionaire, on the other hand my 'startup' has been putting food on the table to the tune of about 50 manyears in the last decade, which is not a bad score for what was essentially a single good idea and a crappy implementation at first.

EDIT: Honestly, I wished it was the other way around, that code really would trump marketing and that all customers were informed about the products they are buying. Unfortunately that is not the case, so if your competitor is selling slickly packaged junk that is of a lesser build quality than your magnus opum and you hope to compete on that you'd better be better in marketing than they are or you will lose.


I agree with most of this and disagree with a little.

You see, I think there is great hope for us. I simply do not fear slick marketing and packaging any more. The world is slowly changing so that prospects are more willing than ever to weigh a proper demo over all the slickness. A proper demo that clearly shows how this offering solves their problem. 30 years of crap and vaporware have produced a slightly more saavy buyer of software. One who is also more willing to try the little guy who didn't have a chance 10 years ago.

Has it changed enough? Not yet. Do we still have to market? Of course. But I think the glass is more half full than half empty. IMO, delivering real solutions to customers' problems is about the best marketing you can do.


I think this little discussion has identified a new niche: Consumer watchdog. Place yourself as a party knowledgeable in the field in between customers and their suppliers during the procurement phase. Since you speak the language of both worlds you should easily be able to save your customer a multiple of the fee you'll charge them.

Naturally this only works on projects that cost a good bit of money but it may help to create some consciousness wrt to lesser purchases as well.


I find it somehow disappointing how many people confuse marketing with sales or promotion.

In the low-brow definition marketing is the set of all decisions regarding product, price, distribution and promotion. As soon as you start a company, you will do marketing. It's either bad or good or something in-between but it's marketing.

Promotion is something different. You can forget promotion, sometimes. Provide a working cure for AIDS or cancer and you need no (active) promotion.

But in today's crowded markets, the possibility of making a software that solves problems no one else addressed yet, is rather low. Then, promotion becomes as important as the product. They interact.

Promote your product badly and you'd be wasting money when you're making a good product. For in most cases, you don't need to make your software scale or easy to enhance, if just a few people know about it and use it.

Make a bad product (with no intend to improve it later) and you'd be wasting money when you're spending lots of it on promotion. For sooner or later, your customers will turn to your competitors and there will be no way to get back the money you spend on promotion.

In other words: All your marketing decisions, including how much money you spend on the product and promotion, affect your profit.


Code is important the same way good accounting practices are important -- it's a vehicle to get you to where you want to go. It's a tool, nothing more and nothing less.

Where you want to go is a place where you are doing things people like in return for money. That means that you need to 1) find out what people want, 2) make that, and 3) tell enough people that some percentage of them will make this trade you have planned.

Coding is a part of #2. And because it deals with known environments and logic, it's the easiest of all of them.


I can certainly see how the market has won over code in many situations.

I find it personally frustrating, because it goes against my ethical code: I care about what I create, and won't work for a company that takes short-cuts. I would especially walk out the door if it became clear that they were trying to hide serious flaws under the guise of a quality product.

The industry is so young, that it is difficult to protect consumers. There are people being fooled into purchasing all kinds of things, but at least with a toaster there are regulations like "can't electrocute people". With software, no one demands to see the source to ensure they haven't invested in an unmaintainable piece of garbage; and license agreements are laughably evasive, ensuring that companies aren't really responsible for anything.

That's why I am still interested in seeing where open source goes. In just 5 or 10 more years (a lifetime for maintaining code), some of the worst offenders in corporate environments could be really screwed, as their rickety messes start to crumble. Their most talented programmers will likely have left in disgust. Marketing will becoming increasingly the task of putting lipstick on a pig.

Whereas, many free software projects are basically honest: you can't really hide ugly hacks in open source, and maintainers are already highly motivated and eager to show the world how they think something should be done. Young people are already more likely to be knowledgeable about software, which will lead to more forms of marketing based on quality (e.g. writers, colleagues, neighbors, friends, who can guide your decisions based on quality and not flashy ads). For the rest that isn't open-source, government may catch up a little and start bending the industry to avoid some of the worst offenses.


To risk stating the obvious -

Most great coders code because they love doing it, or love what they're making. Despite commercial contributions, open source projects thrive on this. When you're a company that sells software, you exist to sell more software. That's the purpose of marketing.

Good code is only useful to the extent that it makes it possible to continue marketing new features, and thereby increase sales. I think this is the reason for the distrust programmers have traditionally had for the people who sell what they make.


I've spend some of my time in the last four years trying to help an Open Source project doing marketing. From my personal perspective (since I also do this for for-profit companies), I believe there are some flaws in your opinion.

(1) Hiding low quality: Theoretically, this would be a point -- if and only if "quality" could be judged objectively. This is seldom the case: Just look at the design decisions different Open Source projects make and how many flame wars these decisions ignite.

Granted, sometimes code lacks objective quality. This is sometimes simply due to the ignorance of programmers -- for example, not salting a password in web applications.

However, most of the time, the lack of quality argument is simply due to people having different preferences! Making code is expensive; it takes quite a long time to build something that's useful and working.

In other words, there's a trade-off and people need to make decisions which goals are pursued, first. Any decision will result in disappointments. Sometimes, management needs to make decisions that emphasize different values then yours, usually the need to make revenue. But also consumers sometimes have different preferences: some would spend an available amount of development time on code security, others would spend it on usability, others on the amount of corner case functionality, others on something entirely different.

Even Open Source projects have problems, here. For example, a few years ago, GNOME developers were absolutely certain they could raise the quality of their product by implementing a spacial file manager. They were "highly motivated and eager to show the world how they think something should be done."

It was a disaster. Most users hated it instantly (strictly speaking, because there was no obvious and easy way to opt-out of it).

Here's the major mistake: Just because you're a developer with an idea, doesn't mean you have a clue what consumers want. In fact, that's the problem in most of these "low quality" arguments, especially when made by Open Source advocates: The software you refer as to, probably has no low quality; it just offers quality you don't recognize or need.

(2) Protecting consumers: This is just another form of the victim assumption many (left) politicians also like to use. You're assuming consumers are innocent and are being "fooled into purchasing" crap. Most of the time, consumers are not innocent. In fact, the most powerful sales arguments are those that build on the greed and selfishness on the consumer: How to make more money, get more sex, be more powerful. In fact, even one of the major sales arguments of Open Source is 'Make more money' (by spending less on license fees).

You can't sell crap to an informed consumer. But why are some consumers ignorant, then? Nobody stops them to educate themselves! You could say, the real reason is their laziness and unwillingness to learn. In other words: They are ignorant because they are greedy. And in fact, that's an argument also used quite a lot by opinionated (Open Source) developers. However, it just means people are selfish and rational on how they spend their time.

Your analogy to toasters is also flawed: There may be some exceptions, but in general making the "wrong" decision about software usually doesn't really hurt people -- in contrast to toasters.

(3) Ethical code: This is just a word many people like to use without due consideration, like "freedom". You probably seriously care about your code, but that doens't mean you're acting ethical. In fact, caring about your code just means you're selfish; for if there's a trade-off between the purity of your code and a feature request by your customers, you're probably going for the purity.

The more probable cause for your frustration is simply that other people don't share your point of view concerning things you care about. Sometimes that means you to do things you don't like. Sure, that's disappointing, but that's just how it is.

Neither marketing, nor market failures, nor Closed Source Software has something to do with it. These are just convenient rationalizations.


You need to be extremely good at marketing (or at least, have a whole lot of it) to overcome a significant technical disadvantage. I mean, it can be done, but it takes a lot of marketing muscle.

I think most people are better served by focusing on what they are good at. Sure, your company will always have to do some marketing, if nothing else, you need to somehow let your users know 'hey, product X exists. it does Y."

You will also have to create a product of some sort.

if you have more marketing muscle, then sure, squeeze out some fetid failure of a product that crashes every other day, and that requires a re-install every 6 months. market the heck out of it, and you can win.

but you know? without a huge amount of marketing muscle, that won't work.

If you don't have much by way of marketing skills, produce a good product. Sure, you still have to market it, but marketing it becomes much easier, because once one person sees it, she is going to tell five others how great it is.

so yeah, marketing and technical competence are substitutable to a degree. I disagree strongly with the thesis that one is way more important than the other.

To take an example from the article, sure, fogbuz is beating out other bug trackers that are about as good, that don't have good marketing. If fogbuz was not about as good as those other bug trackers, though, significantly more marketing muscle would have been required.

I think why marketing seems more important at the top end of the market (that is, it's easy to name examples of technical superiority being trumped by marketing) is that it is easier to scale marketing, if you are a large company, than to scale technical competence.

Even then, it makes sense to do a cost/benefit and say 'if we diverted x percent of the marketing dollars to dev, how much more good word of mouth would we get?' or 'if we divert x dollars from development to marketing, how many brand new customers in new markets would we get?'

This is ignoring that 'figure out what the user wants' is generally considered part of marketing, and is often an important part of building something worth having. (it doesn't need to be... you can start with 'what would be best for the user' - assuming that you can design something the user can not imagine, that the user would like once they see it because it works better. Both are valid places to start building a product.)


Treating this as an either/or discussion overlooks the reality of business, and the world, which demonstrates that to be successful you need to do both.

Great Marketing + Crappy Code / Product = pets.com

Great Code + Crappy Marketing = The-next-big-thing-nobody's-heard-of-or-will-pay-for.

Probably the most telling part of this was talking about the "the world perception didn't seem to value the geek's contribution".

If you can't demonstrate value (which is marketing in a nutshell) then the value (which is business cashflow and profit in a nutshell) won't be there.


You can't tie features, product, and code quality together either. Even the most brilliant code is worthless if it isn't solving the customer's problem. This was the issue with Eric Ries' first version of IMVU - they built an epic piece of IM integration software that they trashed because no one wanted it.


so, in sequence then:

1) identify a problem that your customers want you to solve

2) solve the problem, sketchy at first and sound out your market about the solution you are offering

3) iterate a couple of times between (2) and (3)

4) your initial users are now your most valuable marketing tool, by now they have built a relationship with you and they should be happy

5) big rollout to all the users that you have that are comparable to your 'pilot' customers

6) back to 2! keep doing it, improve the product, fine tune your marketing pitch and do not ever forget about the one at the expense of the other.

With some variations this scheme works for both b2b and b2c.


I think that's a nice sequence for product-marketing development.

At some point you'll have to deal with all the business support stuff (Premises, HR, Accounts). And then when you get big enough and start hiring people to do most of the product-marketing work, then you'll need to have some business management aspects like Vision/Strategy, client base management etc.

But this process should serve you through ramen profitable, and beyond.


there is another starting point for 1.

1. identify a problem you can solve better than anything else on the market.

If everyone is using square wheels, build a round one, even if people aren't asking for it.

Sure, sometimes you loose with a superior product. But it's a pretty big advantage to have.


I think there is a balance between code, marketing, and customer service: if no one knows about your product, you have no customers (marketing); if your product is buggy, you lose customers (code); unless you apply the third and fix bugs for your customers at the drop of a hat (customer service) in which case you'll probably not only retain customers you would have lost, but gain customers from word-of-mouth.


I think it depends on the stage of the company:

Early on? Marketing is the most important thing you need, since you need the users. You can get away with a crappy code since people are willing to give you the benefit of the doubt. Customer service is more or less useless too, since you don't really have any users to customer serve.

Mid-Stage? Coding is the most important. Best example is twitter. At this stage you are growing more or less organically, so you need to have great code in order to scale properly. You also need that good code to release more and more features to keep up with the competition.

Late-Stage? Customer service is the most important. At this stage your product is more or less polished, and you pretty much got as much market share as you can get. At this stage you need great customer service to keep the users you already got.


I disagree strongly. If you have ever looked at 'enterprise' software, it's generally crap. have you ever tried to use remedy? it looks like something I wrote when I got my hands on my dad's copy of FoxPro as a 14 year old.

People tolerate bugs if you are a big guy marketing to other big guys. middle management would rather do what everyone else is doing (and thus not get fired when it breaks) even if what everyone else is doing is clearly worse than some other product. they have no incentive to choose the better product, and a strong incentive to do what everyone else is doing.

Heck, even in the consumer market, crap is tolerated if it's big. look at the downtime twitter has.

On the other hand, when you are first starting out, people expect to write you off as incompetent. And they will, quickly, if they see a misstep.

I would argue that people expect more out of small and or new companies. Maybe they should; there are many inefficiencies inherent to the standard corporation model.


Yeah, I still vividly remember the TV ad that inspired me to use google for the first time and keep using it even though it's always been complete crap. Altavista's marketing just couldn't keep up ;-)

No, really, that blog post misses almost all the variables in the equation. What about making something useful or entertaining? What about making something cheaper? What about making something simpler? All of that is neither about marketing nor about code quality.

So everything he really says is that you need to let people know about your product. Who would've thought?


Both are important: product development + marketing. Mr commonsense once thought that code was all-important, and now, it seems, makes the opposite error.

New technology can and does make a difference. Edison focussed on technical contribution, so did Hewlett Packard (once), and google began with technical innovation in a saturated market.

Though to be fair, it's the technology that makes the difference (the concept, the algorithm, the insight, the approach) not the code per se.


Ugh and sigh to this article. What to pick to poke at? "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." Seriously? Nobody can get a special insight that is extremely hard to replicate? It's like this guy swung too far to the other side of the continuum. Yes, getting people to use your software and making useful software are both importat.


Merit in this examination for sure, but I would have used the StackOverflow vs ExpertExchange comparison to argue the exact opposite side. Maybe there's some gray area of where code and marketing begins and ends. Site UX, flow, the subtle bells and whistles, design patterns and iterated, tested UIs are code to me.. and this what make Stack what it is.


Stack overflow got exposure to thousands of developers from day one thanks to Joel/Jeff. If they'd stuck the site up anonymously it would be nowhere near as well used now, and might even have never got anywhere without an initial critical mass of users and questions/answers.

The UI might keep users interested once they're there, but it's not going to get them there in the first place.


Ironically, the head of the CS department at my University used to say: "unfortunately, positioning is more important than knowledge".

This means that Microsoft would probably not have happened if Bill Gates' mother hadn't been connected to IBM's chairman at the moment. Microsoft didn't even write the first DOS they sold to IBM!


i would challenge the average hacker to step back and think about this. mark zuckerberg was a fan of perl (not the most attractive language, but hey it gets the job done). facebook still operates on php.

do a waybackmachine search on facebook's earliest version. it seems that within weeks of their initial launch, they were in every online college newspaper and several major news outlets. facebook marketed the hell out of their application, and it beat a lot of rival college apps (some who made threats against the facebook team early on and tried to ddos the site).

make your code easy to maintain, build a good product, and market the hell out of it. people are not going to come if you build it unless it has an overwhelming viral effect. but i'm seeing sometimes that a competitive advantage means being in techcrunch before someone else.


Without code, there is nothing to market.


Sadly, this often makes no difference. Marketing can be done with prototypes, screen mockups, or less.


Marketing can be done with prototypes, screen mockups, or less.

You are talking about a very specific type(ie. pitches) of marketing.

Majority of marketing is aimed to make you money. To make money, you sell something. To sell something, you need a product. For many on HN, their product largely consists of code.


People have sold the idea of a product and a portion of their company to VCs, without having a functional or complete product.


Sure, but that is a very small minority.


recommended books to learn about marketing http://personalmba.com/recommended-business-books/


Good marketing starts with a good product.


How true.


[correction] how sad, but true.


marketing is the most important part of any business from software to products. Marketing creates demand for a product. Peter thiel has always said the most important part of any internet business is distribution. If people don't know about your product and does not know why they should use it then it will go out of business.

Case and point: twitter vs plurk. both are basically the same thing, but twitter is going to put plurk out of business because twitter markets itself better.


what is going to happen to twitter when they can't find a 'greater fool' to give them money?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: