Well, it definitely requires time. To learn some basics, you need about 3 months, maybe less. You can find everything you need in popular SEO blogs and on YouTube. The more advanced concepts will require about 18 months. Keep in mind that during the time that you will learn, Google will change the algorithms, and something that seemed mandatory will change.
To become good at SEO, you'll need at least 12 months. You can only succeed here if you are very persistent and can really learn on your own. Otherwise, you'd better get a job as an intern in some company and listen to local experts while working on some projects, gradually complicating tasks.