We are living in an incredibly time with respect to programming languages; the choices and diversity available are amazing. But it's often difficult to get up and running.
What's your recipe to get from a fresh OS install to the minimum viable development environment to do "real" work (not just a helloworld program) in your favorite language?
(include as much or as little detail as you want)
Primary API server development is in Elixir since it’s just an elegant beast and can handle the vast majority of “pure” business logic.
If I need a database, in-memory store, or anything that can run in Docker I use Docker compose to run it. If it needs a bigger box or something managed in production I’ll just use whatever the hosting provider exposes (e.g. DigitalOcean’s Managed Databases).
Some stuff like bulky user data, random binary files, etc. goes to AWS S3.
Automated tests are developed alongside features and get run with GitLab’s continuous integration. This configuration usually reflects the dependencies that are run in Docker in development, but sometimes for low-impact tests I’ll just have it hit stateless production services.
Documentation gets auto-generated by Elixir’s ExDoc, or whatever language’s mainstream solution. Generating this for production documentation gets handled by GitLab CI of course.
Clients that hit the API are variable based on my needs but I usually make a React + Redux SPA or something in the Unity game engine. Web development is always set up with Gulp so that I can run and forget about whatever Webpack, Sass, and the files are doing underneath, it just updates automagically. Depending on the size of the project I often have multiple clients accessing overlapping subsets of API actions.
If this sounds like what your company is using or wants to use, please feel free to reach out at sam (at) mangane.se (I am in the USA even though the TLD is Swedish).