3 ms·
Hi @muonic, this is a great question many people tech founders face. The short answers to your questions are: a) Don't hire someone else to build the "core" of
by nelsonic 6y ago
Hi @muonic, this is a great question many people tech founders face.
The short answers to your questions are:
a) Don't hire someone else to build the "core" of your App; only you know exactly what you want/need. If you have Python skills, build it yourself using the tools you already know (e.g. https://www.djangoproject.com https://www.djangoproject.com ) Deploy it to Google App Engine https://cloud.google.com/appengine https://cloud.google.com/appengine and side-step the DevOps learning curve.
b) Decide which Platform as a Service (PaaS) is right for you given the type of App you are building and learn that after you have a working demo of your App.
Longer explanation:
If you hire someone inexperienced (i.e. "cheap") to build your App, you can almost guarantee that you will need to scrap and rebuild it much sooner. Inexperienced developers will skip fundamental software engineering principals like automated testing, following security best practices or documentation and code-reuse. Build the MVP yourself and then bring someone onto your team once you have a good setup in place and need to add features.
When you are building an "MVP" of an App, you really don't want to be thinking about infrastructure; it's a distraction. Use Heroku, Google App Engine or Firebase to handle everything for you and focus on the features of your App that users will want (and ideally pay for).
As @de6u99er noted, DevOps is not something you can learn in a hurry. There isn't one single book you can read to learn everything you need to know. There are too many unknown-unkowns when you combine creating an App from scratch and thinking about the infra. If you can ask a friend or former work colleague to help you with DevOps after you have built the MVP you will have a much clearer idea of what is required.
You can share an App running on your localhost with people online using a tool like Ngrok see: https://github.com/dwyl/learn-ngrok https://github.com/dwyl/learn-ngrok
And when you are ready to deploy it, ask the Internet how to do it (people on HN are very helpful) and you can learn that specific subset of DevOps.
Write a log of everything you learn e.g: https://github.com/dwyl/learn-devops https://github.com/dwyl/learn-devops so that everyone on your team knows how your system works.
Once you out-grow the manual approach to DevOps, consider automating it.
But right now, DevOps is very much "YAGNI" https://en.wikipedia.org/wiki/You_aren%27t_gonna_need_it https://en.wikipedia.org/wiki/You_aren%27t_gonna_need_it