This year I had made a promise to myself to make an honest attempt at learning to code. That was sometime in early February. Now December's almost over and besides scrolling through a few pages on W3Schools I haven't got very far. Reading through the experiences of other coding newbies has made me realize that this is quite a packed boat. So many people have so many reasons for falling into these familiar patterns of short bursts of passion followed by quitting. I have come to learn that the biggest de-motivator for me is not having an ambitious goal. While some people are intimidated by setting the bar high, I find that the greater the goal the more committed I am in putting forth an effort to achieve it. This is why I am challenging myself to go from being a beginner web developer to gaining the technical competency of a senior web developer in the span of 6 weeks.
According to Workable a Senior Web Developer is responsible for things like:
- Ensuring all documentation is up to date
- Writing and reviewing code
- Testing and debugging code
- Creating wireframes
- Having extensive knowledge of a particular programming language
Senior developers are also responsible for training and leading junior developers as well as collaborating with other members of a project such as UI/UX designers and mobile developers. All in all quite the responsibility!
Before I get into my expectations for this challenge I want to lay out all the things I'm not aiming for.
Being some sort of expert in all things web development.
One of my biggest regrets of this year was trying to chase after every shiny new technology that would come out only to drop it for a newer and shinier one. The world of web development is constantly expanding and it's impossible (and useless) to try to know anything and everything. Nobody - not even senior web developers - know it all.
Being the same as an actual Senior Web Developer in the field. There's a great part of being a programmer that goes beyond coding. Great programmers have strong people skills that allow them to do high quality work. A part of what makes a senior web developer a "senior" is the responsibility of leading junior or intermediate developers. Since I don't plan on working with any team members or clients (at least within the six weeks), there are many skills that I will need to work on past the six week mark to truly step into the role.
Landing some cushy six figure job at Google or any other FAANG company. In fact, I'm not aiming for a job at all. I want to complete this challenge as a way to prove to myself that I can accomplish things - great things - through effort and consistency.
My game plan for this whole thing is to stick to a few good quality resources. I've decided to focus on two Udemy courses that I feel would provide the best bang for my buck: The Web Developer Bootcamp by Colt Steele and The Complete Junior to Senior Web Developer Roadmap by Andrei Neagoie. Both of these courses are among the most reviewed and highest rated courses on the platform.
I do not have any sort of affiliation with Colt Steele, Andrei Neagoie, and/or Udemy. These are resources that I genuinely decided would be the best for my goals.
This 37 hour course is designed to take a junior web developer and turn them into a senior web developer. It focuses on things like performance, testing, and security as well as deployment and working with the "cloud".
The challenge will start from the 19th of December, 2020 and end on the 29th of January, 2021: a total of 42 days. Since the courses make up a total of 100 hours, I expect to put in at least 300 hours of work over the 6 weeks (2 hours of practice or homework for every hour of tutorial). This works out to about 7 hours a day.
By the end of the challenge I want to have created 3 apps. The first is a portfolio website where I can showcase my work. The second is a chat application where users can get real-time help with something like homework. This app will ideally be able to support multiple types of data such as text, images, and video. The final - and most ambitious - project is a clone of Twitter. Of all the major social media sites, Twitter stands out for me as having the greatest features as well as user experience. The app was originally built with Ruby on Rails but made a recent change to React. Both of the courses I will be taking have a focus on React so I hope I will have gained the technical capabilities to take on such a project.
A lot could go wrong over the next six weeks and I may not get the results that I am hoping for but I will be proud of myself as long as I stick through it until the end!