Yes the brilliant thing about being a software developer/engineer in the right company (one where you get to do a lot of design & coding and work on new projects rather than just bug fixing) is that you get paid pretty well to do a job you enjoy! Coding is fun! It has a unique combination of creativity and logical problem solving. In fact, it sometimes feels like I've worked a bit of a con - "wow, so I've tricked someone into paying me a good salary to do this?!"
Also, the conditions are usually good. I've always had managers who have shown they valued me and, as I've become more senior, left me to get on with things. Hours are usually flexible as long as you do core hours e.g.10 to 4 - so you can choose to start work at 10 and finish at 6, or start at 8 and finish at 4. In a decent company, your expertise is valued and you're treated with respect. And I've always liked the other people I've work with.
Still, I've now reached a level of seniority where there isn't really a huge scope for promotion. All the routes leading to higher pay will lead to less coding and more meetings/dealing with people/politics and I'd much rather be spending my time coding. And as a senior dev with 14 years experience, I don't really expect to earn a lot more than a senior dev with 7/8 years experience. Meanwhile, I still have 25 years to go until I retire and will I be able to keep up with new technologies until then? I will always have the option of moving into a more management type role, but that's effectively a completely different job.
So if you're looking for a career just to earn a lot of money, software development isn't it. There are other tech roles that would be much easier for a non techie person to get into and end up earning more than a software dev does. (It's just they're not nearly so much fun).