It’s both a blessing and a curse. The disease that drives me to create software, has cost me GPA points and bank account dollars.

I’ve always struggled to let go of a problem. Even as a small kid, I would take apart electronics when they didn’t work as advertised and try to fix them—no skills, no training, just a basement full of rusty old tools and hyper focus. My parents weren’t happy when my projects failed to go back together as easily as I took them apart, but that never stopped me.

I always felt confident that I could fix anything. Even as a teenager, I decided that I could fix the busted two-speed Powerglide transmission in my ’68 Camaro. The one in my broken down Bel-Air of the same year was similar. How hard could swapping linkage and transmissions be?

My first attempt broke the same front pump gear that stopped my Camaro from moving in the first place. My second attempt was better, but my pretty blue Camaro only went in reverse… slooowly. The third attempt was spot on (although I was annoyed having to replace the transmission fluid again). With only a minimum wage job at Taco Bell, I had much more time than money (the Bel-Air was a $150 car and the Camaro an expensive $800 investment) and plenty of incentive to focus on fixing my wheels.

In college, I used to spend hours camped out on a computer terminal until they kicked us out at midnight. A few of us Computer Science (CS) majors convinced the engineering students that we could help them with their programming projects in exchange for access to their exclusive room of five terminals. The big terminal lab was always full of “lowly” Data Processing students working on their clumsy COBOL code, but having this private space to work fueled my obsession.

Even away from the terminal, I would churn on a software problem. I’d wake up in the middle of the night with solutions and have to write them down. My goal was to have my project submitted early with extra features—I wanted to be the best programmer no matter what the cost. Consequently, other classes suffered if they happened to require my focus during a development cycle. Being hyper-focused made me a top CS student with an average overall GPA.

Fast forward to today and my ability to hyper focus has been a great asset for my software design. MoneyWell would not have been as innovative if I took a casual approach to creating it. The problem is that selling software isn’t all about the code; you need to promote it, document it, and manage a company infrastructure.

Unfortunately, I’m only hyper focused with things that I like doing and I like doing the software design the most. Structuring a company is easy enough—I’ve done it several times over the past three decades so I can knock that out without much focus. Accounting, payroll, taxes, and corporate paperwork are boring as all get out, but I can outsource those tasks. It’s the promotion and documentation that tends to lag with me.

Now I love a great looking website and clean, clear documentation, but both those jobs get pushed off in favor of improving the code. I should spend more time on both, but once the bare minimum is done, I lose focus.

Marketing is my real weakness. I think I’m good at marketing, but it’s so painful to do sometimes. The most difficult part is promoting my products when I’m not 100 percent happy with them. Even if they are better than many of the competing products, I struggle to write ad copy. I start and then think, “I could fix this portion of the code and then I’d really have something to brag about.”

It’s a sickness. I completely admit it. But I am working to improve.

The next few rounds of software releases will be the proof that I have some control of this problem. The prospect of higher sales revenue due to better marketing is decent incentive, but that means I have to step back from my coding tools to make it happen.

We make great software that has dramatically improved the financial futures of thousands of our customers, but if people don’t know our software exists, what good is all that engineering effort? I have to keep reminding myself that marketing doesn’t just happen. It requires me or someone else in my company to take action. Apple may give us boost now and again, but that’s just one small piece of the marketing puzzle. I have to stop pretending that the next release will simply be so wonderful that it will get rave reviews by every news source and talked about by every blogger. Promoting software requires planning and needs someone to execute those plans.

Speaking of which, I have new releases of MoneyWell and MoneyWell Express that are nearly ready for App Store submission and I haven’t written press releases or updated the documentation yet. I’d better focus on that.