Code School vs. Codecademy: Where are the best coding tutorials?

More than a year and a half ago, I wrote a post about my experience using Codecademy, and to this day it’s one of the most popular posts on my blog. Since then, I’ve tried several different online tutorials for learning to code, so today I want to talk about one of my new favourites, Code School. Let’s see how it stacks up against Codecademy.

You may be wondering why I’m spending time on tutorials now that I’ve completed the program at Bitmaker Labs, but any expert will tell you that learning to code is a lifelong pursuit. There are always new techniques to master and new tools to discover. Both of the sites I’m discussing here have a lot to offer intermediate and even senior developers.

Code School covers a variety of coding topics. Most of these topics are grouped under paths (Ruby, JavaScript, HTML/CSS, and iOS), while a few are classified as electives (including Git and Chrome DevTools). In addition to these “courses,” there is an extensive list of screencasts available on related subjects, but so far I’ve stuck to the courses, so I won’t be discussing the screencasts.

Each course is broken down into 5 or 6 lessons (or “levels,” to use Code School’s gamified language), and each of these sections features a video lecture followed by several exercises (“challenges”). The quality of the lectures is quite good; the instructor is usually shown in a corner of the screen, while the code takes up most of the window, with slick but non-distracting animations, notes, and highlights indicating relevant portions. The videos tend to be 10-20 minutes in length, which is of course much shorter than a traditional lecture. I sometimes find my attention wandering a bit by the end of a video, though, and I feel they could improve the experience by breaking them up into even shorter segments. Having said that, there’s nothing stopping you from hitting pause if you need a break to soak in what you’ve just learned.

The challenges following the lectures use the same general format as Codecademy’s exercises. The site presents you with a customized coding environment in the browser and asks you to solve a problem using the techniques you’ve just learned. One thing I particularly like about the challenges is that you have the option to view the lecture you just watched in PDF slide format, which makes it easy to remind yourself of the most important points of the lecture without having to sit through the entire video again. Each challenge comes with a set of (usually 3) progressively more revealing hints, so if you’re struggling you can get some help without having the whole answer given to you. If you still can’t figure it out, you have the option of accessing the answer, though this will cause you to earn fewer points on that particular challenge.

As I’ve mentioned, Code School makes use of gamification: you earn points for each challenge and badges for each level. Codecademy takes a similar approach, but I found Code School’s implementation to be less obtrusive. Codecademy seemed to be always reminding me of my “achievements,” while in Code School I found it easier to ignore this aspect of the experience. To be fair, though, I think Codecademy has toned it down a bit since I first wrote about them; there is now more of an emphasis on progressing through a track (equivalent to a Code School path) and less on accumulating brightly coloured badges.

So how do these two options compare?

  • I haven’t counted up the topics covered, but at this point in time both sites have an impressive array of choices, so there’s no clear winner based on variety. If you’re looking to learn a particular tool, though, this may influence your choice; for example, Python is only available on Codecademy, while you can only learn about iOS on Code School.
  • In terms of lecture quality, I definitely prefer Code School’s videos over Codecademy’s purely text-based approach. The videos are engaging, and I find they help me visualize what my code is doing behind the scenes. There’s a cheesy jingle at the beginning of each course, but you can skip ahead in the video if they bug you as much as they bug me. I also prefer Code School’s exercises, but there’s a less significant difference here.
  • Codecademy has more of a community feel to it. From the beginning, they have encouraged users to create their own courses for others to learn from (which of course wouldn’t be realistic for Code School’s video-based approach), and there is an active forum where students help each other learn.
  • Hmmm, I guess I haven’t mentioned this part yet: Codecademy is free, while Code School costs $29 per month (or a bit less if you pay per year).

For the moment, I’ve decided Code School’s polished interface and engaging videos are worth paying for. It especially makes sense for me right now because I’m spending a lot of time honing my skills, so I use the site often enough to feel that I’m getting my money’s worth. However, I think both options are great ways to build your skills, whether you’re totally new to coding or have been doing it for a while. Code School offers a number of basic courses for free, so I would highly recommend giving them a try, and go ahead and check out Codecademy while you’re at it.

If you’re looking for more resources, Michelle Glauser has compiled an excellent list (the table is a bit awkward to read on that page, so I recommend clicking through to the full Google spreadsheet).

Top technology for students and new librarians to become familiar with

