Ivan Zimine

Ivan Zimine

Audience level:
9 a.m.–1 p.m.

CLI until it clicks


  1. Shut up and shell

  2. Shut up and git

  3. Shut up and mkdocs


There is much more to programming than writing code in one or more languages.

First of all you need to get "closer" to the OS, learn how to control it, and how to automate your work without relying on the Graphical User Interface. Chances are some of your code will sooner or later execute on a remote virtual server somewhere in the Cloud (tm), and it will be running on some flavor of Linux. Knowing how to work on remote servers over ssh as if they were local development machines is a very powerful and valuable skill.

Next, you must learn how to use a version control system (VCS) to manage your code, even for your own (single developer) projects. Distributed VCSs ( git, mercurial, darcs, bazaar) have won over centralized VCSs (cvs, subversion). And git is the most popular choice among DVCSs.

Project's documentation is more important than what you might think. It helps you to focus on what's important and it helps other to use your application or service and contribute back if your project is open source. There are better documentation tool than Word and Google Docs out there.

Preliminary reading: - learnclithehardway - try.github.io

Sponsored by: