Learning: Codecademy

Codecademy’s Code Year, a program dedicated to teaching people Javascript over 2012. Unable to convince myseld people would follow through with this, I just dismissed the whole website. One friend even made the joke that resolutions like this are the 21st century version of signing up to the gym. However, once my cynicism faded, curiosity got the best of me and so I decided to see what they’ve accomplished. It’s been a while since I’ve done some programming, so getting a refresher seemed like a worthy adventure.

After spending a few days going through the existing lessons, a few compelling aspects of Codecademy really stood out:

  • One Spot: There is no for context switching between book and screen or screen and other app. The lesson and the coding area are located next to each other, making it easier to follow the assignment and maintain focus.
  • Development Environment: There is no environment to set-up, it’s self-contained. Yes, I know they use Javascript so this isn’t really a major issue, but once again though, having the coding area next to program output is an incredible time-saver.
  • Q&A: Hints are embedded in each lesson and always a click away. If that doesn’t help, the Q&A community will help you work through most problems.
  • Time: Each course has multiple sections, but they only require a few minutes each. Since your progress is saved, it’s simple to complete one quick lesson, go do something else, and come back later.

Codecademy is still a start-up and therefore still evolving. So while I’m going to be patient with them, there are a few areas could use some improvement:

  • Lessons Quantity: There are just too few. This should rapidly increase in the near future, but right now, it’s a pain to get on a roll and then have to stopand wait for the next lesson set to be released.
  • Cheat Sheets: It’s easy to forget something you’ve only done once. So after learning a new concept, a handy (possibly printable) cheat sheet containing basic structure or grammar would be more helpful than going back to reference an old lesson.
  • Repetitive: There are areas where you constantly type in the same code over and over. While it does help drill home the point, it also can get annoying quickly.
  • Errors: Programming errors, especially for newbies, bring everything to a halt. Sadly, most errors don’t say, “You should put a semicolon here,” or “You didn’t close out that function with a bracket.” A short lesson here and there on error messages and what they actually mean would go a long way.
  • Curation: The Q&A is nice to have, but is going to be overwhelming as more people sign-up. People who post up questions are usually not clear in describing their problems, so its difficult to find the exact help you need. Given time, I hope they can curate or summarize some of the most common issues and the best answers.

Overall, I’m pleased with what I’ve seen. With the pieces they already have in place, it shouldn’t be too difficult to teach some fundamental programming concepts. As with any educational tool though, you get out what you put into it. There is no public resolution for Code Year needed to move forward, so get started and catch up with the rest of us. For a few minutes a day, it’s an easy investment to make.

Link: Codecademy

Product Managers Need Skills

While short, the Accidental PM’s post on 3 Skills That Most Product Managers Are Missing is spot on the mark. Two of these areas hit home, so I consider this a must read for new Product Managers.

The first was communication. I completely agree with the author that this is far more than just giving a speech here or there about your product. Communication for a PM is about dialogue and informing. While the post covers the former, I’d like to add a little to the latter. A PM must understand who his or her stakeholders are at all times.  They should be the hub that connect all groups, but more importantly, should proactively inform the right key stakeholders with relevant information. I can’t emphasize the importance of this, especially in preventing issues from popping up late in the development process.

Secondly, make friends whenever possible. As a long-term expat, I’ve let some relationships wither on the vine because of distance or time zone issues. Some of these relationships could have been extremely valuable had I continued to develop them. Instead, I let myself take “control” of things under the impression that no one was there to help. As such, I almost burnt myself out. Had I just reached out, I probably could have saved myself a lot of stress. So my advices is to take the time, even if it’s a little inconvenient, to keep your contacts fresh. You never know when you’ll need them.