A Day in the Life of an Indie Software Developer
J, a would-be customer can’t run Poker Copilot. It crashes on start-up with an error message I haven’t encountered in Poker Copilot yet. I’m concerned. J reported this because he is keen to try Poker Copilot. There’s probably many others who had the same problem but gave up immediately.
I have no idea what is causing this problem. I ask J for a few minutes of remote access to his computer to look for clues. He generously obliges. Using Copilot (no relation to Poker Copilot), I connect across the Atlantic (the world is amazing) to his computer, check a few things, and find that on his computer Poker Copilot is loading the wrong copy of an essential file.
I investigate the erroneous lines of code on my own computer. It is a Java class loader problem, picking up an external file that has the same name as an internal Poker Copilot file. I never fully grokked the Java class loader. I post a question on Stack Overflow, with the misbehaving line of code.
Within 10 minutes, the solution to my problem is posted. The problem solver chides me lightly for using an anti-pattern.
I make the necessary changes to Poker Copilot. I create a new build. I send it to J.
An hour later J tells me it works.
I upload the fixed build to the Poker Copilot website, replacing the current unofficial latest build.
I break for coffee and reflect that a) even 10 years ago, all this could not have been accomplished in a day, and b) tools like Copilot and Stack Overflow and high-speed intercontinental internet make my job easy, and c) I’m lucky to have enthusiastic and helpful users and wonder if other indie software developers also have such users.
Coda: Later in the day, J switched from would-be customer to paying customer. We both gained. J got personal attention to solve the problem. I got a critical bug dealt with, which will almost certainly lead to an increase in sales.