Starting up a CoderDojo in Metuchen, New Jersey…

I’ve got a new personal project that I’m pretty excited about – CoderDojo Metuchen.

A guy in my town put out the call recently for anyone who was interested in working on this project. I jumped on it.

The idea is, you find ways to encourage and mentor learning to program (code!) in kids and teens.

I like mentoring, so that’s a plus. And I think getting youths involved in interesting activities and projects is another good thing. And, I’ve been looking for good volunteer opportunities for a while but always wanting to find something I had a passion about – not just something that someone else could be doing just as well as me.

This, I think I can do better than most. And that’s a good way for me to spend my time, in my humble opinion.

We shall see. 🙂



The Learning Spiral

Prototype Of Man

[Tweet “… you are now working at a higher level.”]

I’ve worked in a lot of types of offices and technical environments over the years.

Something I’ve always tuned into is whether it is a “big” environment – one where I am a fairly small cog in the machine and have a lot of folks around me to depend on for working on hard problems together – or, whether it is a “small” environment – one where I’m basically responsible for everything that plugs into a wall socket. (Yes, including the coffee maker. :-))

Both types of environments have their advantages, as far as career development.

In the big places you can seek out and learn from the best technologists in the organization. But you don’t get to branch out much.

In the small places you get more challenges to push yourself into new areas of learning, because you’re sort of on your own. And you have a chance to go wherever your motivations take you.

But common to both sorts of environments is something I call the “learning spiral.”

This is that process through which you see a problem, don’t quite know how to solve it (but you make a dent in it somehow), you move on to other problems (with the benefit of what you learned from that previous really hard problem), and eventually you come back to that first hard problem.

But when you get back there, you are now working at a higher level.

You have more experience, you’ve seen more, and you get a crack at solving that hard problem with better tools at your disposal. Sometimes it works out this time around, sometimes it takes a few more turns around the spiral before you quite get it.

The great thing is, all along the way you are learning…

… solving…

… growing…

… going higher…

… moving, and…

… seeing all there is to see. 🙂



Skills, tools, coding and learning

In no particular order, a list of the skills, tools, coding ideas, guidelines, and learning goals I have on my mind right now…

  • Always be deploying
  • Build stuff that is small and useful
  • Don’t let politics get in the way of trying things
  • Emacs
  • Mac
  • Lisp
  • PowerShell
  • Python (especially on App Engine)
  • Big data views of my personal data via Google Apps Script
  • Share information and ideas as publicly as possible
  • Functional programming
  • Scala
  • Testing, testing, testing
  • Document only what is useful
  • Don’t wait and hope for what you can’t control
  • Show, don’t tell
  • Data buckets
  • Scripting
  • Minimalism
  • Throwing out commitments and renewing the important ones daily
  • Kindle books
  • and… Minecraft 🙂

This post is just a mind dump. It makes sense to me. If you are out there on the Internet somewhere reading it and not “getting it” – that’s okay, the idea is for this list to be evocative of the sorts of ideas that are important to me (and which I think are generally important for others as well). I’ve written other posts on similar topics on this blog which are more “coherent.”