Hi, I’m a self taught software developer myself.
I think it’s hard work for the brain, but enjoyable. The code is created in brain, not by fingers typing on a keyboard. So brain is under a constant stress. I think the risk of working overtime comes from the fact that it’s very hard to make estimates on how much time it takes to develop a feature. Scheduling is hard because you can’t know how big problems you’re going to face. Experience helps to foresee some problems, but won’t protect from all of them.
The good thing about this field is that in addition to the time required on studying programming, the only thing you need to invest in is a computer, and maybe a commercial code editor software. Most of the programming languages and libraries, at least for web development, are free to use.
Then again, I don’t really know how much time it takes to become a professional programmer who can earn their living from it. I started programming as a teenager, many year before I had to start making my own money, so my goals at the beginning didn’t include the need to make money, so I can’t say anything about how long it will take time to be able to earn money from programming, if you are starting from the scratch. My goals included only to have fun while making small games. Over the time my hunger grew bigger, skills evolved and I started growing my small game projects in a way I could not manage them. I wasn’t able to finish most of the game projects I started, probably due to the lack of planning. It was still fun, but grew up some frustration, as I feel I can’t organise my projects well enough.
Back to the topic again. When I mentioned that the only thing you need to invest money in is a computer (and that you probably already have), I wanted to say that it can come with a risk: you don’t really need an office to do your work. Even if you work in a team, your team mates might be physically far away from you, perhaps even in other countries. That’s something you need to consider when you are choosing the company or client you are going to work with: do you need a social work community who meets face to face? Do you have a vibrant social life during your freetime? Some people are just fine with working remotely by themselves all the time, others need people around them. I’m sure this field has workplaces for both types of workers. Just make sure you have your social back covered.
Any advantages in daily life outside of working? I don’t know. Sure it will teach you how software works in general, but is it beneficial? I think the most benefit can be retrieved from the ability to ease up your daily workflows (be it business or pleasure), if you can. Maybe I grew up with software so tightly that I don’t see all the benefits of knowing how software works in general. I don’t know how most of the software works that I use. Each program is a huge ocean of code where I’m usually not willing to dive in, even if it would be open source. This field is so large, that even after almost 20 years of progamming (hobby + as a work combined), I still know just a tiny, tiny fraction of it.
Maybe someone else can offer more insight about the benefits of this field? For me it’s a huge part of my life, so maybe I’m not seeing the forest from the trees.