I am partial to a dedicated throwaway laptop because I have had the displeasure of accidentally blowing away my VM image’s code files on a roll-back, which is harder to do on bare metal. The biggest lesson learned their was to immediately learn how to use a remote server for code repository and push to dev branches often.
I see what you did there.