13 ms·
> "Coding is easy, marketing is hard" It took me over five years in this business to fully internalize this. Programmers (me included) often complain about clu
by SoftwarePatent 10y ago
> "Coding is easy, marketing is hard"
It took me over five years in this business to fully internalize this. Programmers (me included) often complain about clueless entrepreneurs in this business, but even more rare than a good programmer is a good entrepreneur, who can sell/market and turn code into money.
- Frondo 10y agoYep, this times a ten thousand. It took me years to unlearn all of the "marketing is all bullshit" attitudes I grew up with. Whole different set of skills to learn, and not like, say, imperative->FP. Much harder.
- throwaway58182 10y agolol - yes, me too. Used to really dislike the marketing guys. Once you're running a company though, you discover marketing is what counts, more than code quality in most cases. Though I'll say keeping technical debt low has allowed this product to grow for many years.
- daveguy 10y agoKeeping technical debt low... does that mean you are regularly refactoring or changing your technology stack? Just less debt due to a simple desktop design? Good unit tests from the beginning for easy refactoring? Any pointers on how you kept tech debt low and what that means to you?
- pdimitar 10y agoYour question deserves a whole thread for itself, but I hope I can clear some fog around it. Low technical debt mostly revolves around: (1) Keeping your code maintainable. Example: the framework you're using (like one for making a website, or JSON API, or accepting emails and triggering actions, etc.) gets a new version. You stop what you're doing and you go and upgrade. Why? Because the older version of a framework/library you use, the less chances you have to get a bugfix from the maintainers when you inevitably stubmle upon a blocker bug one day. Being able to [almost] always switch to the newest version means: (1.1) Keep a good collection of unit / integration tests. They don't have to cover 100% of the project. If you have a good integration test suite covering most of the customer scenarios, you're already in a much better shape than most projects on the planet. (1.2) Keep an eye out of the changelogs and version releases of all frameworks and important libraries your project depends on. You must have a good idea what's changing in there. It might help you remove WTF code pieces that were working around a defect in the framework/library which suddenly is fixed in the newer version as well. (2) Keeping your code evolvable -- if at certain point of development you conclude Ruby on Rails isn't cutting it, you must be brave and decisively and quickly replace it with something else. There's a huge price to pay when you're hesitant. Don't be hesitant! If your code has separation of concerns, the various pieces have single responsibilities, if it minimizes state sharing and is regularly tested -- that's a project you won't be scared to migrate to a much newer version of your framework, or switch the framework (or even the language) entirely. (3) Keep a huge internal documentation of what you want improved. When you're in a hurry to deliver a working product customers can use easily, you inevitably make compromises. Document them. Be ruthless and never make exceptions. No "I am too tired to write this down right now". NO! Scribble it on a napkin if you have to. Dictate it to your smartphone. Do whatever it takes. Eventually you'll return to your computer and write it down. I use a private Trello board for that, works very well for me. It has ~60 points in there but you know what? 3 months ago it had 150. ;) So keep your code tested and documented. Be real with yourself and document (internally, for your eyes only) all of its warts. Realize its limitations. Find the value it brings to the paying customers. Maintain that. Get ideas on how it can attract more paying customers. Implement them. Bottom line: BE ON TOP OF YOUR CODE, always. Realize that the code itself doesn't change if you don't change it (not like GitHub will maliciously modify your source files) but if you don't change it, then the business value of your code rots over time. It's really not any different compared to any other revenue-bringing asset. It needs maintenance and support (and evolution/expansion when you want to grow).
- daveguy 10y agoThank you for this detailed and informative reply. I have bookmarked it and next time I see a discussion about technical debt on HN I will link to it. If my question needed its own thread, your answer needs its own stackoverflow page. Cheers.
- pdimitar 10y agoYou are very welcome. ^_^ Let me just point out that what I commented is a generalization and simply an excerpt of all the good practices I found during my [almost] 15 years of commercial experience. Understanding your place in the world (namely what business value does your code bring) and worshipping communication -- even between your current self and your future self -- are what I found to be the gods I worship during my work, and it made me much more productive and valuable for my customers/employers.
- Frondo 10y agoOh yes, I sold the prototype version of my platform for a year before I had a chance to replace it. The prototype was custom pages on a Wordpress site (pretty slow to load, especially on phones, not easily scalable, etc), the new one's a .NET-based site, loads instantly on any device, and when I watch the server load, I can see that this thing will live happily on even a low-end VPS for a long, long time to come (lot of traffic growth so far, no increase in load!). Keeping technical debt low is good, money's a higher priority. It's a business. That never really hit me before. :)
- shostack 10y agoAs a senior marketer who has to combat this myth frequently, thank you. Modern day marketing is a complex orchestration of many parts that are often highly technical. Further, the discipline as a whole has some incredibly hard unsolved problems when it comes to measurement and analytics (attribution and viewability I'm looking at you). If anyone has a product with initial traction but is unsure of where to go next, feel free to ask, happy to answer questions.
- igk 10y agoDon't have a product right now, but are there any resources you can point to which have quality marketing wisdom? Or is this something you just have to learn as an apprentice to a good marketer? I am always torn because while I can appreciate good marketing, a lot of the marketing and advertising Industry (which too me seem like different things) seems to be bullshit. I really like it when there are marketing campaigns that try to understand me and help me. Well designed product descriptions for example. Or research to understand customer needs, actually useful newsletters not only about the company itself(there is a really good startup tracker whose newsletters i read for a while)that stuff I get. I also get advertising as a separate or subfield of marketing, when it is in the case of "hey, we exist, we do this, you might be interested". Helping me find stuff which is useful basically. And usually, the good products don't need to do more(at least it seems like this?). Like rsync.net had an advertisement on resist once, that they now supported ZFS and that of you did not know why that was cool, you should not click the link. That spoke to me, conveyed information clearly and made me aware of rsync.net What I don't like is stuff like YouTube ads trying to sell me beauty products. That will get them nowhere. Or the bullshit newsletters to build "engagement" by automatically subscribing you when yiu make an account, then listing "10 freaky ways people use $product. Number 5 will surprise you!". That stuff will turn me off products, even if it is good.
- Frondo 10y agoThis is going to sound a little pat, but if that's what you like in marketing, you're probably not alone. You could probably do well to try that exact set of behaviors on other people, with the outcome in the back of your mind, "will this person pay me to solve the problem I am talking with them about?" If yes, then that's it, you're done. Take the money, give 'em the thing, and do it again. :) For books, for getting a start in marketing, I like "Guerrilla marketing in 30 days". Biggest shift, though, is just mindset; going out and talking to people again and again until you learn what matters to them. It takes a lot of time, and when you're not used to it, it feels like it takes way more time than you're actually putting into it. Eventually you do learn, this is what these people have in common (they're members of some industry, field, hobby, affinity group), this is where they go (online, offline, in-town, conferences), this is how they like to be marketed to (online ads, postcards, in-person events, etc). Just takes time and effort, more than anything. Pretend you're learning a language, and assume it'll take that long to get conversational. :)
- kriro 10y agoI don't quite agree. With a small and somewhat trivial codebase sure I'd agree. Once you get into more complicated things, programming is the harder discipline. Most importantly I don't know if you can even compare the two fairly. At scale marketing is basically a subset of programming (or I suppose statistics). B2B it's quite a different beast and mostly about understanding processes and being good with people. I would say that there are no inherent "hard problems" in marketing (other than "people are complex"). In programming there are some problems that are extremely tough to solve. I mean sure it's not that hard to hack together a webapp that scales to a reasonable number of daily users. Programming something more complex, keeping it secure and keeping it up and running...that's pretty tough overall. Don't get me wrong, selling stuff and turning code into money is not trivial and also a very valuable skill, arguably a more valuable skill than raw programming power for a startup. I do however think programming is ultimately harder. If you start a company you need both. "Marketing" is more important I'd say (as you can live with acceptable programming for most web-based startups for example) but eventually the lack of programming power will haunt you.
- HeyLaughingBoy 10y agoIs this really worth arguing? The reality is that for some people, programming is easy; marketing is hard. For some other people marketing is easy; programming is hard. That's really all it is. Delving into the details doesn't get us any closer to a more useful answer.
- wtracy 10y agoJudging by the downvotes you're getting, I'm not alone in getting a "my job it totally harder than their job!" vibe from your post. (If you spend more of your professional time doing marketing than coding, saying so might have helped.) Why do you say that there are no inherently hard problems in marketing? Winning market share against a competitor with a bigger ad spend than you sounds like a hard problem. Achieving minimum customer acquisition cost and optimum market segmentation sound like hard problems. Getting customers to self-select early in the sales funnel so that your salespeople don't waste their time on looky-loos without cutting into actual sales sounds like a hard problem. (I don't know, because I'm not in marketing. Educate me!) Also, saying that there are no hard problems in marketing other than "people are complex" sounds a bit like saying that there are no hard problems in computer science other than "math is complex".
- z3t4 10y agoI disagree. Even if you make the best software ever, getting your first 100-1000 paid customers is hard. But if your software is good, and you have 1000+ paid users, paste that point, your product will market itself. Or you could just continue to sell to the customers you already have. And even the most clueless entrepreneur will make money.
- cheez 10y agoDo you actually have the experience to match this statement or is this something you're just imagining based on the stories you hear? For what it's worth: I pal around with a group of entrepreneurs and the #1 factor to success is sustained marketing and advertising.
- throwaway58182 10y agoI wish this was true. Our existing customer base is very pleased with the product. But they don't influence others to purchase. We're a gnat in the loud circus of the market place. The product doesn't market itself because not enough people find out about it.
- z3t4 10y agoWhat are the advantages of your product compared to the others? What are the strengths of your company, and how can you use them? What is the immediate action needed for a step in the right direction?
- 20years 10y agoYes 1000x. Marketing & sales are way harder than coding and I feel it is not focused on enough in discussions about starting a business.
- sixQuarks 10y agoI don't usually toot my own horn, but I'm really good at marketing and wish I could just find a good local designer/developer combo to do a startup with. I'm really tired of working with remote freelancers that don't do exceptional work, or they start off doing good work, then drift off into mediocre work. Admittedly, I'm not good at managing people, I just want to find people that work well on their own.
- cheez 10y agoExample? Ways to reach you?
- sixQuarks 10y agoI don't want to give out URLs and names in a public forum, but I've started several 6-figure online businesses in different segments over the years. The one I'm focusing on now does about $400k/year in profit and I only have to put in about 5 hours per week, I'm basically retired at this point. I'm brimming with ideas - really good ideas, but I don't want to pursue them without dedicated partners. I want to build great products foremost, the money follows naturally. We can talk privately if you think there's an opportunity here.
- cheez 10y agoSure, email me at spencer dot malone dot ca at gmail dot com.
- robinhood 10y agoIt's too bad you don't give URLs though. "Several 6-figure online businesses" / "$400k/year and 5h per week" --> this is the kind of posts that make it look so easy to build this kind of businesses. And honestly, it seems unrealistic and almost bullshit. Why commenting if you don't give out your URLs?