Reason: (i) no kids (ii) I don't need anything other than phones and Macbooks and some shoes (iii) no expensive cars/houses to maintain (iv) high income (but not out of the ordinary for Eng).
More generally: earn money in high pay cities and live frugally (London, Dubai), spend money in low cost cities (Budapest). Works like a charm.
Rents in London are prohibitively expensive. Did you share a place?
In Toronto my min-expenses swallow 50% of my salary.
how? are you working remote in a low cost of living area, while getting a high wage?
* Max ESPP, max 401k, max Roth. No excuse for not doing these if they're available to you.
* No debt. Paid off student loans ASAP after college, which were not huge, but I also lived on scraps in college, lived in cheap dumps and worked during the summers and holiday breaks to make ends meet.
* Very moderate living expenses. Seattle area. Our rent is $1700. My share is $950 and my fiance pays the difference. Got lucky with the place, but we also don't live in a sexy neighborhood and my fiance is a bargain hunter.
* Excellent compensation package, although not out of band for my experience level.
My timeline is 5-10 years to be safe (age ~40). However, I get satisfaction out of creating and delivering software, beyond collecting a paycheck and don't have any intention to stop working - just not as a wage slave once I've reached my number.
I am hard-pressed to think of mistakes that software engineers would make that people in other professions don't make - there are the usual things like buying too much house, too much car or letting someone else spend your money. Perhaps the only unique-ish mistake would be to assume the large salaries will last forever and not save for contingencies. My impression of people in finance is that they know they're worked like dogs, so they are trying to get out as soon as possible. Tech is so cushy that people can get lulled into forgetting that there's more to life than foosball and free lunch.