I recently attended the Ontario Library Association Super Conference, where I chatted with a ton of interesting people, including a group of student volunteers. One of these students later emailed me with a question I hadn’t put much thought into before: what types of technology should students (and new librarians) become familiar with? After sending her a list of suggestions, I decided I should share my thoughts on here as well. All the tools I’m mentioning are free (with a couple of exceptions I’ll point out) and easy to learn.

At the conference, I attended a session called Productivity in the Cloud: Evernote, Dropbox, & More, presented by Amanda Etches-Johnson, Charlotte Innerd, and David Fiander. These speakers covered a number of the things I would suggest people test out, including:

  • Doodle: This is an easy-to-use tool for scheduling meetings. I’ve used it numerous times in my professional work, usually for arranging committee meetings.
  • Skype: Great for conference calls (especially if you want to avoid paying for long distance). I’ve used this at work as well.
  • PBworks: I would definitely recommend that everyone learn how to create and edit a wiki, and PBworks is an excellent free tool. I’ve used it at work for sharing information with colleagues. A good real life example is the Library Day in the Life Project wiki.
  • Dropbox: I love being able to sync my folder and access files from my home computer, work computer, and iPad, plus anywhere with an internet connection through the web interface. Amanda says she even used the sharing function to collaborate with her co-author and editor when writing a book. I use it to keep track of my professional development and job applications.
  • Evernote: I’ve only been using Evernote for a little while now, but I can’t remember how I ever organized my life without it. It’s especially useful if you have a smartphone or tablet, but I think it’s still valuable even if you’re just using the desktop version. David says he has used it for house hunting (to keep track of realtor websites, info from his lawyer, photos of the houses, etc.) and at the bookstore when he sees a book he wants to remember to borrow from the library (he just takes a photo of the cover, and then can search by title or author later). The search function is excellent, even for text from images.
  • Google Docs: As Charlotte points out, Google Docs is all about sharing, even more so than Dropbox. If you want to be wowed, I would suggest you try the following: create a document, share it with someone, and then have that person start editing it on another computer, and you’ll be able to watch them make edits in real time. If you’ve ever collaborated with someone and ended up with a folder full of different versions of the same document (and perhaps even lost track of which is the newest version), you will love Google Docs.

Here are a few more suggestions I came up with:

  • Blogs: At the very least, you should be reading blogs on a regular basis (but I suppose I’m preaching to the choir by saying this on my blog). And if you’re reading blogs on a regular basis, you should set up an RSS feed reader – I love Google Reader, but there are plenty of good options available, either web-based or desktop-based. I’ve mentioned this many times before, but I would encourage all students (and professionals) to go one step further and start their own blog – it’s easy to do with a platform like WordPress or Blogger. Here’s an article I wrote as a student, explaining why students should blog: Why You Should Blog.
  • LinkedIn: As a future or current professional, you absolutely must have a profile on LinkedIn. When potential employers Google your name, you want them to find this and not your embarrassing Facebook photos. It also helps you keep in touch with classmates, colleagues, and people you’ll meet at conferences.
  • Twitter: Not as essential as LinkedIn, but you’ll probably want to get in on the conversation, or at the very least give it a try so you know what it means to “tweet.”
  • Social bookmarking: If you’re still saving all of your bookmarks in your browser, you should really consider a web-based option. The most popular site used to be Delicious, but they made some changes I didn’t like, so I’ve moved to Diigo. Once you’ve set up an account, try installing an extension for your browser to make it even easier to save sites for later.
  • Presentation software: The standard is PowerPoint (not free, but probably available at your school or work), so you’ll need to know how to use it well, especially when you’re collaborating. You don’t need to know about all the advanced functions, but you should be able to quickly create a simple, attractive presentation. In a pinch, you can open PowerPoint slides in (which is free), but a lot of the formatting will be lost, so I don’t recommend it as a long-term solution. A much more attractive free option is Prezi, which allows you to easily create visually interesting presentations. Edit: @adr points out that “Prezi is not indexable, not searchable, not plain text, and makes people seasick.” However, I like the fact that presentations are posted publicly online by default (even if they’re not indexable). Whether they make people seasick depends on how you create your transitions.
  • Citation management software: You should learn at least one of these programs. If your school or library gives you access to RefWorks or EndNote, go ahead and start there, but you should also check out Zotero, which is free, open source, and easy to learn. Make sure you learn how to get citations into your library, and then how to use the word processor plugin to automatically format a paper. Another popular free option is Mendeley, which has an integrated social network for researchers.
  • Screencasting software: This isn’t essential, but it’s sort of fun. Check to see whether your school or library gives you access to Camtasia or Adobe Captivate – if not, try Jing, which is a free alternative.

