I’ve been making websites since 1996. that’s a long time, but what’s more impressive is what I’m going to do next.

Development

I develop front-end:

  • CSS3 including transitions, animations
  • CSS2 and graceful degradation for down-level browsers
  • SASS to generate the above
  • HTML5 semantic markup, polyfills for older browsers
  • raw javascript and jQuery
  • slicing and optimization of production graphics

And back-end:

  • PHP – raw PHP and WordPress API coding: themes, plugins, administrative customizations
  • Ruby on Rails – just learning, but I’ve attended thoughtbot’s intro to Ruby and Rails and am working on a few projects

Design

I am not an Visual Designer. I am also not an Interaction/User Experience Designer. But, for most of my career, I have been in organizations working closely with both.

I see design as a problem comprised of three major parts: aesthetic, emotional, and technical. In order to successfully execute any one of these responsibilities, one must understand and appreciate the others. In my technical implementations I constantly consider the intentions of the Visual and Interaction designers. I avoid arbitrary decisions and shortcuts.

Environments, Hosting and Deploying

My primary development machine is a Mac (a really nice one). My editor of choice is Sublime Text. For employers and clients in the past, I’ve used Windows, but I am not as happy or proficient.

At various times in my career, I’ve administered my own VMS, FreeBSD, Linux, Solaris, Windows, Mac OS 8/9 and Mac OS X web servers.

I currently develop on my local machine for Ruby projects, and use a Mac Mini Server for WordPress and other PHP projects. I run a local DNS server, which lets me create an artificial top-level domain “.dev” and “clientname.dev” domains for testing from any device on my network.

For production environments, I maintain a variety of Virtual Private Servers, and a shared-hosting account for low volume sites that I can lock down.

For extra fun, I have a Raspberry Pi (low-power linux server) on my network, interfacing with my weather station and reporting statistics to Weather Underground. Here’s my weather station page, if you’re interested. I’ve also made a plugin to display this data, find out more about that here: WX Weather.

Management and Methodologies

Source Control

I actively use git and subversion (svn). I’ve also used Perforce, Mercurial, Team Foundation Server, VSS, and CVS.

The important points to remember are:

  • I never edit files that aren’t under source control (if you don’t have a repository, i make one)
  • I don’t quit for the night with files checked out
  • I check things in when I have working, atomic functionality completed (each checkin represents a completed piece of functionality) no ‘code dumps’ at the end of the day

Testing

Modern Browsers: i test cross-platform using virtual machines, in Chrome, Firefox, Safari, and IE8+.

Downlevel Browsers: IE7 is the oldest downlevel browser I test on, let’s take a look at your site statistics before we commit resources to going older than that. I also generally check everything in text browsers, with stylesheets turned off, etc. to make sure the baseline experience is good content and good layout.

Mobile Browsers: I test with live iOS devices, iOS simulated devices, and emulators for other devices.

Task and Project Management

I’ve worked in almost every methodology: waterfall, sashimi, agile. both real agile (working on a project with thoughtworks) and institutionalized agile (using software like IBM’s Jazz server). I prefer real agile if it is embraced 100% by all parties.

My personal workflow consists of GTD-like task management, maintained in text files for each project I work on. The files are stored in Dropbox, and I manage them in nvALT on my Mac, WriteUp on my iPad, and I append to them using Drafts on my iPhone. It’s pretty slick.

Other Tools

Additional tools I use and love: Live Reload, Adobe Creative Cloud Apps (Photoshop, Illustrator, Fireworks), Alfred, nvALT, Dropbox, OmniGraffle.

How I communicate: email, IM, IRC (freenode). I also keep an eye on Twitter all day (say hi! @mikesusz)

Anything else you need to know?

Please. drop me a note to get in touch.