For me, the process occurred in three phases:
1. Bootstrapping to the point where I could kinda-sorta read books and kinda-sorta carry on conversations. I personally used Assimil for this, which is excellent if you like learning by osmosis and you can spare 20 to 40 minutes a day for 5 months. Nine out of ten "language learning" apps just encourage you to screw around at this level with minimal progress, but if you just focus and get it done, it should only take a couple hundred hours (assuming you already know a vaguely related language—for an English speaker, French is easier than Japanese).
2. Using the language (as best I could). I read about 2.5 million words and watched about 15 seasons of television shows. This took my comprehension from vague and dodgy to automatic and nearly complete. I also spent many hours speaking, and I wrote a few dozen short texts which I had corrected.
3. Gradual improvement. I speak French every day of my life now, but my rate of improvement has slowed down because I don't currently need to be any better. I mostly talk to the same handful of people. To get better, I'd realistically need to work for a French-speaking company.
[a] I've taken an online statistics course for French speakers, and the language was rarely a problem.
[b] I've had multi-hour technical conversations with French-speaking programmers while debugging code.