The timeframe will depend on you. How much time you are willing to put in will be the determining factor. I took a full year off of work and started learning coding. Data science has quite a bit to do with statistics. It's more about understanding what you are looking for in data and being able to get the output that you want through your code. I tried a bunch of different courses but the best one was Datacamp. It's not an easy one, but it will get you going in the right direction. Another good source is Codecademy. I liked the way they taught how to build machine learning algorithms.
Courses are good, but true learning will start when you get on Kaggle and start playing around with datasets from there. Read other people's code and how they approach problems, then tweak it your way until you complete a few projects. Getting really good will only happen with practice and not courses. Data visualization is pretty trendy nowadays.
From what I'm seeing and hearing, Flask is the one to know. It's not really even that complicated once you get a hang of python. Python has become one of the most popular, if not the most popular programming languages. If you look at job posts a lot of companies post let's say Java job, but then add that Python is good too. Or they will post R for data science or analytics, but will say that Python is good too or even preferred. I like python because it has a library for pretty much anything lol..
I'm not familiar with node.js so can't really comment on that. Keep in mind that I'm fairly new to this as well and have been focusing on python, SQL and a bit of Javascript but not much. Oh, you should really get to learning SQL... It's simple but can make your job easier if you are querying databases with Python.