Résumé

If you dream about software developers, there is a distinct possibility you’ve already seen my face. And although based on that cameo appearance you are doubtless consumed with a mad desire to immediately cast me in the role of computer hacker or undercover agent in your next blockbuster film, permit me take a moment to apprise you of a few other desirable traits I possess apart from my dashing good looks and scintillating repartee.

(If you still want me to star in your movie after reading the stuff below, fine. Contact me. But I’m telling you, you might be missing out on some good software development.)

The Three-Sentence Summary

I’m a full-stack software developer with over thirteen years of professional experience working at companies ranging in size from just a few employees to over 4,000. My specialty is developing web applications, but I’m also competent in Windows desktop development, database design and implementation, and basic server administration. The greatest reward of developing software is wrapped up in the reason for its existence: to solve real people’s real-world problems.

The Gritty Details

What, you’re still not ready to hire me? Fine. Here are some more clues about just what I’m capable of.

Languages and Technologies

I divide languages and technologies into two general categories: the stuff I’m proficient at and can make use of immediately, and the things I’ve worked with in the past but would need to brush up on before making productive use of them today.

Working Proficiency
C# (.NET)
web applications (ASP.NET)
desktop applications (Windows Forms)
Node.js
most often paired with the ExpressJS framework
JavaScript
the core language
TypeScript
My preferred method of writing JavaScript
React/NextJS
I’ve used it primarily in maintaining and extending Review 360
Socket.io
Used as part of team-based single-page applications for realtime two-way updates with other users
SQL
Dialects include SQL Server, MySQL, SQLite
HTML
I like it handcrafted, semantic, and pragmatic
CSS
I’ve been eschewing table-based layout and heralding semantics since before it was hip to do so
Basic Knowledge
Ruby
Rails framework
General-purpose scripting
XML/XSLT
I’ve engineered and maintained a variety of magic things that take some XML in one end and produce more, or sometimes less, but always different (and frequently pleasing) XML out the other end.
PowerShell
Windows-based application deployment automation
Service monitoring scripts/health checks
Other Javascript frameworks
Underscore
Backbone
Angular
ASP.NET MVC framework
Been a while since I’ve used it in production, but I’ve written and maintained a couple of apps with it and unquestionably enjoyed doing so.

Database systems

I’m generally competent at relational database design and implementation, and specifically competent in the following technologies:

PostgreSQL
also its LTREE extension for storing hierarchical data
SQL Server
versions 2005, 2008, 2008R2, 2012, and Compact Edition (CE)
MySQL
version 5.1+
SQLite
for whenever I need a reliable standalone data store

I’ve dabbled with NoSQL databases (specifically MongoDB), but I haven’t yet used one in a production environment.