Startups, Think Again: Writing Code Is Not Your Biggest Challenge

Web designers and developers are passionate about what they do. It’s that passion that drives us all to take risk and build amazing things.

But at the same time, that passion sometimes makes us dive into projects heads first and unprepared. And that’s when it hits you <*SMACK*> like the first time I went to take a drivers test without studying; stating on the exam that it’s OK to drive through an orange traffic light “when you’re careful” seemed like a good thing to do at that time. It wasn’t.

Going in unprepared will cost you. Not only will it cost you time and money, if you’re not careful, your sanity will suffer as well.

In this post I’d like to share what me and my partner learned from starting up SolidShops.com (a hosted e-commerce solution aimed specifically at web designers), so that you can avoid the same mistakes we made. If you learn at least one thing from this post that saves you time and hassle in the long run, I promise I’ll never drive through an orange traffic light again.

Writing Code Is The Easy Part

Don’t fool yourself. Building the application is the easy part. You know how to write code and you can design the pages your users need.

It’s amazing to see your mock-ups evolve into a working app. But there’s nothing amazing about having an app that nobody knows about. So stop worrying about features, simple or complex. You’ll be able to code them all. What you really need to focus on is getting users.

Not The M-Word Again?

Ah the M-word: Marketing. We learned rather quickly that marketing is more important than features, especially when just starting out. Even if you have the most amazing application out there, if people don’t know you exist, your diamonds are shining in the dark.

Fortunately for us, we started with a coming soon page with a couple of early screenshots on it and most importantly: an email sign-up form. In the 1.5 years of development (that’s right, 1.5 years, but more on that mistake later) we gathered around 1800 email subscribers.

What we’ve learned is that nothing converts better than a targeted double-opt-in mailing list. Twitter followers are nice, but when someone is following up on 200+ people they just won’t notice you when it matters.

So take note: marketing first, product second. Whatever your marketing strategy is, mind the details and be personal. Everybody likes to know who they’re dealing with.

Be Passionate

Everyone with a job – freelancer or cubicle hero – can relate: spare time is precious. You could do all kinds of things: sleep, watch TV, get some exercise. Still, you are willing to go for it and spend most of your spare time building an application you are passionate about.

Make sure that working on your idea is your true passion, it must be the one thing you love doing in your spare time or you just won’t make it. If you don’t feel like working on something that won’t generate any money in the next six months, you’re better off watching a movie instead. Overnight success is a fairytale, passion and hard work are real.

Too Many Features Are Deadly

Like I said earlier, we had been working on our application for 1.5 years in our spare time before launching and that’s way too long. If you don’t launch something within six months, you’ll have depression creeping up on you before you know it.

Too many features are dangerous, not only for your product, but certainly for your team’s morale. Get something out there quickly and keep iterating based on your users’ feedback. If you can’t launch it in six months, you’ve got too many features planned.

We’ve learned to get things out faster and leaner. Our rhino mascot for example is still just a sketch at this point, but we’ve pushed it out there anyway just to remind us not to wait until something is perfect.

SolidShops Agile Mascotte

One Click Deployment Or No Deployment At All

Once you launch your product you’ll need to be able to update it on a regular basis. Security fixes, new features, … you name it. If you can’t deploy your application to production in one click tops, shit will hit the computer fan sooner or later.

For SolidShops, our automated deployment process consists of at least the following steps:

  • pull code from version control system (we use Subversion)
  • combine all CSS and JS files into one minified file (Yui compressor is great for that)
  • move the latest version of your code to your web server folder
  • make sure file permissions are set securely for your app (we use a shell script for that)
  • put the latest version online while keeping an easy restore point (symbolic links on Linux do the trick just fine)

If you have to do all these tasks by hand, prepare for a ride down. There’s just too many things that can go wrong when a human has to perform all these tasks, going from files that get lost in the process to file permissions that are set incorrectly.

For the technically interested ones among you, we use Phing to automate our deployment combined with Hudson from where we launch or schedule all our deployment and other jobs with no more than one mouse click. Setting all that up requires a serious amount of time, but you’ll kiss your both hands afterwards for doing so.

Find An Exceptional Partner

The best thing that happened to SolidShops is that I’ve found a partner who’s amazing at coding and doing all kinds of technical stuff. On the other hand, he’s unable to come up with a Photoshop design or anything decent looking in the browser but that’s ok, that’s where I come in.

When starting an online business, the key is to find out or know what you are good at and focus on doing those things. Find a partner who’s good at the skills you lack.

Find yourself a great partner, but make sure you’re on the same line before diving into a large scale project. Doing a startup with someone whose long term goals are completely the opposite of yours is like going to a BBQ with a vegetarian, it’s just not natural.

Relax, It’s Only Work

At the end of the day, make sure you are having fun.

On my first job, I worked as an SAP consultant. I hated it, but I drove a wicked BMW for free and had great benefits. I quit that job to start teaching and working in the web field professionally and I couldn’t be happier ever since.

In the end, the only thing that matters is that you do what you love most, no matter what that is.

Free Workshops

Watch one of our expert, full-length teaching videos. Choose from HTML, CSS or WordPress.

Start Learning

Treehouse

Our mission is to bring affordable Technology education to people everywhere, in order to help them achieve their dreams and change the world.

