Week Forty-Three Xmas Break (19- 23/12/2022)
It was great to set aside the employment-based tasks so that I could focus on personal learning projects and researching other tools and technologies that I may use in the future outside of our work tech stack. As mentioned in a previous post, I had a rough to-do list that I wanted to work through over the Christmas break. Just going through some of those targets:
CodeCademy ๐
A massive one was finally finishing CodeCademy's Front End Engineer Path which is a list of modules (lessons) that teach you basic HTML, CSS, and JS through to using a front-end framework and various supporting tools to build out a web application. The course also introduces data structures and algorithms concepts as well as provides useful guidance on interview preparation.
Overall, I'd say it is a worthy investment in time and money if you are not from a traditional computing background and you are at the early career stage. But be under no illusion that the course can be finished in a couple of weeks and that you will absorb all the lesson material. On and off, balancing work, personal projects and social / life commitments, it took me around 9 months when I started my training program with my employer.
I kept notes for myself as a reference from various sources and combined them with CodeCademy's explanation of topics as I knew I wasn't going to remember it all. A lot of the concepts went over my head even after going through those lessons a couple of times or researching the subject. I think a big part of being a competent developer is being ok about not knowing everything but being systematic and resourceful in how you tackle a problem. Perhaps those concepts that were murky, will become clear as I encounter them in the workplace or through someone else teaching them on a project.
In hindsight, I think I should have tried Free CodeCamp to compare learning success. Although now it wouldn't be a fair contest as I have done a lot of my base learning from CodeCademy so going through Free CodeCamp may only supplement what I should already know. The big difference between the platforms is cost. If you are interested in CodeCademy, I would suggest reaching out to them to see if they are willing to offer a discount as a student (through your local government body) or get your employer to pay for an annual membership. Often the company offer half-price membership so it is worth waiting for those opportunities to arise if you are self-taught. If you don't maintain your progress (as naturally you will be distracted with another new and exciting tech in the web and software dev space), the annual fee will roll on so try to get through it with constant advances. The longer you leave it, the more motivation you need to finish the course!
Drupal Site Build from scratch ๐คช
I think I bit off more than I can chew! It seemed an easy task but the more time I spent setting up and configuring, the more I realised how much work has gone into making my work-based code base operable for developers. I feel lost at sea with this one, as every site architecture or tooling decision condemns me to a technical problem or bug that I will encounter in the future- a bit like playing someone in chess when you are an amateur at chess! The time spent troubleshooting eats into productive time spent learning. I may have to go back to basics with this and build from localhost and work out multi-dev environments and hosting later.
Clear the JS - jQuery book from my desk! ๐งน
I've just gone through a chapter about filtering, searching and sorting data with examples and how this knowledge is implemented on the front end. The book uses jQuery to achieve these solutions but I've tried to do the equivalent in plain JS. I've had to resort to online support to work out the kinks and I was pleasantly surprised to see that the code is not too dissimilar. I think the time invested in going through these exercises is worth it as you can see how to apply fundamentals and take advantage of JS methods to achieve commonly faced problems around data and DOM manipulation.
UI Library ๐
I mentioned in previous posts that I got distracted from the CodeCademy course by interesting YouTube videos on CSS and JS to create User Interface features. At least that time wasn't wasted and I've committed to a repo where I will collect, create and iterate on common UI design patterns. The inspiration behind this was that I wanted to understand how they work as copying from a UI library abstracts the functionality away. It also means when it comes to tweaking the code to suit a project say for your employer or client, it will be difficult to do this potentially.
Here's the repo: it's a work in progress but I hope to have a couple of solutions for several features that I can use as reference in the future.
Subscribe to my newsletter
Read articles from William Kan directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
William Kan
William Kan
I am an enthusiastic, flexible front-end developer beginning my career in web and software development. I am currently employed as a digital apprentice in London working on a Drupal CMS site for website maintenance and feature development. Non-tech previous work history: worked for design consultancies and a main contractor on ground engineering projects overseas and in UK. Since December 2021, I completed a 12-week software development training course. The topics covered were: SDLC, foundation in HTML5, CSS3, JavaScript ES6, Python3, mySQL Workbench and MongoDB.