As an entrepreneur, it’s easy to get caught up in the excitement around your idea. You pour blood, sweat, and tears into your idea, speak to tons of potential customers, and feel you’re really on to something big. Now, all you’ve got to do is build and launch the thing. Easy, right? Not so fast. Which tech stack to use for your project is a key decision that you need to make. But with a bit of forethought, choosing the right stack is doable, even if you’ve never written a line of code in your life, and it pays dividends for years to come.
Mobile vs. web
First, you have to decide whether you want to build a native mobile app or a responsive web app.
Most apps eventually have both mobile and web components. Not all, but most. Note that I’m not asking you to choose between mobile and web; I’m asking you to decide which to do first.
A few years ago, there was a big tendency to build native mobile first. That meant going out and finding iOS and Android developers, and launching an app in the app store for each platform. The problem was, many iOS devs didn’t also know Android, and vice versa. Also, the feedback cycles with Apple and Android are long, so it was difficult to iterate quickly.
So lately there’s a trend toward building a responsive web app first. After all, the screen on a laptop is much bigger than that of a phone, and therefore it’s more forgiving. And it’s easier to make changes and get feedback, since you don’t have to wait for the mobile app store release cycle, which is about two weeks, at best.
In my opinion, building mobile first is a good idea only if there’s a true business value to doing mobile first. One client I worked with had done a ton of research and knew that 90% of their market was on mobile. That’s a pretty strong business reason for building mobile first.
Also of note:
- Performance on phones is slightly better for native mobile apps versus responsive web apps.
- If you are building a mobile game, then you almost certainly should build a native mobile app, because of the performance and speed needs and complexities of gaming.
Once you decide to build mobile or web first, you need to decide which tools and technologies to choose. And don’t worry, once your startup succeeds, you’ll be on your way to being able to afford to build both native mobile and responsive web versions of your product, should you choose to do so.
Choosing a tech stack
Ten years ago, this was much simpler. Now, there are almost too many choices. And unfortunately, I see entrepreneurs choosing the wrong tech stack all the time, and then they pay the price down the road. As an entrepreneur, questions you must know the answer to include:
- Does anyone on your current team know how to code? If yes, which languages do they know and recommend? This is important because the people on your team who can code will be the ones hiring your future team, and if they can’t vet the incoming engineers’ tech chops, that puts you at a disadvantage. So if you have a technical co-founder who loves a particular tech stack, strongly consider using that tech stack.
- Are there any existing platforms, pieces of software, or other integration points that the new project will have to connect with? For example, do you have to integrate with Facebook or Salesforce? If so, choose a tech stack that easily integrates with your other systems.
- Where is your team located? Understanding the hiring ecosystem in your city is key. This is your future talent pool. Using Ruby on Rails as a tech startup in NYC is often a good choice, partly because there are so many Ruby on Rails engineers looking for work at any given time in NYC.
- Does your system need to support high concurrency? High traffic? Is speed critically important?
Once you know the answers to these questions, talk with someone who knows how to write code, and get their opinion on which tech stack you should choose. I’m not going to suggest any here, because six months after I post this blog, any suggestions I make will be out of date. Rather, my advice is to either talk with your technical co-founder or hire a technical advisor, and choose a tech stack that meets your requirements above.
What tech stack do you prefer? Let us know in the comments below. If you want to learn how to hire the right team members for your needs, check out our ebook “How to Hire Agile Team Members: A Checklist.”