As a developer in an industry where trends and languages grow and evolve at pace, it is virtually impossible to keep track of all the latest happenings. Thus, developers tend to specialise in certain languages or platforms which they watch. For example, while I keep tabs on developments within the PHP and WordPress communities, and I’m aware of what’s happening with CSS3 and HTML5, I may not keep a hawk-eye on CSS3 and HTML5, and certainly don’t know all the latest trends (simply because I don’t use the technology often enough). The converse would apply for a frontend designer. If this is the case, shouldn’t we constantly be striving to increase and better our knowledge in both the areas we are in touch with, as well as those which we aren’t?
I’ve been working with two websites in particular in my quest to further this goal- Code School for learning and Smarterer for testing and validating skills learned. The ways in which I’ve used them may not be obvious though.
Code School is a really polished subscription service, offering high-quality courses in a variety of development languages and practices. Thus far, I’ve done their initial Git course, the introductory level of “Git Real” and am currently working through their jQuery Air: First Flight course.
But… I know jQuery… so why am I doing a jQuery course? This is where the magic happens.
Even though you may have spent 20 minutes doing a course in something you know, you still learned something new.
The other aspect, of course, is constant re-enforcement. The best way to get something to stick in your mind is to repeat the process over and over again, until it becomes second nature. My recent foray into learning Python has taught me this, as the syntax is somewhat different to what I’m used to (less typing). I’m having to force myself to unlearn several practices used when working with PHP, in order to learn those similar practices in Python. Muscle memory at it’s best.
Code School has a ton of free courses available, which I’m working my way through at the moment. You can even sign in with your GitHub account, which makes it super easy to get started. They also provide a really intuitive and appropriate training environment with video lectures and a code compiler specific to the language you’re learning, for testing your code in the challenges at each level.
Currently in beta, Smarterer is a great way for anyone to test and validate their skills in a particular area of expertise, be is a programming language, basic maths or using a social network such as Twitter or Facebook. I’ve taken several tests there, as well as examined and given feedback on several of the questions on the WordPress test… and submitted several of my own.
It’s fun to answer multiple-choice questions on topics about which you’re passionate, but what purpose does it serve?
If you answered a question incorrectly, thinking that you knew the correct answer, you just learned what the actual correct answer was. Also, at the end of the test, if you thought you’d get a certain number of points and ended up getting far less or far more, you have a clear statistic as to your progress and knowledge on that topic.
Smarterer’s test creation and question addition methods are also great for encouraging members of the community to both submit questions to the tests as well as curate questions submitted by others, to ensure that the best possible questions are made available on the tests. Why not sign up and start submitting your own questions (and curate a few of mine on the WordPress test)?
Where do I go after testing and validating your skills?
As I see it, this is the best part. Now you get to circle back and do it all over again. 🙂 Take a course, learn a new programming language or re-enforce your knowledge in one that you already know. Then go back and take the test on Smarterer again.
Out of all the circling back, learning and testing, you’re bound to learn something new, as well as have fun while doing so. There-after, you can post your code snippets up on GitHub and share your knowledge and experience with other developers around you, so that they can learn as well.
I hope to see you all signing up on Code School and Smarterer (as well as GitHub) to learn and grow as web developers and share your knowledge with the world.