What else would you add to this list? Leave more suggestions in the comments.

On shooting for the moon

Michael Steeleworthy is a fantastic gentleman I was fortunate enough to meet at CLA in Halifax this year, and he recently offered some very good advice for recent grads based on his first year as a professional librarian, including:

  • Share your opinions with your employers and colleagues
    • You still have a lot to learn, and these people can help you along the way.  But more importantly, these people want to know your opinions, too.  You may be new and green, but to a lot of people, you represent vast potential because you can bring different and new ideas to the table.  You shouldn’t ever take over a meeting with your opinions and antics, but you should definitely speak up and be heard.  Remember: you won’t be hired to be a bump on a log, so make sure your contribute to your library and your team.

For the most part, I agree with all of his advice. Of course, he acknowledges that “nothing is ever 100% or complete in this world,” and I would slap a big YMMV sticker on the following:

  • Don’t shoot for the moon
    • Once you land a job, you may be so full of enthusiasm that you’ll want to tackle everything at once.  Don’t do this.  Prioritize what needs to be done against the library’s timelines, your schedule, and also against your own learning curve.  Taking on too much will burn you out and potentially let others down.  Instead, create a schedule with your supervisors or mentors, and return to it regularly to adjust it up or down.  This shows foresight: they’ll appreciate that you’re balancing your duties and also keeping them in the loop.

True, many (if not most) first library gigs involve an overwhelming workload. And yes, piling on projects until you risk burning out is a bad idea. But I would never discourage anyone from shooting for the moon – you just need to be realistic about it. Do you have a great idea you want to try out, but you’re not sure whether you have time for it? Talk to your supervisor, and see how you can fit it in. But by all means, prioritize, create schedules, and only take on what you can handle.

I think in additional to the workload of the position, another important variable is the personality of the individual. There are certainly some new librarians who are afraid to say no, and this can lead to burning out, so these people should avoid shooting for the moon. However, there are also librarians who avoid volunteering for additional projects because they want to focus on their core responsibilities. Sometimes this makes sense, but the additional projects can be the most interesting ones, and I would hate for anyone to miss out on enjoyable endeavours because they want to put 110% into their main duties. It’s okay to only put in 100%, and use the extra 10% elsewhere!

It may sound less catchy, but here’s my advice: shoot for the moon, but only after you have considered your situation and consulted with your supervisor.

Some sobering advice regarding library school expectations

I came across an interesting post from Mr. Library Dude, who offers his advice on the reality of library school and library job hunting. Although it comes across as somewhat pessimistic, I do agree with most of his points. For example, here’s #1:

Library school: if you have the time/money to find a school that “fits” you, then by all means. However, it’s completely OK to just pick the in-state/cheapest option. A library school is a library school is a library school.

I usually wouldn’t put it that bluntly, but it’s a fair point. People often ask me whether I think McGill offers a “good” MLIS program, and truthfully I don’t believe there is a significant variation in quality among schools (at least in Canada). If one program offers a certain specialization that others lack, feel free to choose accordingly, but at the end of the day, when it comes to finding a job, what matters is that you’ve (a) received the degree, and (b) accumulated some work experience along the way.

The only point I completely disagree with is #2:

If you have not worked in a library before attending  library school, why are you making such as a large financial commitment for a career that you have no experience in? A “love” of books and “I like to read” won’t cut it.

I don’t believe that anyone who has done some research and decided to become a librarian should feel they must first job hunt for a library assistant position and then work in it for a year before applying to library school. Certainly, a love of books and reading doesn’t necessarily mean you will enjoy a career as a librarian, but if you put in the research and talk to some people in the field, you can make the decision with no previous experience. The important thing is having library experience on your CV before you graduate, but you can acquire this during your studies.

I will also comment on the final point:

Don’t blame library school if you cannot find a professional job. You are an information professional. Did you not research the state of the job market?

I hope no one believes that earning an MLIS is the most challenging part of starting a library career; on graduation day, there will be no line-up of employers begging you to work for them. This is not your school’s fault. It is simply the way the job market works (as is the case with most careers). But I also hope no one is discouraged from starting an MLIS because of what they’ve heard about the library job market. As long as you’re willing to put in the extra effort (and often patience), you will find an appropriate job eventually.

In fact, many of Mr. Dude’s points are the same ones I’ve made before (don’t neglect to read the comments on his post for even more tips). Gain experience while studying, find a mentor, and don’t be shy about marketing yourself.

Good advice from someone who has given me more than my fair share of advice

