Build Arduino Sketches from CLI with Make
Reasons
The Arduino IDE has a lot of nice features. It's so easy, it's really one of the main reasons why you would choose to buy an Arduino over other options. It can be annoying sometimes though. If you want to distance yourself from the IDE, but still like the Arduino plaform, it's really as easy as just making a really simple text file and running "make".
By getting a command line interface, you can also automate the build and upload process. You can detect ports, or upload to multiple Arduinos at once.