How To Choose The Best Tech Stack For Your Startup

Choosing a tech stack can be a tough decision as it’s one of the most crucial factors in a startup’s success. Remember that a good software is a good software, no matter if it’s implemented in JS, PHP, Python, Ruby or any other programming language. In other words, it’s better to have a PHP software that is well implemented, than a not-so-well-implemented Ruby software with poor architecture and security holes. As a polyglot software engineer and a startup co-founder here’s the best advice I can give:

  1. Your Technical Team – Which programming language is your tech team or developer most familiar with? In most cases, this would be the best stack to go with. For example, if your technical team consists of 3 PHP developers and your startup is a, say, SaaS, then go with PHP (I think Laravel is the best).
  2. The Type of Software РDo your homework and make sure you understand what kind of software you need. Is it only a website or a mobile app? Is it a cross-platform (web + IOS + Android) application? Or, maybe you need a desktop application.. (In case you do, I strongly encourage to consider Electron).
  3. Fast PrototypingRuby on Rails & Django Python Framework are considered one of the best frameworks for fast prototyping. You can literally get a full registration system with multiple entities (user, profile, post, comment, like) in less than a day!
  4. Fast ComputationsPython is so far the best language for jobs that require computations. It’s best for AI & Machine Learning and not only. Python has great frameworks, such as Django and Flask. Flask is a micro-framework: it provides less functionality but more flexibility. Unlike Flask, Django is more heavy: it provides lots of cool features and tools out of the box and is ideal for fast prototyping.
  5. Real Time CommunicationNode.js, or just Node, shines when it comes to real time software (e.g. live chats).
  6. Mobile Apps? – If your startup needs mostly mobile presence, then you will need to choose Mobile app development stacks. For Android, it would be Java or Kotlin, a new Android programming language. For IOS, it’s either Swift or Obective-C. I personally prefer developing mobile apps in React Native. It allows developers to make mobile apps in Javascript, and share as much as 80% of the code between the two platforms.

Which one do you use and why?