This post is part of a series where Behance developers talk about the various tools they use to get things done and make ideas happen.

1) Who are you, and what do you do at Behance?

I’m Mike (and that’s one of my twins, Grant, on my shoulders. Julian’s a bit shy!). I’m primarily a JS engineer, but I also dabble in PHP, Mustache, and SCSS. I guess you’d say I’m a full stack dev who just prefers writing JS. I have a strong passion for testing, deployment, and code quality. I maintain (and contribute to) Behance’s static analysis toolchain: SCSSLint, JSHint, JSCS, PHPCS, and am currently working on centralized logging using Sumologic.


2) What hardware do you use?

I’m the sole Behance team member who uses a Macbook Air. I take my laptop with me everywhere and every ounce counts. In the office, it’s hooked up to two thunderbolt monitors, so I have three monitors total: code, browser, terminal.

3) What software do you use?

For editing, Sublime Text3 with as many static analysis tools I can find. SublimeLinter is an amazing package and the main reason I use ST3 over 2. I use Hub so that I can open PR’s from the command line and avoid using Github’s interface to share code. The standard vanilla Mac terminal serves me well. For debugging, I use the Chrome debugger because of async call stacks (an amazing feature) and better (as of this writing) source map support for SCSS. I also use grasp.js to find and replace Javascript using the Abstract Syntax Tree which works way better than standard find and replace.

4) What do you listen to while working?

My instincts! No, seriously, you’ll rarely find me listening to music as I’m one of those programmers who likes to be available to help others when they get stuck. Headphones == “don’t bother me” and I’m never too busy to help.

5) Out of all the equipment used, what piece of software/hardware do you feel is the most useful of all?

The terminal. The terminal. The terminal. A former coworker taught me the glory of CLI and it has really stuck with me. Aliases, dotfiles, and CLI tools like grasp.js and hub allow me to quickly accomplish tasks that would otherwise require unnecessary amounts of time fumbling through a GUI. With enough pipes, everything is possible. For example, need to add a trailing new line to every SCSS file? No problem. Either open them in a editor, manually adding it to each file, or you can just type: locate *.scss | grep “public/assets/sass” | xargs sed -i ” -e ‘$a\’ Of course, that’s now aliased to addnewlines.