I try to avoid pretending that “I am” career and other labels; I’ll get around that by being descriptive.

I’ve been a freelance software developer since 2007 and was a building automation controls technician between 2011 and 2017. You can find my GitHub profile here and my LinkedIn profile here.

I spend a lot of time in front of a computer, but I have a better time when I get outside. I’m trying to learn how to make music. I have a very anxious dog. I like to “do science”1, even when I’m just trying to make a cup of coffee. I’ve been playing old video games lately.

I run a Mastodon instance for the Canadian Maritimes.

Education

I spent most of my childhood tinkering with obsolete, free computers. I learned how they work, but I had to turn some of the cables into pink smoke to do so. By 13 I was learning to code in C and tinkering with different distributions of Linux in my spare time. Around 2007 I began freelancing as a Perl and ASP.NET programmer. That Perl experience gave me transferrable regular expression skills that enabled me to switch from building automation to full-time programming, but more on that later.

I knew I wanted to be some kind of engineer, and I knew that I had an aptitude for computers. I didn’t want to be stuck in a cubicle as I imagined information technology jobs would be; I wanted to do something physically connected with the world around me. Mechanical Engineering seemed like a broad door-opener for that. I graduated with a Bachelor of Engineering from Toronto Metropolitan University (formerly Ryerson University) in 2011. That shot my career off in an “engineer-ish” direction, but I didn’t land where I expected at all.

Career

Building Automation

My first “big company” experience was as a field automation technician with Honeywell Building Solutions in Toronto. My BEng foundation and computer aptitude allowed me to excel at this technical position and develop expertise. I got to work work all over the city and meet different people, products, and problems. I had a healthy working relationship with my manager that had a significant influence on my career and life, which I am thankful for.

The nature of my responsibilities grew as my expertise and confidence increased. I provided technical support for field technicians, proactively improved key sites, and handled field troubleshooting for high profile issues. I learned a lot about the inner workings of dozens hardware devices and their software, which my low-level experience ten years ago made possible. I’m especially proud of finding a bug in one of our flagship products that I was also able to solve using induction and static analysis tools.

Eventually high management turnover left me stranded without a path forward. My future with the company seemed murky and I was feeling stagnant. It didn’t seem to matter if I did a good job or a mediocre one, and my feeling of self-worth was deeply (and problematically, as I think today) tied to that. I loved the autonomy, but I still need my work to matter.

I left Honeywell in 2016 to join a small controls company based in Burlington, Ontario. It was my first experience with installing controls systems from scratch and my first experience with hiring. The smaller company was stretched thin across Southern Ontario, and I even had a job in California! I became frustrated with travel time and did not last a year. I was disappointed by displays of poor emotional control and outsized egoism from people in positions of power. I found an opportunity to work a lot less for a lot more, and traded in my bucket in a boiler room for a large desk in an air conditioned space with a view.

Software Development

I was the first software developer hired by J. S. Ferraro, a small company that specializes in meat trading, livestock markets, and risk management. They posted an ad to HackLab.TO’s job board asking for help with scraping text files. At the time their systems were Excel based. In Python, I built them a data acquisition and notification system and converted their Excel spreadsheets into interactive Tableau dashboards. The acquisition was accomplished using a regular expression meta-language I created for the purpose. I migrated their servers from hosted virtual machines in a datacenter to AWS and saved them a bundle doing it. Their data collection, predictive models, and visualization system now likely has no equal in the meat & livestock market; though this is a market where floppy disks are not a distant memory.

After two years in the position the system was built and stable. I hired three software developers and filled a temporary position as the Acting Director of Information Technology. My former reluctance to enter the IT field proved justified, as I learned that management over information technology is not a position that I enjoy. My power to improve what I felt important to improve could only enact changes over long periods of time. The physical meat industry is improving, but there’s a lot of inertia in all those fax machines, the ancient enterprise software, and physical printouts.

Freelance & Burnout Recovery

I struck out on my own as a freelance software developer in February of 2020. With less reason to stay in a small, expensive Toronto apartment, my partner and I bought a house in Amherst, Nova Scotia.

I used my newfound freedom to learn the Rust programming language, develop my first Android app, NeuralNote, and recover from burn out while freelancing enough to pay the bills.

The productivity “demon” responsible for my burn-out sat on my shoulder whispering sweet nothings about my value, pushing me toproduce monetizable things; and so I was convinced to start a project dedicated to the promotion of critical thinking in the mad noise-ridden world of trading; but I’m just not that interested in trading. Bayesian statistics was the real attraction there for me, but I see that as a useful tool rather than an end in itself.

I’m working on a multi-currency budgeting app that helps partners (from couples to polycules) manage finances together by doing it separately. Think YNAB plus Splitwise, except the former only supports one currency per budget. This’ll save me and my partner time, and I am hoping that others find that it does it for them, too.

I’ve been going a bit nuts collecting Tolkien books. I’ve been finding the legendarium really rewarding to study in depth. Each time I turn over a rock expecting to find nothing, I keep finding smaller rocks to turn over! It’s an adventure that keeps on giving.

I am trying my hand at growing some plants indoors. Gardening of any sort is entirely new to me but it’s been immediately rewarding. I’ve got a bunch of flowering pepper plants, a few lemon seedlings, and some basil plants as of this writing. I’m hoping to fill the house with the smell of citrus, but we’ll see if that works out!

I’ve been learning to produce music, but it’s been an extremely slow hobby to develop.


  1. i.e., take records to allow repeatability, use equipment that can give stable results, review results constantly as feedback for future attempts ↩︎