Don’t let your skills waste away
Working as a freelance web developer can often lead to you getting into a rut. Comfortably repeating the same steps again and again to produce professional websites is a natural process but it carries a risk. If you’re not constantly using and improving your broader web development skills and learning new ones you can quickly go backwards. As a professional, you can’t afford to make this mistake or you’ll quickly be left behind in what is a fast-moving and constantly changing industry. But it gets worse.
The problem with using a CMS
Use training and projects to keep you sharp
Committing time to skills training and personal projects is the way to go. I mix it up as much as I can so I don’t spend too much time on one area, but you have to dedicate a block of time to each subject if you’re to do anything more than scratch at the surface.
Skills & training sites, books, videos, and articles about web development all help to develop my skills and I use personal projects to put what I’ve learned into action. The projects, in particular, test my understanding and often lead on to further directed study.
Now, this can be hard. If you’ve got a lot of work on, you’re going to have to do this outside of your normal working day. Personally, I find that late evening when the family has gone to bed works for me but your mileage may vary. The important thing is that, although it may be hard to squeeze it in, you’ll reap enormous benefits from putting in the effort.
Project ideas and where to find them
When I want to take on a new personal project I consider what skills I want to refresh or learn and how they might be applied. I think about everyday problems, existing web apps that I’ve seen, or just things I would like to see. If you find yourself looking at a web app and thinking – “how do they do that?” – it’s a good option to take up for training and developing into a short project to learn the underlying principles.
Another great source for project ideas is the freeCodeCamp (see below) certification projects. These include challenges such as building a TicTacToe web app, a Pomodoro countdown timer, a simple drum machine, a survey form, or visualizing data in a Treemap diagram. Again, solving these problems ain’t rocket surgery, but they do get you working on problems that often fall outside of the usual day to day experience of freelance web development for SMEs.
The important thing is to take on a project that challenges you and moves you outside your comfort zone, or one that revisits skills that might be getting a little bit rusty.
Define your objectives and stick to them
When taking on a project, it’s important to write down your objectives before you start and tick them off one by one as you achieve them. When you complete them – STOP!
It’s very easy to waste hours and hours playing with the presentation of a web app, making it look very pretty, when what you really want to achieve is to sharpen up other skills. This isn’t about something you can sell, it’s solely about personal development.
Your projects don’t have to look absolutely perfect, they just need to meet your objectives. Don’t waste time on aspects that are not related to your list of objectives. Once you’ve gained what you need from the project, you should move on to the next challenge, unless of course, you’ve just stumbled on an idea that will be the next YouTube, Facebook, or Google!
There are an enormous amount of resources available on the web, in fact, you could spend ages just deciding which one to use! Here are a few of my favourites that fit well with how I learn. You might find that other sites suit you better. Just go with what works best for you.
I completed their Front-End Web Developer Certificate a while back when I wanted to refresh all my front-end skills before going fulltime as a freelancer. It’s an excellent learning environment with a very active forum.
The site content was static for quite a long time but has recently undergone a complete overhaul with a range of new qualifications and a whole new curriculum. The current certifications and subjects offered are:
- Responsive Web Design – HTML, CSS, Visual Design, Accessibility, Responsive Web Design, CSS Grid and Flex
- Front End Libraries – Bootstrap, jQuery, SASS, React, and Redux
- Data Visualization – Data Visualization with D3, and JSON APIs and Ajax
- APIs & Microservices – Managing packages with NPM, Node & Express, and MongoDB & Mongoose
- Information Security & Quality Assurance – Information Security with HelmetJS, Quality Assurance & Testing with Chai, Advanced Node & Express
It’s free to use and qualify but agreeing to pay a small contribution each month will help it keep going and expand.
This is another excellent resource. It provides a lot of free interactive training courses. It offers a wide range of web related subjects and programming language training. The subjects covered include:
- Ruby on Rails
Courses are free but additional training materials and intensive programmes are available for a fee.
This is a new player in the field but a very interesting one. Training is provided through interactive videos. At any point during a video, you can pause it and directly play with the code on the screen. I recommend that you give it a try. Current courses offered include:
- Introduction to Typescript
- Introduction to Vue
- Learn D3.js
- Bootstrap 4
- CSS Flexbox
- Page Templating with Python
This is an online magazine/blog with numerous contributors. They feature a lot of articles related to aspects of web development
This is *the* online magazine for the web development and design community. Always worth a visit.
To stay relevant you need to keep putting in the effort. Just because you’re comfortable at the moment doesn’t mean that your skills will be in demand in the future. Taking a bit of time to complete training and personal projects on a regular basis will keep you up to date.
Good luck with your ongoing work and training. If you come across any great resources that I’ve not mentioned, or if you have a different approach, please post a comment. I’d certainly like to know!