Development Process
These are the tools I use every day to create high performance web applications.
- Host OS
- Mac OS X
- Guest OS
- Linux
- Version Control
- Git
- Deployment
- Rocketeer
- VM Management
- Vagrant
- IDE/Text Editor
- Sublime Text
- Dependencies (Front)
- Bower
- Dependencies (Back)
- Composer
Developing on Mac OS X makes the process easier because of its baked-in Unix commands. OS X is also less targeted for viruses which means less down time. Its elegant and unified UI and access to many applications make it perfect for my needs. Developing in Linux under guest VMs is a necessity since the applications will be running on Linux servers in production. Vagrant is fantastic for managing VMs on the command line. I enjoy Sublime Text for its sheer speed, along with the Emmet plugin for its many productivity hacks. I prefer Git to Subversion due to its more modern approach to managing code repositories.
My Development Philosophy
MVC keeps projects tidy. I enjoy using MVC principles to keep projects cleaner.
Don't reinvent the wheel. When a library exists that I can customize to my needs, I don't waste time building my own version that would be less bug tested.
DRY (Don't Repeat Yourself). Refactoring code to make sure code blocks aren't being repeated helps to prevent future maintenence nightmares.
Easy to follow code is better than terse, clever code. I always try to write code in a way that other developers can follow.