Comments

27 comments on “Startups, Think Again: Writing Code Is Not Your Biggest Challenge

    • He’s providing insight based on his experience; how is that shameless? He needs to talk about his website (which he hardly does beyond the obvious ways so we know who he is and where he’s coming from) to frame his points.

      • Thanks for pointing that out Mark. I can only speak from my own experience and from the things I worked on myself. Apart from that, we are not big players in the market, just regular web developers like 99% of us out there building something we are truly passionate about and sharing those experiences with our peers.

  1. Good timing. I can really relate to this right now. :) I’ve been building, with some breaks for other work, a web application for about 6 or 7 months now. The back end code is nearly there, the front end is close(ish) and I at least know what I’m doing for the design. Too many features – I’ve also ended up pushing a load of nice-to-have things into revision 2…

    I’ve been thinking about marketing for the past few weeks too. I’m lucky in that we already have an established brand in the niche into which the new product will be launched. It’s also something that the community really feels they need, so we’ve managed to pick up about 2300 Facebook fans and 700 emails so far.

    I’ve started reaching out to some of the people who have expressed an interest to ask them what they want from the project. Partly because I genuinely care – I can emphasise features based on feedback – but also because I want to build relationships and hopefully get them to be excited and promote it for me when it launches. Definitely much more to do though…

    I’ll have to look into the deployment things mentioned here – haven’t really thought about that yet.

    Thanks!

    • Hi Andrew, it’s good to hear that I’m not alone :).

      Having an established brand to launch upon is a great advantage. If I were you, I’d get something out there as soon as you can, as only real users will give you the feedback you need to improve your application.

      Don’t hide your features until your product is “perfect”, there’s always something you’ll want to improve or some feature you’ll want to add and you know it :).

      I don’t know the technical background of your application but investing some time in automating deployment will save you a lot of pain afterwards! Get in touch if I can help out.

      Cheers,
      Joris

      • I’m doing my best to get it out there soon. :) It’s a difficult balancing act, though: it’s got to be good enough to make an impact and so people want to go back again / tell others, but not so good that it never gets launched.

        I think a nice approach is that currently epitomised by Apple: there were lots of things the first iPhone didn’t do, but the things it did do it did really well – well enough to get everyone talking about it. Obviously I’m not delusional enough to think this project will have anywhere near that sort of impact, but it would be nice to make a positive first impression. So I’ve been busy culling some features so I can get it out sooner. :)

        And thanks – I’ll probably take you up on your offer soon to learn from your expertise in deployment, and maybe other things too, as you’re further along this path than I am right now.

  2. I have worked on a few projects and we always run into the issue of wanting too many features before launch. If you every want to actually launch you just have to a level of features that you can hit. Once you determine if there is interest or not you can always add more features later. In my opinion it’s better to release a half of a product then no product at all.

  3. Thanks for that post. I’ll be building my store and site over the next month or so. Are there any resources available other than the documentation for the templating language?

    • Hi Frank, have you tried the application yet? To be honest there aren’t many resources you’ll need to get started. Only if you are customizing your store front-end (which we absolutely encourage) you will need the templating language.

      If you feel you need anything else, please let me know on twitter or through email and I’ll take care of it right away. Don’t hesitate to contact me if I can be of any assistance!

  4. Nice article Joris! Most of the points are common sense, but still a lot of people (including myself) need to be reminded about these things in order to stay focused.
    Hope I’ll be able to write an article for this blog too once my latest startup has launched and I can share some of the startup-marketing lessons I learned along the way…

  5. I’d like to add that before you even start coding or marketing, understanding the market and customer needs is essential.

    I see many startups working hard and promoting a product without this ground work in place – setting themselves up for failure.

  6. Thanks! Will try to follow this. The Rhino example was great. And specially the line “but we’ve pushed it out there anyway just to remind us not to wait until something is perfect.”

  7. Great article, thanks for sharing. I wonder how many people are going to spend time to design a mascot that looks like a sketch now, thereby showing they’ve missed the point. ;-) Not many, if they read the article properly, mind you!

    I actually work in the marketing side of a smallish company, and it holds true that a leaner feature-set also makes the marketing–not just development and meeting deadlines–easier!

  8. Nice post. I too realised the power of marketing in the last year. If no-one knows about your awesome product, you’re not going to sell it!

  9. Oh how I love link bait articles that point out the bleeding obvious while doing nothing more than simple seo spamming. I especially love the people who retweet and share everything like a machine and litter the web with nonsense…

  10. This is far from link bait and valuable info for anyone offering an online app. I have take a lot out of this for my project.

    • Hi Oren, besides the obvious online techniques such as SEO and SEM, one thing we computer geeks tend to forget is going out and meeting people in person. Almost every person we meet and show the product becomes an active user of our app. We’ll be arranging a free workshop soon for web designers that want to learn how to quickly build a unique store for their clients. Those things are fun and they tend to work very well, the only downside is that it’s a slow and time consuming way to grow your user base, but that’s ok for us, as long as we get in great clients.

  11. Great article! Thanks a million. I can understand you quit your consulting job ;)
    You talked about making deployment easy. What about development? What kind of framework do you use?

  12. Thanks for your valuable advice. Now i am trying to put the email subscribe page before my online beta app launch