I mostly thought computers were for playing games. That is, until I realized I could use DOS’s batch programming language to automate tasks. For example, I wrote a program to make my modem dial my friends’ phone numbers for me. The code itself was simple, but the solution had a real impact. I no longer had to memorize or keep a phone directory around. I loved that I could use a computer to solve problems and make life easier.
The clearer understanding you have of a problem, the higher chance of success you have of solving it.
In junior high, I was exposed to my first programmable UI platform — HyperCard. My friend and I challenged each other to build a game using it. I had the grandiose vision to make a complex strategy game, while he opted to create a basic target practice game. My friend ended up winning the challenge. The experience solidified my passion for programming and taught me an important lesson about simplicity.
The next year I started learning HTML and then C++. Before long I was writing C++ to dynamically create HTML websites based on a structured content directory. I enjoyed every aspect of programming, but I was not sure what career path to pursue. I thought that entering the workforce would help me decide what direction to take.
So after a year of college, I found a job at a local oil company in Calgary. I was responsible for using a program to generate and prepare reports from a database for our negotiating team. The problem was that each report required hours of manual formatting and polishing. A few weeks in, I went boldly and suggested to my boss that I could write a better program that would save time. He gave me 10 hours to build a prototype and was so happy with what I showed him that I got to focus on writing the program full-time. This was the start of my career as a software developer.
It was exciting to use my programming skills to automate processes and solve real business problems.
Over the next few years I built custom database-driven software solutions for a variety of consulting clients. I then transitioned to working in-house for a design agency that built web applications for large branding, advertising, and website projects. This taught me to really consider the user experience, how every component needs to come together to create a positive experience for users. I was not satisfied to just sit down and write code to finish a feature or project — I wanted to understand how the code I was writing would address the customer’s needs.
When it was time for my next career step, I knew I wanted to find a remote company with a strong culture and an obsession with customer experience. I came across a few Aha! job postings online and was immediately intrigued. But before applying, I signed up for a trial of the software. I knew I could not contribute meaningfully to the product if I did not understand the problem it was trying to solve.
As I explored the application and studied the product overview, it was obvious I had found something special.
In all my years of building products, I had never encountered a product management tool that was so thoughtfully structured. Instead of being an afterthought, strategy was a foundational element. I appreciated how users could align the actual work with that strategy, not merely track user stories and sprints. Even if I did not get the job, I wanted to use Aha! at the next company I joined.
Less than 12 hours after I submitted my application, an engineering lead reached out to me to schedule an interview. Two weeks and five interviews later, I received an offer to join the team. It was clear that Aha! was serious about its product and hiring the right people.
I have never worked with such an experienced group of engineers. Every one of us takes a weekly support rotation so we can stay in close contact with our customers. This helps us all better understand their needs and quickly solve their problems. And we get to work on new functionality too. For example, I contributed to the new capacity report and iterated on the UX of this advanced capability.
I know that everything I work on directly contributes to the success of the company. Every day I have the opportunity to use my knowledge of programming to help solve our customers’ problems in an elegant way. To me this is true happiness, plain and simple.
That is why I joined Aha! — and why you should too.