cdman
Joined 15 years ago
Joined 15 years ago
And, if stuff has to be hosted by third parties for me, I prefer it to be encrypted.
Of course I also dump all of the data about once per week on a NAS, just in case :)
Also, back then, their map tiles loading had a very high failure rate when loading, so I wrote a custom caching proxy to make it tolerable (which had built-in retry and also cached any successful response for a very long time).
Can you please elaborate (as was also asked in a sibling comment) about how comes that the costs are not covered by tickets / sponsors?
I would say the most important learnings were:
- there is lot of "extra stuff" around the product that is somewhat independent of "how complicated the product is". Even a simple CRUD app needs source control, a test suite, (ideally) some automated system for source quality check (like linters, analyzers, formatters, etc), a system for deploying it to a dev / staging / production environment, etc.
- production also needs monitoring (both "is it working" and "is it working within the expected parameters" - for example is it fast enough). Ideally there would also be some alerting around this monitoring so that you don't have to wait for users to complain to find out that something is not working.
- there is a saying of "use boring technologies" (https://boringtechnology.club/), which I 100% subscribe to. That will ensure that there are lots of examples for each aspect of the product you're trying to implement (for example authentication and authorization, creating an admin dashboard, etc).
- In addition I would say "use some managed platform to offload lots of these worries". Yes, it will seem weird to look at the bill at the end of each month and say "why are we paying $Xk each month for Heroku when I can rent a server from Hetzner for less than $100?" - but managing that Hetzner server (and probably more than one server, to make sure that a single hardware failure doesn't take down your entire product), ensuring backups are working, etc would cost more. Optimizing between "buy" vs "build" is a delicate balance.
In the end I think programmers who like to start new projects are a rare bread. I'd be happy to chat about this more (I'm also in Europe). Feel free to reach out to me at cratt[at]grey-panther.net.