A couple months later, SSC asked me to come back again. This time I didn’t have a topic on the tip of my tongue. But I do have a lot of passions. So I came up with a problem near and dear to my heart: helping coders with their non-code skills.
Social Engineering for Good, Not Evil
For several years now, I’ve been using Open Source Software pretty heavily. Of course there were the dabblings with Linux in college, but starting at Microsoft mostly quashed that. Four years ago, when I jumped headlong back into the world of code, I chose Ruby on Rails. Not long after, bought my first Mac, based heavily on open-source technology. Now I host my Node.js apps on Ubuntu VPS machines.
In the last year I’ve really tried to increase my contributions back to the community. My pull requests have been approved for a number of projects (postgres-adapter, jugglingdb, groc, and grunt-mocha-cli). But my bigger focus is on original projects filling needs not covered adequately by the community today.
I’ve started and worked on quite a few Node.js projects at this point, and I started noticing some patterns. Standard things that just about all projects needed. Nearly two years ago now, I created a private library I called TheHelp, hoping to use it for my project and release it to the public too. I did use it heavily in all my projects. It grew and grew.
A year ago, I realized that I’d never release TheHelp in its current state. I needed to split it up. As I investigated this possibility, I was surprised to discover something like ten separate components hiding inside that one project. So I started the process of splitting TheHelp into its component parts. Everything got a lot cleaner.
So far, I’ve released six TheHelp components via github and npm, with more on the way:
Install ‘em and let me know what you think! :0)
Last October, a couple software development contracts fell into my lap, and I took the one focused on my platform of choice: Node.js. This kicked off a number of contracts over the past year. Happily, I have been able to avoid the mistakes of the past and keep my hours low - 20 hours or less per week. I can make progress towards my own goals while also making my client happy.
In the last year, I’ve worked on three contracts:
In the last year I discovered some of the interesting ways the law doesn’t consider Sole Proprietorships to be real companies. The most impactful for me, discovered in setting up one of my contracts, was that Sole Proprietors are often considered employees, not independent contractors.
So I incorporated: Gamma Corvi, Inc. I do my contract work through it, and will soon be releasing original applications through it too. It feels good to have full legitimacy. It’s got an accountant, a lawyer, a payroll setup, and a real business bank account. Gamma Corvi, Inc. is for real. :0)
I named it after the brightest star in the Corvus constellation, itself named for the Corvid family of birds. Why? Because I’ve grown fond of the smart little crows common in my neighborhood. I even added some easter eggs with crow-related trivia and videos to the company web site!
I feel like the last several years have prepared me for this time in my life. I’m learning a lot, releasing projects, doing contracts, living how I want. But honestly, the last few years have all felt like that. Actually, the last three years. Come to think of it, it’s been exactly three years since I left Microsoft.
Before my departure, I remember being very nervous about leaving Microsoft. I wasn’t sure exactly what was going to happen next once I turned in my keycard. Now, after three years I can say that even those low-confidence post-Microsoft expectations were all wrong. But that’s a good thing! Growth!
My time since Microsoft hasn’t always been comfortable, but it has been very rewarding. Here’s to another year of closing my eyes and stepping out into the void. :0)