Seriously, at some point I am going to have to pay Amy back for all the help she’s given me over the past few years, but for now I’m doing my best to pay it forward by offering advice to current, future, and recent students. Read her whole post here:

when i grow up i wanna be like…

since then, i have found myself a group of mentors. some i work with, most i don’t. what’s most important is that i went out and built a network for myself – a network of people that i admire, and want to be like “when i grow up”. these are librarylanders with drive, ambition, perseverance, awesome ideas, and the guts to go for it when the haters are in full-on hate mode. these people? these are the ones i turn to for advice, comfort, comiseration, or a good kick in the ass. i also will eternally have their backs, as they have mine. some of them might not even realize they are mentors to me, but they are. (and for you mentors who don’t like it… sukkit. <3 jambina.)

On being scared

I came across some career advice from my Re:Generations co-conspirator Meghan Ecclestone that I would like to share with you. You can (and should) read her whole post, but her key point is this:

Stop being scared

Now, I see exactly what she means: as students, especially around graduation time, we spend a lot of time being scared unnecessarily, and nobody like being scared. However, I’m going to disagree slightly. I don’t think it’s necessary (and perhaps not even desirable) to stop being scared. Instead, I would suggest the following:

Don’t let being scared stand in your way

Allow me to preface this by saying that I only speak from my own experience as a new librarian, and for all I know, perhaps highly experienced librarians can and should stop being scared. But I have my doubts.

First of all, we’re all scared when we graduate, and even (sorry to be the bearer of bad news) once we’re bona fide librarians. So don’t feel bad about being scared. And frankly, I feel that if you’re not scared, you’re not taking your career seriously enough. If you stop to consider the number of other qualified people who will be applying for your dream job, you should be scared indeed. The only people who aren’t at least a little scared when applying for a job either (a) haven’t put much thought into the reality of what they’re doing, and for this reason will probably fail, or (b) are applying for a job they are certain they will get, which means either they are overconfident and will probably fail, or else they have sold themselves short by applying for a job that will not challenge them.

The way I see it, being scared can work in your favour if you can harness your fear. For example, take giving a presentation. Depending on the content and the audience, sometimes giving a presentation scares me and sometimes it doesn’t (of course, when I first started presenting on a regular basis, I was always scared, so don’t feel bad if you’re in that boat). What’s interesting is that my best presentations are the ones that have scared me the most beforehand. The reason for this is that my fear drives me to work harder. Harnessing my fear leads me to spend more time rehearsing, even when I think I know the material already, and it makes me improve the content because I’m afraid of standing up and looking like an uninformed fool. And when I’m actually standing in front of the audience, being scared gives me the shot of adrenaline I need to be animated and engage the audience (I’m assuming this is why a particularly scary presentation is so exhausting!).

How about for a job application? Being scared makes me polish my CV more carefully and it makes me put in more hours researching the library I’m applying to, so that I’ll have the best shot at impressing my interviewers.

I like to present to students about blogging – I started my blog as a student, and I think it’s a great way to get a taste of the professional community. I always point out that although it’s terrifying at first, it’s completely worth it. At the end of one of these presentations, after pointing this out I threw in the following line on a whim, completely unrehearsed:

Some of the best things in life are terrifying, like riding rollercoasters and falling in love, and these things are still entirely worth doing.

I may have exaggerated about rollercoasters being one of the best things in life, but they’re a good example of something we do *because* they scare us. Don’t stop being scared; embrace your fear, and use it to your advantage.

Another year of Professional Partnering is over, but the connections will live on

The academic year is winding down, and last week was the end-of-year get-together for McGill’s Professional Partnering Program. Congrats to soon-to-be MLIS grad Adam Baron for organizing a great year of partnering (and a wrap-up with delicious food). Due to some scheduling difficulties, I wasn’t able to meet with my partner as many times as I would have liked this year, but we were able to chat at a number of events, and we had tea at my favourite tea house. And I know we’ll keep in touch, even now that the semester is over.

As I’ve said before, I really encourage all students to sign up for a mentorship program, or to create one if there isn’t already one in place (and of course I recommend it to professionals as well!). This is a great way to connect one-on-one with a professional – plus, at the kick-off and finale events, you’ll almost certainly have the chance to meet your classmates’ partners as well. If you’re not looking for a job now, you will be soon, and having someone to coach you through the application process is crucial.

Have questions about mentorship? Let me know in the comments, and I’ll share my wisdom. :)


Get every new post delivered to your Inbox.

Join 1,057 other followers