Co-founder and CEO of eteam.io and sapience.io
You don’t have to wade your way through a sea of buzzwords to find the right tech stack for your startup. As you get ready to present your app to an engineer, you also need to think about what technology you’re eventually going to use.
This is the time that founders are most vulnerable to being bamboozled by hype driven development. Ask a ‘hypester’ and you’re bound to hear that the current JS framework of the week is the only option for your startup; ask a programmer’s programmer and you’ll get some moralistic sermon about Elm or Elixir. I’m sure these all have their niche, but I doubt any of them are the best choice for your startup.
I’ve been working on the business side of tech for over a decade, including helping startups develop their MVPs. From this I can say a few simple points that every founder should consider:
That leaves me with both an old standby and a newcomer as my number one recommendation for building an MVP: Ruby on Rails for your backend and browser based apps with React Native for iOS and Android apps. This one-two punch gets you to market faster and cheaper that gives you a powerful set of tools to build a great product.
Ruby on Rails has a strong following among developers. Clear cut best practices make it faster and easier to write and debug code. A robust community means that Rubyists can draw from tons of open source gems to speed up development.
All of this matters to a business beyond the benefits of having happy developers. In cold hard cash, it’s 30–40% faster to develop with Ruby on Rails compared to similar technologies. Developer time is usually the biggest expense when building an MVP, so it goes without saying that reducing this by a third or more is important for bootstrapped startups. Martin Fowler has a detailed comparison of Ruby and the enterprise heavyweights Java and .NET — not surprisingly most PMs said Ruby on Rails was faster to build projects with.
Saving on development costs isn’t just for cash-strapped startups. Established companies also use Ruby on Rails: Basecamp, GitHub, Airbnb and Hulu. So much for the myth that Ruby on Rails doesn’t scale! Rails gets the job done in less time, for less money and keeps your developers happy.
Another way for lean startups to cut down on development costs is using React Native for both Android and iOS apps. You can reuse about 90% of your code when you create Android and iOS apps with React Native. You still get the boost that true native apps bring.
React Native isn’t just for bootstrapped startups looking to bring their first app to the market. Facebook, Instagram, Skype, Uber, Walmart and other big companies use React Native
True mastery of a tool is knowing when that particular tool isn’t the best choice. Hence the old adage that if a hammer is your only tool, everything looks like a nail. Ruby is great, but we also have other tricks up our sleeves when Rails isn’t a good fit.
We have a client with a super high load app that processes millions of requests. Golang was clearly the best choice, so we wrote the app in Go. One of our engineers even devised a scheme to black box test the Go app using Rails.
Other projects required machine learning and advanced data science. Python is a much better fit in this case, so plenty of our projects use Python.
We also inherit projects with legacy code, especially PHP. In most cases it doesn’t make business sense to reinvent the wheel and rewrite the codebase from scratch in Ruby. Most commonly this happens when clients approach us to add new features to their Magento stores. While we advise clients to open new stores in Solidus or Spree, there’s little point in migrating an existing Magento store to either of these platforms.
There’s no harm in exploring other options, but at the end of the day those frameworks deliver more or less the same result. Rails still has the advantage of generally being cheaper and faster to build.
At the end of the day, you’re building a profitable business. Technology is the tool that gets you there, but don’t fall into the trap of technology for the sake of technology. Your end users aren’t going to care whether your tech stack is trendy; all they care about is that your app actually works.
From a business perspective, you need to make sure your tech supports your needs, is maintainable and sustainable both in terms of cost and your expansion plans. That’s why Ruby on Rails on the backend plus iOS and Android apps with React Native is the way to go for most startups.
Originally posted on eTeam’s blog.