2000 hours is a baseline, but I would not focus so much on that.
There are a lot of hours in the day, and you can optimize even with having a family and a FT job. You can be learning even when it is not an optimal time to do so.
For example, I have a commute to work and that is about 2H a day, while I cannot code during that time (I have to drive), I can listen to tech podcasts to keep up what’s latest, get myself familiar with tech vocabulary and overall be engaged in the community.
You can also grab a book and read that during you lunch break, again keeping your brain engaged in code and thinking, even subconsciously about coding problems.
The most important part is to have a dedicated, carved out time most days. Be it early in the morning or later after work. Those must be uncompromising, quiet periods of time where you should focus on the goal, actual coding and striving for some goal.
That humongous 2000hour barrier will start melting away faster than you can imagine if you implement structure and utilize time you spend on entertainment, browsing web, etc to learn.