Hey, beta
I feel you on retraining. I was a practicing Geologist a little over two years ago before pursuing a second bachelors in Information Science. As a currently employed applications developer I can tell you the bread is very satisfying. The stress can be overwhelming at times. I just try to make sure I keep a steady work / life balance.
One of the biggest challenges in this field is you’ll constantly feel like you’re behind. If you ever feel uncomfortable being out of your element, this is not the field for you. If the prospect of doing things daily that you have no experience with excites you, then you’ll enjoy it. The things that most forums and especially codecademy do not impress upon people who are just starting out is just how stressful this occupation can be.
Deployments can be very stressful and working as an engineer on 24/7 production support just plain sucks. I’m sure some companies are better than others, but if you’re working as an engineer, you will likely do regular on-call / production support rotations.
To get to the meat of your options between DS and Front end, those two things really require different ways of thinking in the respective disciplines. A highly successful freelance FE Engineer is likely going to have extensive knowledge in design theory in regards to UI/UX design, usability testing, color theory, Information Architecture (where to put things so people can find them easily)… the list goes on. Those skills are not really related to strong Comp Sci, Mathematics, or statistical prowess, which would make a good Data Scientist.
It sounds like you really just need to take stock of what it is that you’re interested in, and where you can excel. If you suck at math and have no comp sci background, breaking into DS is going to be a rough go… Not impossible, but it will require a lot of work, dedication, discipline (TOM BRADY), you get the idea.
Last point. Sure you can focus on React, but that doesn’t mean work will always be there. This stuff moves quick, and one day React will become the framework that nobody wants to use anymore… just like jQuery. The work that will always be there is what’s cutting edge. This field is iterative (constantly cycling improvements) and technologies move fast. If you’re constantly learning new technologies, then there will always be work for you.
Best of luck,
Ben