Building a business is a serious feat. You may frequently feel like you are being pulled in 12 different directions, and this can be especially true when your business is built around a software product.
Custom SaaS products, mobile apps and enterprise solutions all come with serious technical pieces. And, most of the time, your main focus isn’t going to be on building the product. You are likely focused on growing the business, leading your team and road mapping the next steps. This is the reason that after just a year or two of managing a successful product, founders feel disconnected from the technology. As a founder, there are a few major technical items you should always understand. And making the right technical decisions that impact and improve your product can help you pivot, better engage your team and connect with your users.
Your core tech stack
The core tech stack of your product is crucial to understanding how changes in technology could affect the business. A ‘tech stack’ is the collection of technology tools used to build and run your application. At it’s simplest, it includes programming languages, technologies managing the data and major frameworks.
Items to pay attention to:
- Source Control: Where is the development team storing the project’s code?
- Front-End Tech: Understand the frameworks used for the project. Are they well supported by a community of developers?
- Back-End Tech: Is your backend scalable? Technical decisions made here are important for scaling your application.
- Database: Most data in your app is going to flow through the database; it’s important to consider speed and security.
Traditionally, an application’s backend, or API, is the code that executes on a server. This server acts as the center-hub or brain of your product. This adds a layer of complexity to development and scalability. You would need hardware to back and operate the code for all of your business logic, your database and more.
Since 2014, serverless solutions and platform as a service (PaaS) technologies have been gaining popularity. Now, many applications have major components that are entirely cloud-based. This comes with the benefit of not needing your own hardware. PaaS allows you to focus on the business logic of the application while the provider handles all the growing pains that come with scale.
The major players in this space are:
Each provider comes with pros and cons and ultimately, similar services. Consult with your development team to determine which is the best fit.
Am I Reinventing the wheel?
When assessing new features to build into your product, you may run across something that has already been done before. Let’s say you built a social media app for sports enthusiasts and want to add live streaming. Instead of doing custom development for streaming, you could look at integrating with an existing product.
These 3rd-party integrations are extremely popular in development. They make a major impact on project cost savings. Your application or product can interface with these services through an API, giving you access to their data or service. The biggest drawback of this approach, however, is building a dependency on that service provider. If their streaming service ever stops working, it probably won’t work in your product either. Always try to build out the core functionalities of your product, and rely on 3rd parties when necessary for extra features.
Security and Data
When handling transactions or private user data, there are strict policies in place. Managing and understanding these policies can be a daunting task. Depending on your product and the nature of the data you are handling, the security concerns can vary. Working alongside professionals to make sure you are compliant in these areas is crucial. This is another major upside to utilizing PaaS and IaaS providers like Azure or AWS. Security measures can be easily configured on any of their resources to simplify the process for your technical team.
It can be overwhelming trying to keep up with all of the moving pieces of a technical product. So try to focus on the above to make sure you have the fundamental understanding. As for the rest? Make sure to work with a development team you trust that has your best interests in mind.
Special thanks to our guest contributor: Evan Marsh, WynHouse Software