3 ms·
This is a very subjective topic, as each developer has their preferences in tools, editors, etc. Also there needs to be consideration for the local dev enviro
by gamedna 9y ago
This is a very subjective topic, as each developer has their preferences in tools, editors, etc. Also there needs to be consideration for the local dev environment for quick/dirty prototyping and the "official" dev environment for the product or company you are working with.
My personal/local dev environment consists mainly of brew, docker, sublime text, python, golang, ipython, jq, Vagrant/virtualbox, and my git repo of dot files. On a new mac i can be setup in about 2 hours with the majority of the time being spent in downloading or building software in brew.
My work dev environment consists of a series of tagged docker images in a private repo. These are golden masters of what we use in beta/test/prod. Has a continous build and test pipeline that is powered by a CI/CD tool (aka jenkens, circleci, drone.io, etc). Assuming they have credentials and are granted access, new developers can be up to speed w/in 15 mins.
Lastly, I want to share my internal struggle with reducing and optimizing the multi-day dev environment bootstrapping without discounting the inherent value it brings. Shouldn't a new dev run through the bootstrap process manually to gain intimate knowledge about the tools and systems that they will be working with for the next 1-2 years? Just seems like a worthy investment. Honestly, the ramp up the product architecture and code layout will take longer and this remedial task creates an opportunity to get their hands dirty, update outdated wikis, and potentially improve processes based on their experience. As i can see the merit on both sides, the tie breaker for me is team culture.