Dan Stutzman

Lessons learned after one week at DaVinci

Published 2013-01-18

Well I made it to the end of my first week of teaching at DaVinci Coders. In ten more weeks they will walk out as certified Ruby on Rails developers. I've already learned a lot:

Avoid "setup bombs" hidden in new content

The following issues took a lot longer than expected:

  • Installing SVN on a Mac with Homebrew (eventually we used a binary instead)
  • Setting up shell aliases
  • Accepting the certificate for the version control server
  • Checking out a repo given a URL
  • Exiting out of emacs when it was set as the default EDITOR
  • Entering the version control username/password

Ideally all these steps are done at the beginning, either by an expert or possibly by the student, given screencast videos.

The default setups aren't ideal for learning

Here are more setup steps that are optional but would give the beginner a better learning environment:

  • Add coloration to ls output
  • Add coloration to PS1
  • Show the entire working directory in PS1
  • Terminal windows should default to a large size and large font

Teach the GUI tool, not the command-line tool, when you have a choice.

GUI tools provide context in the form of: labeled buttons, dialog boxes, right-click popup menus, etc. Shell commands force beginners to remember not only the commands themselves but the current shell/filesystem state (working directory, last svn status output, last ls output, etc.).

  • Use Sublime Text's File menu instead of invoking subl from the command-line
  • Use Finder instead of cp, mv, rm, etc.
  • Use SvnX instead of the svn command