There are lots of things about software development that I don't know about or understand. So far, however, I know that two things are needed: an environment , and a workflow.
Last week I worked to create a reproducible environment. As of right now, most of my programming environment can be recreated automatically by a script, which downloads the latest libraries and software available and installs everything in my home directory. Various libraries are still scattered, but will be folded in with time.
My workflow continues to improve as I learn more about the tools I use. Considering the complexity of the tools (Vim for text editing, git for revision control, and Django for web development), there is plenty of room to grow and refine.
In other news, I found eggnog at the store today, and am now enjoying my first glass (which has become 'nog somewhere along the way).