Current Employment

VP, Engineering at Phase2 Technology

Employment Preferences

Residence
Charlotte, NC
Language
Prefer to move to higher level languages but am open to using anything that proves useful.
Environment
I prefer to work with the person whose problem I am solving directly and then collaborate with a small team with few barriers to selecting and implementing appropriate solution.
Philosophy
I tend to be conservative in tools and techniques but look for ways to improve. Version control is a requirement. Developers should write basic documentation. Maintenance responsibility will make one a better programmer. Responsibility for deployment and operations will make one a better programmer. Nothing is more satisfying than showing someone your work and having them say, "Wow, that's impressive".

Experience and Skills

Resume Style

I've schwartzian transformed, walked a stack instead of recursed, got run over by Big O on a linear search and fixed it by going binary. I regularly express, left outer join, connect by and select sum over partition by when necessary. I've loaded millions of rows and figured out how to throw them away while maintaining useful summaries and created a flattened view of a hierarchical data structure with a page of PL/SQL. I've written Tetris in Lingo, generic form processors in PHP and can still read things I wrote in Perl years ago. I've created user interfaces and admin interfaces and figured out ways to turn a template engine into a self documenting database of configuration options.

I write everything by hand, generally don't trust IDEs and will not work with you if you won't use version control. I've created output for Quark, survived upgrading to 10G and refactored away a materialized view. I've cached at multiple levels, transformed HTML for Excel and converted more XML than I care to think about. I've fetched with LWP and realized I needed a better architecture as that one little script spread like a virus.

I've figured out ways for anyone to update the content, had the system taken offline during a demo and dealt directly with the customer when it was my fault. I've put array references in hash values, taught others what I've figured out and will automate as often as I can.

I've worked for a media company for a decade on all types of Web sites and browser based utilities and I've been sent to the other side of the globe to help a customer launch but I have not yet talked to you.