I tend to buy the top of the line model when I get a new system and run it into the ground before I replace it, I tend to get about 5-7 years out of a laptop. I generally find that this is more cost effective for me than to replace every 2-3 years a mid-line system.
I tend to need a lot of HP because for one of our clients we use VM's to emulate all kinds of devices that run in a mesh and having the whole topology on a single system reduces a lot of noise when debugging.
My previous two laptops where Dell's and I had a really unhappy experience with them, I got about 3 years out of the first until it died and only about a year out of the second. But the straw that broke the camels back for me with them, is the add a 5v line to their charger, if the laptop does not detect this, it pops the thermal protection API and basically cuts your CPU in half. So if you don't replace their crappy chargers that always seem to burn out, with another official Dell charger, you have to hack the thermal API to get it to actually run proper.
Before that I had Mac Book Pro's I liked them but they have just been too slow in offering large ram capacity laptops, I moved on when they held at 16GB for so long. I lost some love for them when they discontinued the 17 line, I understand it, it was just not a volume seller, but I prefer a 17 inch screen as I work on the road a bit and a second monitor is not an option in those cases. But it was really when I could not virtualize the entire network on 16GB that I moved on.
Most of the gaming laptops have solid builds and last, I tend to look at those systems when I look for a developers system, as there is a large overlap in needs. Also gamers tend to be fairly critical of hardware build quality so most game level laptops are of good build quality.
I don't think you can go wrong with a gaming setup from Sager, MSI, Asus or Acer.
All seem to run linux well after some bios tweeks, like turning off secure boot.
Note: I run a Sager NP9176-G3 with Fedora 30 as my base OS, with VMWare Workstation and a host of other OS's as VM's.