Version Control
Quite possibly the most widely used and at the same time least acknowledged technology, version control has saved me from myself more times than I can count. I use Git on a daily basis and still marvel at the capabilities. There's countless ways of learning it, like this Udacity course. Git is the most popular system, and if you get frustrated initially, maybe this will help: from Navin Narra's Tweet
And finally a few articles and opinions about git:
- Git Magic is an accessible page explaining how git works in an engaging manner.
- Why you should stop using git rebase
- Anatomy of a perfect pull request is a great resource on how to do pull requests the right way. I get back to this every so often to remind myself of the best practices.
Perhaps not directly related to version control for day-to-day development, but I highly recommend proper semantic versioning when releasing software.