The Soapbox

A place for opinionated rants and anecdotes about code, work-flow and creating digital goods.

Last updated

Zen Code

Less is more. Keep is simple stupid. Don't repeat yourself. Do as little as possible. Automate. Honor your craft.

Flux

The only constant is change. When I got into this game CSS layouts were vying for dominance. Now responsive design is the king of things. Remain open to emerging technologies and techniques that disrupt process, but properly evaluate new processes before on-boarding them outright. Try not to be embarrassed by older work. Stay excited for future projects. Embrace life-long learning.

Experience is simply the name we give our mistakes.
—Oscar Wilde

The Right Tools for the Job

SCSS is for style partials. Naming things is hard, but when I have to I use BEM. Slack is how I chat with the teams. WebStorm is my text editor, and where I lint code. Code is stored on Bitbucket. Gitflow is how the teams use git together. SourceTree is how I manage git and Gitflow. WordPress is the CMS I employ. Campaign Monitor is my email campaign platform. Trello is how I organize myself. GitHub, StackOverflow and Google are knowledge consultants.

In the land of JS I use npm to manage my packages. Tasks are run by gulp.js. The combined efforts of node, npm and gulp provide the bulk of my automated workflow. Autoprefixer manages browser prefixes and support. Browsersync makes setting up a quick development server easy and synchronizes file changes and interactions across devices without manual reloads. Images assets are losslessly compressed. Text assets are concatenated and/or minified. Modified files are automatically deployed to development servers on change, depending on project state and need. Anything that can be automated, should be. Follow Semantic Versioning and README / CHANGELOG best practices where possible.

A Brief Code Manifesto

I believe every project is unique. Each has different needs, different content, different timelines, different budget. I prefer to write HTML, CSS and JS to the most modern standards and best practices. I believe in building future-friendly websites with progressive enhancement techniques. I believe responsive design is the solution for our device and screen agnostic present. I believe that performance is more important than aesthetic decorations. I believe the highest-quality work is produced collaboratively between master-craftsmen with complimentary disciplines.