I wanted to share my experience going from 0 to Junior Frontend developer (excuse me if my English is not great, I'm from Spain).
I started here in FreeCodeCamp, it was the first resource that I found and the first that made me consider that it was actually possible to learn a thing or two about coding and making websites by myself, I've always believed in being self-taught, not so much about others actually taking me serious when looking for a job though. After doing part of the Frontend certificate I quickly moved on to other resources to complement my learning. At first just using CodeCademy and FreeCodeCamp, building a lot of little apps of whatever came to mind, I was hooked, I found what I wanted to do in life being 30.
After a while I bought some books, then I started using Udacity, then Treehouse and I just kept on going on a kind of structured path (but also a bit chaotic).
About 6 to 7 months in I started building my portfolio, and when I was happy with it I started looking at what was out there. When I found an offer that I liked, I would not send my CV, simply a well wrote e-mail and a link to my portfolio, I was always honest about me being self-taught and about my Junior level.
Surprisingly, after sending no more than 13 e-mails I got 4 job interviews. In one I was asked to do a project in which I spent two days working 12 to 14 hours a day on it, got no response afterwards. On another I did another project that also took me a lot of work and a lot of learning (they asked for an app and to use unit testing, way above my level but I gave it my best shot, the experience was valuable), they liked the app but yea we both agreed I wasn't ready for that and they changed the advert from Junior to Senior. On my next interview I coded a static landing page next to 10 other candidates, it was my first time coding on a strange computer other than mine, it took me 15 minutes just to get my changes showing on the screen, great experience but didn't get it but these guys encouraged me a lot, saying not to worry about titles, it's all about what can you build and how hungry are you for learning.
So my final interview was very simple, I met a guy for a coffee, he owned a successful company and liked what he saw in my portfolio, what I explained in my mail and thought I'd be a great fit so he said he wanted to hire me. After 3 long weeks in which I declined yet another job offer from one of those e-mails I sent, 2 more meetings and some bureaucracy problems later I just ended my first week in a professional workplace as a Frontend developer. I'm stressed, I have 3 or 4 things going on at any given time, clients ask for the darnest things, I'm lacking sleep, I work all day after I leave my workplace but it feels great.
Word of advice, I'm not sure how it is everywhere else, but in here Wordpress dominates 90% of what we do and all the clients want it. I'm not talking about the easy Wordpress but the "build me a custom theme" Wordpress, I never expected it to be so important and right now is my main focus of learning as it requires a lot of time into it.
That's about it. If you like coding, the web, etc, keep on going, it's possible. My approach was and is always that if on any given day, you learn a hypothetical 1%, that's huge, imagine where you will be in 6 months. I did put about 8 hours a day for months but I went from just having a high school diploma to being a professional Frontend developer (for now :p). Keep on coding.
/* UPDATE */
Closing in to the 2 months mark I'd like to offer a small explanation of how it is on a day to day basis in this line of work as I did wonder myself.
Right now I have 2 main projects that are my background work, these are 2 websites that I get handed by the design team. Working with designers that have some clue about what is possible to do with code is crucial. Not going to lie, when they were showing the design and explaining their dream, I was a bit terrorized, sometimes things seem impossible at first but one of the most rewarding things about this job is sitting down, working on something that you have no idea how to implement, and then making them happen. Creating stuff that works on a daily basis is incredibly rewarding. For example, they wanted a slider done a certain way, I started searching Jquery plugins and at the end I said to myself you know what, it doesn't exists so you just have to make it from scratch and when you do it, it's just great.
When I'm not working on my main website projects I get work from the websites that the company already manages. These are either Wordpress or Prestashop sites. For example, a building company needed to add a new section to their site with interviews and whatnot, so you have to create a custom post type in Wordpress and work with Wordpress theme development and templates. Another company that owns a shop needed to create a press gallery to upload photos of their press presence. Sometimes they would run a promotion and you need to create a banner that sits on top of the site and you need to change the prices of the items which involves working with Woocommerce for example. I do things like these daily, everytime you create a little code snippet that solves a problem for a real client it feels like a victory.
You learn a lot because you have no other than getting out of your comfort zone and making the things that the client ask happen, they don't know or care if a plugin doesn't have a functionality, you just have to create it sometimes. This has been one of the best lessons for me, I have stared at my screen many times thinking "I just can't do this", or "it isn't possible", and then you spend an hour on google, researching, asking on Stackoverflow and whatnot and you learn something new, it is impossible to learn and know everything that this job requires no matter how many courses you take.
I can't wait to see both of my websites live, it really is a privilege to work with a good design team and be able to make these projects a reality.