I just recently got a new laptop with Windows 10. I will use it mostly for gaming or simple tasks. However, I am looking to possibly dual boot Ubuntu on it for personal programming purposes (I absolutely hate doing development on Windows and didn't want to buy a Mac just for it). I have a 1TB SSD on this laptop, but since I use it mostly for gaming I don't want to blindly allocate a ton of space for Ubuntu. I have two questions about this:
1) How much space do I need to allocate for the Ubuntu partition if I'm using Ubuntu for development purposes? Related to that, would I be able to basically store all of my files on the drive that isn't partitioned for Ubuntu while just having any packages or tools necessary installed on the Ubuntu partition?
2) Is it possible to instead install Ubuntu on a USB 3.1 drive and when I want to do coding I can boot that and do everything off that? Ideally, to me, this is my preferred solution because then I don't need to use up any of the SSD space on the laptop, but I have no idea if this is feasible.
Thank you in advance for any help you can give!