Most Common Technical Questions for Early-Stage Startups

A lot of people like to pick my brain on technical things related to early stage startups, e.g., what framework to use, how long will it take to build an app or a website, should I hire or outsource. I decided to organize my answers to the most common technical questions in this post:

A lot of people like to pick my brain on technical things related to early stage startups, e.g., what framework to use, how long will it take to build an app or a website, should I hire or outsource. I decided to organize my answers to the most common technical questions in this post:

  • Don’t outsource your core product. Outsourcing to a digital agency is the best way to spend your money fast and usually fruitlessly.
  • Use frameworks, don’t write trivial things like URL parsers from scratch.
  • Use available solutions to your none-core components. Things like: CMS, blog, analytics, landing page, forum, version-control, bug-tracking/customer feedback, project management, etc.
  • Use PaaS or IaaS. Don’t use IaaS unless you really need to, for example when PaaS becomes cost prohibitive;
  • Make mobile your first initiative, if and when it makes sense for your business; don’t even build a website if mobile app is your bread and butter!
  • Code snippet: Learn Programming
    Code Snippet: Learn Programming
  • Use social connect APIs for smooth user on-boarding, most of your early adopter probably have at least Facebook or Twitter accounts; don’t make them type their emails and remember passwords.
  • Use the most appropriate programming language don’t rely on your geeky “guru” friend’s advice that programming language is a matter of personal preference, to go with PHP, or that Ruby on Rails and Node.js are just a fads.
  • Don’t over-rely on remote developers. It often leads to miscommunication; your teams will work longer, will have to spend more time and money; also, not everybody is disciplined well enough to work remotely without social interaction and direct supervision.
  • Don’t over-rely on part-time developers. It will take longer to execute, the code will be less efficient due to distractions and as a result harder to maintain and more expensive to run in the future.
  • Learn programming. Business co-founders without any programming knowledge will have a hard time understanding trade-off in features and available resources; expect longer sprint meetings and leap of trust between technical and business people.
  • Don’t have more that one language for your core-product on a prototype stage because code is not an asset, but a liability and maintaining fragmented codebase could lead to a disaster.
  • Start from scratch for your core-product or refactor your code often if you or your team are still learning a language or a framework; the longer you keep old spaghetti code the harder it will be to come back to fix it later.
  • Use Test-Driven Development and Pair-Programming.
  • Use peers and mentors help/feedback from fellow founders, programmer friends on meet-ups and at the office.
  • Involve developers in customer development process. Tech people just love to build things for the sake of building something complicated. It’s so hard to practice Lean Startup methodology, because you need a lot of self-discipline. And it’s just so tempting to go to your basement for 6 months, into your hacker/coding nirvana mode, instead of doing endless customer interview, landing pages, mock-ups, paper prototypes and face website! The problem is that you’ll usually end up with another useless app or website. I had similar a phat startup experience with what later became open-sourced project http://openList.co.

Best of the web goodies for agile web development, startups and Lean Startup startups:

If you like this post and want to lean more about building your web or mobile app using the latest tech and agile practices check out my new book on how to take your idea to a prototype with JavaScript, Node.js and MongoDB — Rapid Prototyping with JS.

LaunchRock vs KickoffLabs

KickoffLabs is a winner, in my humble opinion. I picked KickoffLabs for my Rapid Prototyping with JS book’s landing page because KickoffLabs offers more functionality than LaunchRock does. Although LaunchRock has better user interface interface and less clunky user experience.

UPDATE: KickoffLabs team kindly gave me one month worth of their service as a token of appreciation for spreading the word about them, I don’t think this in any way affected my review.

Tl;Dr

KickoffLabs is a winner, in my humble opinion. I picked KickoffLabs for my Rapid Prototyping with JS book’s landing page because KickoffLabs offers more functionality than LaunchRock does. Although LaunchRock has better user interface interface and less clunky user experience.

If you’re still bulging your own landing pages for whatever you’re launching, e.g., books, startups, apps, stop right now! Yes, I know, it’s not a big deal to throw together some PHP or Ruby on Rails, hook up email sign-up form and Google Analytics, and maybe even tinker with the design a little bit. Landing pages are all trivial but could be very time consuming especially if you’re a product perfectionist like I am. Lean Startup teaches us not to spend 10–40 hours putting together a landing page if there are solutions like LaunchRock, KickoffLabs and Unbounce!

LaunchRock

LaunchRock has seamless UI/UX
LaunchRock has seamless UI/UX

I’ve tried LaunchRock before they had a new design and multiple-site support, which is sadly unavailable for existing accounts, for CrowdSFX.

Pros:

  • easy step-by-step set-up and configuration;
  • user friendly design with live preview;
  • no hard selling.

Cons:

  • limited functionality and configuration;
  • no multiple-site supports for existing users.

KickoffLabs

KickoffLabs Dashboard is somewhat clunky
KickoffLabs Dashboard is somewhat clunky

Because I couldn’t set up new landing page with the existing account and I didn’t want to mess up with Google App setting up a separate email account for Rapid Prototyping with JS book website, I decided to try out KickoffLabs. I’ve heard about KickoffLabs from my designer friend, and she said that it had more features than LaunchRock, that’s even better I thought!

Setting up a landing page on KickoffLabs has started all right, but soon I realized that in order to get anything decent out of KickoffLabs service I needed to upgrade to a paid account. I went with the basic paid account which is $29/mo and got Google Analytics support, custom domain, no branding and something else. Google Analytics and custom domains are provided for free at LaunchRock, so it was sad to discover that I have to pay for those features at KickoffLabs.

Pros:

  • more features than LaunchRock;
  • easily customizable looks and feel;
  • free themes;
  • support multiple-sites.

Cons:

  • try to hard up-sell you on basic features like Google Analytics and custom domains (SRSLY?!);
  • some themes rely heavily on Twitter Bootstrap look and feel;
  • clunky user interface, easy to get lose in screens and menus.

In the end, I ended up using paid KickoffLabs account, for Rapid Prototyping with JS book with the unpaid old version of LaunchRock, for CrowdSFX project. Maybe I’ll try Unbounce next and write about it as well. No matter what service you choice to go with, just do NOT do your landing pages from scratch, or Gods of the Lean Startup movement will punish you! JK.

Follow up read on The Next Web — KickoffLabs beats LaunchRock out of the gate, throwing stones on the way.

PS: Scott Watermasysk, the founder of KickoffLabs, promised me a free month of service for this blog post. Let’s see if he keeps his promises :)