Shut up and shell
Shut up and git
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