Key takeaways
- Your choice of software platform depends on what type of product you're creating;
- Developers are often loyal to platforms they know. Usually, it's best to go with the one your team is most familiar with.
Off the shelf or custom?
Depending on the type of your product, you may have more or less options to choose from. For example, if your product is eCommerce oriented, there are lots of existing solutions you can use to boost your time to market. Products like Shopify, Squarespace or Magento can help you create a basic eCommerce site in a few days with a trade-off on flexibility, customisation and usually price. Similarly, if you want to build a simple content-driven site, you may want to explore Wordpress, a very popular Content Management System with a remarkable community. If your product domain is not very common, or if you want full control over every detail you may have to build your product from an (almost) blank slate. This approach usually takes more time, involves building a team, using an external agency or freelancer and opens a whole new set of options.
Team
If you already have a team, the best choice is to pick whatever technology your team is familiar with. Mastering a new technology takes lots of time and effort, so unless you have a very specific reason to use a specific language, it’s best to use whatever your team is most familiar with.
Product domain
Depending on the domain of your product, you may want to evaluate different languages and ecosystems. If you’re building a scientific analysis product, you should consider Python because of its precise math libraries and ability to work nicely with the distributed processing framework Hadoop. If you’re building an enterprise B2B application, you may want to explore Java because of its enterprise level security.
Mobile
If you’re building a mobile-oriented product, your options are more limited so the decision gets slightly easier. Assuming that you’ve already chosen the platform you’re targeting (usually iOS, Android or both), you only have to decide whether you’re going to use the platform’s native language or use a hybrid approach. We always encourage our startups to use each platform’s native language, as it’s the only way to get the best performance and user experience on each platform. If you’re targeting both platforms it’s worth exploring the hybrid approach, as it’s usually faster to build a prototype that supports multiple platforms with a trade-off on performance and UX. If you talk to a few developers you’ll get conflicting answers. Programming languages tend to be a hot potato, and most of the time it doesn’t really make a difference, especially in the very early stages of a product. Ultimately, as long as the software platform stays out of the product's way, it doesn’t really matter which language or platform you pick.