The best single piece of advice that I give to anyone thinking about becoming a developer/programmer is start.
There are only three things you need to become a great developer/programmer; time, grit and an internet connection. You don’t need to be rich, or even super smart. There are tons of resources, guides, tutorials, tools, examples out there, it just takes time to find them, and grit to stick with it to get the experience. You say by 2021 you want to be a web developer and that is possible, but not easy. Its not like there is only a set amount of stuff to learn, there is more new stuff to learn every day, there always will be. 1 year is just not much time to start out, learn what you don’t know, learn what you do know you need to know, find, and apply for jobs. Plus by next year there will probably some new things you need to learn. Learning and being a developer is a continual learning process.
Bootcamps are great at giving you information on what is out there, how things work, and what there is to learn, but bootcamps, tutorials, guides, etc don’t “give you experience”. You need to take what you learned from those resources and apply them yourself. You need to go out and build stuff. You will probably run into issues here and there, and have to solve then. The act of figuring out your own problems is the key experience you need to be a good developer.
There isn’t some magical checklist of things you need to become a developer. You could learn everything, but not everything is made equal, as it depends on what you plan on doing. If you plan on being a front-end web developer, then front-end skills and experience is where you should focus most of your time. HTML, CSS, and JS are all important, as are picking up one of the front-end frameworks (Angular, React, VueJS). Due to the nature of the web, all of these technologies are susceptible to change, and thus require a lot of time and devotion to keeping up with browser versions and web technologies.
There isn’t really such a thing as a certificate that gives automatically gives you a well paying job, and anything close to something like that would probably cost some big $. cough college degree cough
If your goal is to get a job, then focus your efforts on getting a job and gaining the experience and knowledge required to do that job.
Go out and look at the jobs you want to apply to and see what they require. Odds are 1 year experience isn’t enough for most jobs, but everything else isn’t “experience” based. Employers are willing to overlook less experience if you show promise in your ability to learn and do the job, so being able to “prove” you already can do the job is usually the best bet.
For example, if your applying to a front-end web job using React, and you already built multiple front-end web apps (maybe even with some basic back-end) all in 1 year of starting out, you’d impress most employers willing to look at your application. (some wont let you through due to automatic screening unfortunately)
Finally I want to point out that there is no replacement for experience. No amount of tutorials, books, bootcamps replace what you can learn by pounding your head against a problem and failing over and over. Experience is experience, and failure is the best teacher. You will get stuck and have to find help, find answers and work a problem. It might take days to figure something out, or pure trial and error, or reading article and article for help. But that is the experience that is valued and what comes in handy when you run into the issue in the future. Fail 500 times and you learn 500 new things.
Being a developer isn’t easy, its actually kinda hard, but anyone can do it. As I said at the start, you only need time, grit and an internet connection to get started, get good and get the job!