Is your organization doing anything to ensure new devs are productive from day one? How do you guys handle local environments for the code you are working on? I am trying to get my company to enable teams to create their own workstation image that contains all the dev tools and local application-related infrastructure needed for that team to be productive. Has anyone done something similar?
Yes, with Docker. If I had to do it for a new project, I’d try nix style using devenv.sh
Have you looked into devcontainers? Could be a good option.
We use tilt right now for running the apps themselves. Haven’t delved into virtualized dev environments yet. We’re a Mac shop so we just have a list of brew commands to run. And for some critical tools they are invoked through docker so no cli install needed.
We have a file that houses the version and everything is done through a Makefile. So on the next main pull people will always invoke the correct version of a build tool.
A docker compose file which contains all the images needed. Sadly automatic setup (as in connecting the services) does not work yet but there is a step by step guide.
We have a custom nix package each for the org, teams, down to the project level that a dev can use to bootstrap what they need from day one with a no-knowledge-about-nix installer.