Starting up is a tough game to play. While figuring out the business is one part of the puzzle, the other is getting the technology right.
It’s indeed a tightrope exercise as you need to balance different requirements, learn to prioritize, and also keep the business goals in mind while building the technology.
When we started, we did not want to build all the services ourselves, even if we had the knowledge. We focussed only on building our core product and picked the extra services off the shelf and got started. The idea was to put in all our collective energies into getting our product right.
You can then build the ‘extra’ services when your core product has scaled. This helps you get to the market quickly.
If deciding what to build is the first step, deciding the right software to build it is the next. We picked Ruby on Rails, a simple and powerful software which has a very good community. Rails helped us set up a solid platform at the very beginning. We are reaping the rewards of our early decision now because we can easily build new products on top of that foundation. We also made a conscious decision to select an open source software as we could read the code and also bank on the community to help us when we had doubts.
Also, when we were starting up, there were many new databases and NoSQLs, but we still decided to go with the relatively older MySQL, as it had a good community and was easy to understand. The idea is to keep your software really simple. Do not make it complex.
It helps you in the long run when your team expands as any new coder can quickly grasp things and you need not spend a lot of time hand-holding them.
These decisions helped us GTM (go-to-market) quickly. The thing about being a startup in a crowded market is -- time is literally money. The quicker your product hits the market, the higher is your chance of making it big.
But do remember, while it is important to be fast when it comes to deployment, it is equally important to be really quick on rolling back features too. You just have no option but to be agile. Imagine that a feature has gone to the market, but something goes wrong. How soon can you roll back the feature? Your roll back should cause the least impact on your customers.
Customers -- that’s the key word. To know what is working and what isn’t, always keep your ear to the ground. Be open to the community and listen to their wants. The community of users need to know that you care about them and take their feedback seriously.
For example, we have a voting feature in our forums. This gives us insights into what features our customers want and we depend heavily on this to set priorities in our product roadmap.
To deliver your product, you also need to choose a reliable public cloud early on. A public cloud brings with it the following advantages:
- Scalability -- You can easily scale depending on your need. You can add, modify, or delete your subscription. A public cloud will get you up and running in no time.
- Security -- It is completely untrue that a private cloud is more secure than public cloud. In fact, public cloud ensures more security innovation, penetration tests, and controlled access.
- Cost -- You pay only for what you use. There is no maintenance cost like a private cloud. You also get to save on electricity as your energy requirements are lesser than a private cloud.
Lastly, always keep security and compliance in mind. You cannot build your product without security ingrained in it. It has to be a core component of your product, it cannot be an after-thought. Your customer’s trust in your product depends on how secure it is. With regulations like GDPR coming in, it is important to keep this in mind while designing your product.
Building a product is not simply coding it. A lot of thought needs to go behind it to make it click. A lot of your success depends on the tech foundation you put in place, because turning back later will cost a lot of loss in time and resources.
These were our lessons. Hopefully these will help you get up and running in no time.
Kiran Darisi is co-Founder and distinguished engineer at Freshworks. He has helped Freshworks scale and enhance its technology. Kiran also mentors the startup ecosystem and is the brains behind events such as SaaS@Scale.