Wednesday, 17 February 2016

CodeSchool - Javascript Road Trip

I'm a javascript noob. I have, of course, like most developers changed javascript and written something approximately like Javascript. Like most developers I've done that really badly but with a level of confidence and bluffing that I may have gotten away with it. So when I saw the Javascript track on codeschool.com and in particular the "JavaScript Road Trip" I thought hey maybe this is point that I should sit down and try and learn it. 

Starting out on the Road Trup?


The video, and therefore the first segment of the course, starts with our intrepid teacher walking along some railroad tracks.

I think this is because we're going on a journey but it may also be because he's hunting the most deadly game of all...bindle swinging hobos. He has running shoes on which supports this and a bloodlust in his eyes that is quite hard to escape.

Ok no it was a journey metaphor. For now anyway. We get a lovely little intro with a strong javascript song. I'm fully into this now.

The first part of the road trip is a free course but when this says the basics of Javascript they really mean it. Truth be told most of it is the basics of programming as very little of it feels javascript specific. Some of it is strongly computer science 101 so if you are an experienced developer you may find this slightly hard going to sit through initially. So the free part is probably of limited value to experienced developers but don't let that put you off the overall Javascript course.


So do I need to take a U-Turn?


NO! Definitely not. Yes the first segment does start at a pretty basic level but It does however develop over the rest of the roadtrip (Not free) and it really does move it along at a good pace. These 3 module that make up the roadtrup  are the building blocks for more specialized courses (Angular/Node/Ember/Backbone) later on but they really do help as they touch on functions, closures, protoypes and a lot of the central concepts you need if you want to get into Node etc. 

I've made some further progress along the overall syllabus and can say the best practices course is well worth a look. It talks about performance, ternary operators and other bits.

Is it worth it?


Definitely worth dipping your toe into. Which I think could also be an incredibly strong Tinder bio so feel free to use that if you so desire.

It is short but peppy which is how the police normally describe me in their records.

The presenter kind of walks that line of being cheesy and earnest in a nice way.  It kind of reminds me of Head First style of books a little. It's informal and relaxed but the content is absolutely sound. I think Jason Milhouse (https://twitter.com/ItsThrillhouse) does a really good job all round but I've found it hard recently to shake the feeling that he may be a character played by Michael Ian Black. IN A GOOD WAY.

The best bit here is and I assume it's common across all courses is the ability to do stuff in an interactive console as  worked examples. This is obviously the code school mantra of learning by doing and I think it's really nice.

Btw first time using code school and the interfaces with challenges etc is really nice. I think I might just need to find another topic, I'll be continuing on the JS journey (because of the theme song mainly) as it does stop at cultural hotspots like Angular and Node on the way. Also I am sort of sure there will be some Hard Target style hobo hunting soon.

I think the overall course offered here is a great way to build or improve Javascript knowledge. You finish the roadtrip feeling a lot more comfortable with the whole paradigm and ready to get into the specialized courses that allow you to play with the cool frameworks. 

I know a lot of people have one eye on improving their Javascript knowledge and I think this course as part of the larger syllabus at codeschool is a great way to do that.

I give this course the golden bindle. 

Pluralsight Course - Yeoman Fundamentals


So as one of my New Year Resolutions I set myself the target of taking 12 online courses this year.

The first course I took is quite a short one. It's a good introduction to Yeoman. I found it through an email shot from Plurasight about new courses recently. It wasn't a technology that I was familiar with so it piqued my interest.

What is it?


Yeoman( http://yeoman.io/) is an application that allows you to build project scaffolding templates so you can take the sting out of spinning up new projects. It's installable as a npm package and getting started is quick

Where would I use it?


It is deliberately technology agnostic. Even though it is a Node based application this isn't only for starting new node applications. You can find generators for most technologies. That’s a really nice touch because if you're starting with a new technology it might be useful to leverage some tribal knowledge from the community to get started up in a common configuration.

If you find yourself spending a lot of time just ramping up a project this might be a good tool for you.

This course sets out to guide you on the path to creating your own customer generator. There are a lot of community built generators out there so if you think you would rather just be a client maybe you don't need the course as there's probably enough in the documentation


What's the barrier to entry?

JS knowledge and Node experience isn't NEEDED to follow it but definitely would help. I think though the more you know the easier it's going to be to follow. I did end up deciding to not follow along but instead just watch the screen cast.


Is the course easy to follow?

I found the course very easy to get started on.
Steve Michelotti (https://twitter.com/smichelotti) was a good guide on this. He's very clear with everything he explains. He brings you through static files to using EJS templates. I think by the end of this you feel confident enough at least embarking on creating a generator for real.

I mentioned before that if you aren't planning on building a custom generator then maybe the course is slight overkill. Whilst that's true I personally found it useful to see some of the inner workings and get a little bit deeper with how it works.

The one negative I would say, and it's my own fault, is I'm actually not that au fait with the whole Node ecosystem and I found myself pausing to go WHATS THAT or WHAT a lot. It got the the point I stopped trying to follow along with my own version and just watched what was happening as I felt I really needed to focus. For others with experience of those tools etc I think it will be

Yeoman also offer their own codelab tutorial on building an application with a generator so more using yeoman than building with it. It's expected to take an hour so would be a little shorter and may be a good free alternative

How I may use it in the future :

So initially I thought this is maybe not going to have a practical use for me because I'm not in a front end shop doing lots of new custom websites/projects. Then it dawned on me (and not surprisingly it had already occurred to everyone who ever used Yeoman before) that this fits perfectly in a Microservices environment too.

If you have a preferred structure of projects then creating a yeoman Generator just makes sense. The cost investment isn't huge as there' s a lot of very good starting points already. It's great to get everyone starting off on the right foot.


Would I recommend it?

If you have access to pluralsight then definitely. It's a small course at a good pace so well worth a visit. Failing that the free codelab tutorial looks good for learning how to use yeoman and the wealth of generators currently out there.