Like you, I’ve heard it all.
“The backend has errors and they can’t fix it fast enough.”
“The server is programmed in XXXX and there aren’t many people who know how to work on it.”
“Adding all those features will take a lot of time and effort, so we’ll need extra funding.”
I’ve worked as an independent, international, remote Tech Consultant for startups, for my whole career, counting 15 years now, and during that time we’ve made a lot of progress on the process of building a software product for the mass market. Years ago, you had to do everything by yourself, but now this is hardly necessary, and the people who stick to the view of getting everything done in-house are honestly wasting money.
Let’s review a basic premise: A startup IS a business, en entity that intends to solve its clients problems, in exchange for money, and whose managers believe they can accomplish this for a cost below that which they are charging. Right? Is this correct?
So, unless your startup is in the business of inventing new technology, actually inventing new technology is a waste of your resources, at least when you’re starting out. Maybe when you reach Apple-like cash-flow level, you can open your own R&D department and invent away to your heart’s content, but right now, your first priority in life is to get your product out the door as soon as possible, for as little money as possible, and have it work correctly.
Now, the problem is that, your developers, specially young, talented ones, will try to convince you to go with X o Y super magical *new* system to program this or that feature; well, they do that, because they are programmers, not business managers, ok? They are good at making machines work, but running a company has other considerations besides following glitzy techy trends.
Running a company has other considerations besides following glitzy techy trends
So, instead, I’m going to convince you to use Firebase, by Google.
Firebase is a cloud-database/managed backend geared towards startups and mobile apps. And the reasons why I believe is a solid choice for new products are the following:
- Firestore is not only a nosql database, it’s a complete backend managed system for general purpose development. But, in particular, the nosql db is useful for us, because it allows us to store changing data. A normal RDBMS requires data to be standardized and normalized, whereas Firestore, the Firebase database, allows us to store “documents”, which are unestructured collections of fields. This means that one document can be completely different from the next. For startups, the implication is, that you can have your first customers using feature set A, co-existing in the same data store with your N-th customers using feature set D. As easy as can be.
- Firebase is free to start, and it’s free up to a very high level, then is quite affordable. Nothing to add here, can’t beat free, and well, they’re running a business too, so at some point they need to make money, right?
- It’s MANAGED. I cannot stress enough the importance of this. It’s not your problem to secure or maintain the system, as it would be if you’d roll out your own solution. There are always clever, but inexperienced people, who think they can do a better job at securing/encrypting/managing their own solution. No, unless you’re more capable than the Google’s engineers, in which case why don’t you go and get a job there?
- It auto-scales, meaning, it’s not our problem to plan for capacity, or purchase or roll or sync additional servers, or care for memory or disk. This is all taken care for us. Just this little fact is a huge time and money saver generating benefits over the lifecycle of the product.
- It’s packed with useful features, like managed authentication with different providers, mobile push notifications, analytics, file storage, and others. Any one of these will reduce the development costs significantly, and will make it a lot easier to prevent errors and fixing them when they are found. Not only because the Firebase programming model is accesible, but also, because there is talent out there that we can engage to produce an app with this system.
- It has clients for web, and mobile, so we can develop the user interface we need and share the same backend.
At the end of the day, a startup’s purpose is to serve its clients needs as efficiently as possible, and I think it’s a commonly shared misconception that succesful startups need to have/use the latest and greatest tech trend. No, we don’t. We need to have solid operational processes like every other business in town, and we need to be able to execute those processes at a profit.
Firebase contributes to the company’s profitability by:
- Reducing errors.
- Reducing uncertainty.
- Standardizing development initiatives.
- Outsourcing infrastructure to experts (i.e. Google).
- Giving us flexibility to accommodate design changes, and
- Incrementing programmer productivity with ready-made functionality.
We need to have solid operational processes like every other business in town, and we need to be able to execute those processes at a profit.
So, are you convinced, yet? Take a look at their website:
Firebase is Google's mobile platform that helps you quickly develop high-quality apps and grow your business.
And when you’re done, get in touch with me over at LinkedIn and I’ll be happy to make you a proposal for working together on your product, using Firebase and other tech solutions.
Thanks for reading!
Lead Consultant — SAFT.Industries — The future is what we make of it.