I have nearly always coded for myself – that is, not for money or grades or anything other than my own amusement. In my early teens I learnt to program by writing a Risk-like game in Basic. During university, I taught myself C by writing a program to create imaginary worlds because I felt I didn’t learn enough during the “official” C course. Since then there have been many little games, libraries, ID3 taggers, etc. My “current” one I have called YAFAL – Yet Another Financial Analytics Library. I might write more about it later, but at the moment it is suffering the same fate as all the others. There has been no work on it since the new year, it has been superseded in my thoughts by company ideas (I don’t think YAFAL could make it as a business).
Basically, I tend to get to the point of solving the problem which initially interested me, and then my attention strays. This has not been a source of concern. I was doing it for myself, so I can happily define the finish point in any manner I wish. When working for other people, I always finish the job. Now I need to go further for myself. If I am to found a company then I can’t stop after the interesting stuff is done. I must keep going to release and then continue to support it. Hopefully this blog will help. By merely stating my intentions online and letting people read them, I feel a little more commitment to get them done. Or, at least that is the plan.
So the current situation is I have a side-project, YAFAL, and the startup idea. Actually, I have a couple of startup ideas. One is an original twist on an old idea and as far as I know no one is doing something similar. However, it will be a big project to complete. The other is fairly small, easy to implement, useful to many people and has a dauntingly huge number of competitors. Normally I would desperately avoid competitors. Now I think the small idea is the one to try first. It will be best just to get something up and running, learning the tricks of the trade along the way. As for the competition, I like to think of that joke about escaping from bears – you don’t need to run incredibly fast, only a bit faster than the guy next to you. If worst comes to worst it should fail-fast at little expense beyond my personal time and I may think of something better during the experience.