I started to learn Japanese when I was in college and got my JLPT N1 (highest proficiency grade you can get in Japanese) after 2 years and a few months.
I've spent half of these 2 years studying in my university in France. Let me describe a few resources and methods that I've used to acquire the fluency but also resources that help me pass the test.
The starting point is the basic Minna no Nihongo manual textbook, but I guess this can be easily covered by using application like Duolingo or anything else. The aim here is to get the first exposure to the language itself and some basic grammar points.
In parallel, I used Anki with the Heisig's Remembering the Kanji book (RTK), if you find this article via Google search, I'm sure you've heard about this book. Otherwise, there are around ~2000 characters in Japanese (originally from Chinese) used officially (常用漢字 Jouyou Kanji) and around ~1300 used on a daily basis. You can look up about how the Heisig's method works online, I'm just gonna dive into the details about my own experience.
After around 3 months (20 new Kanjis everyday, 100 revisions, so after ~100 days), I completed the deck. Then I keep review those kanjis for another extra month just to keep things stick.
In particular, when I was doing the deck, I didn't pay attention on how to read those characters, but purely focusing on the meaning of each character.
After completing the extra one month, I jump right into the JLPT Anki flashcard decks, everyday 50 new words and 100 revisions, and after a while increased to 100 new words a day while reviewing 100 words. It took me around one hour or sometime one hour and half spread during the day, so it doesn't feel like a lot a work, but it actually was. I was just trying to squeeze a short Anki session whenever I have a few spare minutes (waiting the bus, commuting...).
I rarely skipped a day without doing Anki given that you will pay the price after, since reviewing 2 days worth of words are so exhausting.
The point here is: SRS (Space Repetition System) actually works and is the fastest way to absorb a huge amount of new information (words/vocabulary here) in the shortest time possible.
My university in France gave me the opportunity to do an exchange year in Japan, Kobe (actually I chose this university because it allows such an exchange!).
This is where the really game started: from Year 1, I got the necessary passive Japanese knowledge thanks to Anki, but when it comes to speak, I was like advanced beginner. A lot of struggle to get myself understood, and the words don't come naturally.
But, I realized that I could recognize words or entire sentences (not just the characters) and could actually read them out loud! Those moments were really rewarding since at the beginning Japanese sentences and words look all the same to me and I have no clue what they mean.
The endless Anki sessions paid off (I still do the JLPT decks at that time), so now I have to focus on the speaking and the listening part of the languages.
Three months after I joined the exchange university program, I took and passed the JLPT N2 in December 2015. Prior to the exam, I only studied (in addition to some Japanese classes I took at the university) on my own using the Kanzen Master (完全マスター) book series (bought only the Grammar, Reading ones) and watching a YouTube channel called Nihongonomori.
I also added the JLPT N2 Grammar Anki deck, so I can review them in a SRS way.
The test was doable and I got something like ~70% of the total score.
So right after passing the JLPT N2, I took like a week off studying. After that, I decided to buy the same books from the Kanzen Master series, but for N1 version, added to the Grammar and Reading, the Vocabulary book, and the JLPT N1 Grammar Anki deck.
Six months later, I took the summer session of the JLPT N1 in July 2016 and.... failed. The overall passing mark was 100/180 and I got 89/180. Grammar and Reading were the parts that I scored the lowest.
I was so close but wasn't that disappointed because this gives me the chance to perfect my understanding of the language in a much more relax way while preparing for the next session.
Okay so after failing the test, I didn't study for the sake of passing the exam until a few weeks before the exam by studying with above cited resources, and decided to focus much more on the Reading part (learn how to read faster) and the Grammar (review all the grammar patterns in the book with the Nihongonomori YouTube channel because studying from books is a little bit exhausting and demanding.
So I took and got the JLPT N1 in December 2016 with... 102/180. Damn, it was so close, but in the opposite way 😂
Here are some additional information:
According to Wikipedia, the study hours required to obtain without prior Kanji knowledge is:
4800 hours is like 600 days with 8 hours of study a day!
Of course, my major was Computer Science and not Japanese Language, so I really have to make time to study. Also, I had a few hours a week for Japanese classes at my university, so that also helped.
Cramming textbooks and Anki was just the visible part of the iceberg...
Passing the exam isn't all, my goal from the very beginning wasn't just to pass the N1, but to become fluent and to get as close as possible to the native level (including accent, being eble to speak naturally at the same pace as native).
So during these 2 Years, not only I studied to pass the exam but I also work on my speaking, listening and writing skills (there is no speaking test in the JLPT).
In parallel, here are a few things that I did almost everyday during these two years:
Simple right? There are only 4 areas in learning a language, I just worked my ass out in each one of these areas to become fluent, and you should too if you want to reach the (close to) native level of proficiency in a short period of time.
I can humbly say that I reach a good level a proficiency given that my current full-time job is to train Japanese clients from big corporates on how to use a wide range of technologies, basically deliver presentations and speaking Japanese the whole day.
That one thing is OBSESSION.
Yep, it doesn't matter much the types of textbooks you use, the apps you use, the expensive private class you attend, the kind of language type you want to master (casual, formal, polite form...), the score you want to get at the exams, the languages gurus on the internet you listen to...
The only thing that matters is that you are sooooooo obsessed with absorbing as much Japanese as you want on a daily basis, every single tiny opportunity you have to learn or practice Japanese, you will do it!
Forget your own native language and instead change and surround your environment that enables you to pick new words everyday, learn as much as you can about the culture.
If you learn Japanese, eat Japanese, sleep Japanese, breathe Japanese. I'd rather not play a game or watch some TV shows if it wasn't in Japanese version or with Japanese subtitle.
Of course, don't get me wrong, being immersed in the country helps tremendously, but you still can reach some level of proficiency even by living in your own country.
One thing that can help is to use social language exchange like to chat with native people, like SewaYou!
Good luck and have fun in this journey!