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.