When I just started, I was blank on web development technologies. I had worked with Android Studio in the past, but web development was a whole new foreign territory. I had to start from scratch. As you may guess, I began with HTML and CSS. Later on, I moved to JavaScript. I found reading tutorials and watching videos an inefficient method of learning. I wanted a more interactive and practical method of learning. I therefore used:
FreeCodeCamp: I enjoy the freeCodeCamp curriculum a lot. It’s tailored for the absolute beginner and gradually progresses to more advanced topics. The practical projects at the end are really helpful. I stuck to learning only the HTML, CSS, and JS lessons there. Codecademy: Even the free version of Codecademy will help a whole lot. If you can afford to go Pro, then go ahead. You’ll get hooked up with lessons, projects, and quizzes. The clean Codecademy interface is an added bonus too.
It took me about 2 months to master the basics of HTML5, CSS3 and JavaScript. On average, I think I coded about 7 hours a day. Coding, like any skill, gets better with practice. There was no time to become lax and stop there. I had to start building actual projects. I found freeCodeCamp’s projects helpful. I was tasked to build stuff like a tribute page, product landing page, a survey, a personal portfolio among others. And thus, my journey as a frontend web developer begun. I love online playgrounds, mostly for the ability to live-preview code as well as gain access to a database of code snippets, which serve as inspiration. My playground of choice was, and still is, Codepen. For the next month, I used the platform to create about four projects, using only HTML and CSS. My knowledge of JavaScript was still very low, so I avoid it. Here, I put in all I’ve learned in HTML and CSS. This moment made me realize that I do not know much. I had to google the most basic things, especially when involving CSS syntax. It was a struggle to make responsive pages using pure CSS. I found myself on StackOverflow on average five times a day. I also navigated through the ‘pens’ of other Codepen users, as a source of inspiration. Also read: 5 Best Online Front-end Web Development Playgrounds By the time I was done with creating four basic one-page sites, my HTML and CSS skills had improved. Most people underestimate the power of these two technologies. As a front-end web developer, I appreciate their power a lot. When mastered, they can do impressive stuff. I still didn’t know much about JavaScript. Sure, I had gone through the entire syntax, but I still couldn’t build anything with JavaScript. Was I ready for a job? Probably not. But that didn’t stop me from trying. The mistake many make is trying to be perfect at everything. Most often, aspiring web developers wait until they have mastered everything, before trying to get a job. I didn’t use this approach. I would agree I didn’t know much, but I believed my knowledge so far will suffice. I refrained from visiting freelance sites like Fiverr or Upwork. I made good use of Facebook by messaging a guy who owned a software company and showed him the projects I’ve done so far. He was impressed, to my greatest surprise. About a week later, I got a job offer. I would emphasize the purpose of good networking. In a digital world with numerous social media platforms, meeting people is easier than ever. Befriend people with similar interests, and those who have something to offer. Being introverted myself, I would agree that being social is hard, but there comes a time where I have to put aside my fears and contact people, just for the greater good. The first job was hard, I’ll admit. Like I’ve earlier mentioned, I didn’t know much. As a requirement of the job, I had to know the Bootstrap framework. I hadn’t used Bootstrap before. Thankfully, it wasn’t complicated, and I read through a Bootstrap manual and created a sample page using Bootstrap as practice. Done in one day. The job involved replicating a bunch of Photoshop-designed pages with code. It required HTML, CSS (a whole lot of it), and a little bit of JavaScript. I had to learn JQuery as well. While doing this job, I had to google a lot of things and go through a lot of other code snippets. In the end, I knew a whole lot more than I knew before beginning. In fact, working on a real client’s project forced me to learn/apply a lot of new things, which I would have been too lazy to do if I wasn’t get paid for it. Once I was done with this job, I could call myself a “front-end junior web developer”. The journey doesn’t stop there. As I strive for the “full stack developer” title, there’s still a lot more that should be learned. If you aim for this title as well, consider this list of technologies you should know:
HTML CSS JavaScript General-purpose backend programming language (Ruby, Python, PHP, etc) A relational database system (PostgreSQL, MySQL, Oracle, etc) Web server (Nginx, Apache, etc) Deployment operating system (Ubuntu, CentOS, FreeBSD, etc) Version-control system (git, subversion, etc) Frontend library (React, Angular, Jquery, etc)
Lesson learned: Learning never ends. As new technologies come up, there will always be something to keep one busy.