Keeping your web skills sharp using training & personal projects

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

Working regularly with WordPress or another CMS adds an extra problem. They’re very popular with customers and you can turn around websites very efficiently. However, much of the work involves using pre-existing plugins and themes – there’s often little opportunity to use your broader web and Javascript skills. So, what to do?

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.

For instance, I was interested in working more with JavaScript/jQuery and API calls to third-party data feeds. This led on to short projects such as developing a local traffic map web app or getting live stock trading data from the New York Stock Exchange. These projects are not doing anything new, there are already apps out there that do it better. The challenge is to write something for me to do the job and build my knowledge and experience without it completely taking over my life!

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!

Training resources

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.

freeCodeCamp

My favourite resource, it offers a range of interactive web development training and qualifications. Subjects covered include HTML, CSS, Javascript, jQuery and Bootstrap. Each certification is about 300 hours of training and project work. You can complete a full certification or just dip into an individual section to grab what you need.

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 DesignHTML, CSS, Visual Design, Accessibility, Responsive Web Design, CSS Grid and Flex 
  • Javascript Algorithms & Data StructuresJavascript, ES6, Regular Expressions, Debugging, Data Structures, Algorithm Scripting, Object Oriented Programming, and Functional Programming
  • Front End Libraries Bootstrap, jQuery, SASS, React, and Redux
  • Data VisualizationData Visualization with D3, and JSON APIs and Ajax
  • APIs & MicroservicesManaging packages with NPM, Node & Express, and MongoDB & Mongoose
  • Information Security & Quality AssuranceInformation 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.

codecademy

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:

  • Python
  • ReactJS
  • Ruby on Rails
  • AngularJS

Courses are free but additional training materials and intensive programmes are available for a fee.

Scrimba

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

Medium

This is an online magazine/blog with numerous contributors. They feature a lot of articles related to aspects of web development

Smashing Magazine

This is *the* online magazine for the web development and design community. Always worth a visit.

Conclusion

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!

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to Top