Mike A. Owens

Developer & Code Archeologist

UTC -0500, USA
mike@mikeowens.us

Portfolio

Hi! I'm Mike Owens, a software developer in the US, particularly focused on web applications.

I love working on all areas of applications: from front-end work, API back-ends to devops. I really like to see through complete features front-to-back.

I think I'm most effective in teams of one to ten, particularly when I'm spending most of my time interacting with technical people.

I usually take contract developer positions locally (North Carolina) or remote, but have been more interested in long-term situations lately.

I'm really used to the remote thing, so relocation would have to be a really special offer.

Skills and Technologies


Web Application Development

I'm a full-stack web developer. I've written and assisted the development in web applications in Rails since 2006. My most comfortable tools include:

I've worked extensively with some of the alternatives to that list on client projects: Node.js, React, mySQL, and Apollo.

I often consult with customers trying to bring Rails 2.x/3.x applications up to modern standards.

Open Source & Miscellaneous Contributions

I try to contribute as much as I can to the open source projects that I rely upon.

From 2009-2011, I spent some time with a game development group implementing quick desktop prototypes for mobile games. They play-tested the prototypes and determined what was worth pursuing on mobile, which was much harder to develop on at the time.

This work commonly had me deep inside Box2D, Chipmunk Physics, Cocos2d-X, and Mesa's OpenGL ES implementation to make sense of everything.

During the process, I ended up with Ruby bindings to a few geometry and physics libraries in C and C++. I was able to release the following two under the MIT license:

I was a contributor to ActionCable before it was merged into Rails proper, and have multiple contributions around the Ruby and Rails ecosystem.

I've contributed pretty heavily to Opal: the Ruby to Javascript compiler.

My GitHub account has lot of pet and toy projects, and also a few libraries I was contractually allowed to make public.

Here's an article I wrote a few years ago documenting how I broke The Silk Road's CAPTCHA. It made the rounds on Hacker News and Reddit for a week, and even got me interviews with Wired, CNN, and various other small tech outlets. Never did see an actual published interview, though. The details were a bit too nerdy, I think.

Unix/Linux Development in C and C++

I'm comfortable from the syscall level up with most Unixes. I can track down performance issues and bugs through VMs, interpreters and libc's. Most development work I've done here has been server side: supporting higher-level web applications with a performant native backend for hot spots (image processing, etc).

Selected Large Projects


I mostly engage in few-month projects, a lot of which are so boring and specific to an industry that it'd read like a dictionary. Here are a few recent things I'm particularly proud of:

meter.md

meter.md was a resort management web app developed in partnership with a large rental management firm in North Carolina ("tens of thousands of short-stay rentals each year"). It tracks the lifecyle of maintenance tickets, housekeeping and occupancy status, and inventory.
Role: I was the initial and primary developer, having pitched it to the client during a previous engagement. I grew the team to four remote full-time developers, and developed meter.md from 2011 until 2015. The project was maintained and extended under contract until 2018.
Stack: Rails 4.0 (later 5), PostgreSQL 9.4 through 10, and Elastic Search. The front-end was based on Backbone.js: more of a "classic Javascript" style.
Postmortem: meter.md was one of the first responsive mobile web apps I used that "felt right". An easy, mobile-first UI experience was the huge driver for the project: employees typically used the app while having their hands full in sometimes spotty cellular service.

In terms of customer impact and satisfaction, meter.md was a huge success. I predict it replaced 400 inter-organization phone calls a day with a mobile application that tradesmen and housekeepers were comfortable using.

meter.md still runs multiple instances behind firewalls today. Its successor was razormd, described below.

razormd

razormd was an ambitious project to greatly extend the capabilities of meter.md into reservation tracking, employee scheduling, and shift from an "on-premises" model to a SaaS.
Role: Development lead, with a remote team of four very interdisciplinary developers.
Stack: Rails 5 API backend (REST and GraphQL endpoints). ES6 frontend built with Vue.js, Vuex and SCSS. Additional infrastructure included: PostgreSQL 10 with heavy GIS components, Sidekiq and Redis. Functional mobile apps for iOS and Android were produced with PhoneGap. Integrated Twilio for SMS and voice. Tenanted application that auto-scaled using Docker images and utilization monitoring.
Features: We got some really impressive things working quick:
Postmortem: The client and funding development partner was acquired by a *very large* international company, and development was ceased during the acquisition.

This is a shame, because the project had a huge amount of potential. It had some interesting ideas that you wouldn't expect to see from a tame "back-office" app.