20+ Technologies in 6 days at Moveline
Ramping up to the speed, technology, and workflow of a cutting-edge start-up can be overwhelming. I think the best way to learn anything is to dive in head-first and flail your arms around while trying to hold your head above water, and that’s pretty much what I’ve been doing. Below is (an attempt) at a comprehensive list of Moveline’s tech vernacular.
The first big shift was not a language or a framework, but my text editor. I dove head-first into Vim, a text editor from 1991 that is still very efficient and widely-used today. Vim saves you those precious few seconds when your hands move between the keyboard and arrows or mouse. That might sound small, but, when you are in the flow for a few hours, the little things add up. There are thousands of shortcuts and you can write your own macros. While the first week or two was full of mental heavy-lifting, I am now pretty comfortable. For extra practice, checkout Vim Adventures, and Vim Golf.
Vim is used in the terminal or on the command line (meaning, you probably already have it installed!), so I’m starting to pick up commands there as well. I’ve also just learned about dot-files, which can be used to set up custom settings. In my case, I wanted the best of vim configurations, and for now I’ve picked up most of my vimrc from Chris, my braniac new mentor. I’ve also installed tmux (the terminal multiplexer), iTerm (a nicer Terminal), and Ctrlp (handy fuzzy file searching).
Beyond the text-editor, I’m adjusting to version control, aka Github, and the adding, committing, pushing, pulling, merging, etc. that comes along with it. Practice makes perfect, right? And if you’re looking for practice, check out ShortcutFoo. It’s got shortcut commands for Vim, Sublime, Excel, Photoshop, Git, etc. By the way, if you’re not willing to jump into the terminal or command line, Vim + Sublime is a great way to go.
Once that’s set up, there’s the dev, testing, and production environments, and all the testing itself. We run our VMs using Vagrant and a suite of sweets for testing: Cake, Cucumber, and Mocha. Clearly there was a Chef involved.
Now for the actual code base. I feel like I’m nearing the peak of the learning curve with our App, so here’s some gibberish: Node.js, Backbone.js, and MongoDB (plus Mongoose). Then there’s Heroku and Continuous Integration kicking the dev cycle into over-drive.
Outside all of this, there is the employee workflow. Constant communication is maintained through HipChat and GroupMe, tasks and projects are maintained perfectly through Sprint.ly (which connects very nicely to Github), and calendars and other communication is as simple as Gmail (which didn’t need a link, but while we’re at it).
To wrap it up, I picked up some helper apps from the company culture: the BetterSnapTool brings Windows 7 window size options to the mac, and Flux will modify your computer’s display colors to match the sun. It’s nice to see the sunset after a long day of programming. Time for for my CoffeeScript.