You could do your programming theoretically on any laptop, although I’d say faster the better/easier it’ll be for you in the long run. In regard to your comment on upgradability I’d recommend taking a look at a Framework laptop where their whole goal is repairability which comes with the added benefit of being upgradable.
How much space do you think you’ll need? What type of redundancy systems are you planning to put into place, or even still do you plan to put any redundancy systems in place? Is there a specific reason you’d like to go with an external hard drive over setting up an internal raid array of some sort? Was your plan simply to just have an external drive plugged into your pc through USB or USB-C?
I think these would be my main questions before I could feel comfortable pointing you in any directing, since naming a brand name or specific drive while efficient probably wouldn’t be good for you in the long run.
As someone else has pointed out, it really depends on your use case. Although I personally keep my drives (SSD & HDD) in a redundant RAID configuration as my data is largely mission-critical.