after reading through a majority of the comments here, there are several camps: lenovo t4xx/t5xx/x1 carbon, dell xps/precision, mbp, razor edge, and 1 mention of hp’s envy.
these are all worthy suggestions, but for me, i develop golang backend applications along with web and mobile frontends, for ios development i have no choice, but mac. i am loathe to learn ximiran (i think this runs on windows and maybe linux, but why even bother with this ide ). but running on mac is not a bad thing, the driver and hardware support is great, i spend most of my time tinkering with my development projects as opposed to drivers, kernels, and system configuration, this is a real win for me.
i always have this philosophy of developing in the same environment as production, at least from the perspective of operating system, so that means ubuntu linux. i have no problem running ubuntu on fusion or virtualbox (free), usually i give them 1g ram and sometimes i have multiple vm’s running at the same time. i have dual boot for win10, but i hardly use windows.
if i develop on mac, typically i use visual code, xcode. i bever use homebrew, that’s just too hacky, i prefer using a linux vm directly.
in terms of hw, i have both the mb (i3/8g/512g ssd), and because i thought the i3 was inferior, i also purchased the mbp 13 (i7/16g/1t ssd), but i found that the i3 could compile golang programs and xcode swift relatively at the same speed. so for the affordability of the mb, i get portability and pretty good perf.
memory and upgradability are issues with all mac laptops, but i think 8g is tolerable. ideally 32g ram would be best, but at that range, power and portability become a tradeoff and at that point, you should seriously be asking yourself why you wouldnt just consider a desktop/workstation/server and go for say 256g memory.
the mb could be had for about 1000-1500 usd, the build is good, i dont have the same ossues with keyboards that others have mentioned because i mostly stay plugged into a large monitor with kb and mouse, there sre rare occassions where i’m truly remote where a monitor is not accessible, but that just means i’m doing some light stuff like ppt, some web dev, or what not.
the macbook is light, good enough for most dev, and probably fits in your price range. get virtualbox and install linux for coding, use mac for everything else, web browsing, watching movies, social apps, photos, accessing all those neat devices without fussing over drivers.
you probably would compare how uch bang for the buck you’d get from a thinkpad versus mb, but mb experience is much greater, i stopped using windows since mac os x first came out, linux has never really been a desktop option because it’s been too much effort, perhaps it’s a lot better now, but running linux as the main os is nerve racking for a laptop, i much prefer a vm, you can run xorg and get full gui experience as well, but typically i use visual code and access my code on linux vm remotely, so my linux vm’s are usually server versions.