Something that has been a big part of each job I have had (excluding Ross and Taco Bell) was that I would always find something I could fix with software (well actually I could’ve fixed the Taco Bell stuff but they wouldn’t let me) so I begin coding away on the problem.
At first just taking a small portion of each day working on it, then progressively ramping up the amount of development time I take at work, along with spending more time on the project at home. I’ve always chocked this up to me wanting to be a professional programmer, along with my drive to fix problems I see, especially problems that inconvenience me.
Each of these times people asked me why I would work on work related stuff at home when I wasn’t getting paid for it and I would tell them it fun or it will make work easier, or in the case of working at Retail Imaging it was to get off the phones and into the IT department.
It gave me experience, made work easier, though I was working at home so there was no net lessening of work, in fact there was probably an increase. Be that as it may, it was a fun increase in work, it let me relax and gave me a sense of accomplishment.
Now I am programming for a living, I love it, I get to come in and work my way through problems and challenge myself. I have already begun fixing things and am getting that sense of accomplishment, along with the experience and with each thing work seems to get a bit easier.
But I am still doing my old habit. We have these data files at work (YAML) that are unweildly and not very fun to edit, add to, or create. There is no validation that the type of information put in for a value will actually go into the database until it blows up when trying to shove it all in there.
I decided I wanted to write a tool for this, now it isn’t a bid deal for everyone else it seems, even the QA folks don’t seem to care too much about this. For me though this is a big deal, so I spoke to my boss to see if he knew if there were any existing tools, and he gave me a detailed explanation about why not.
So I have now started development on a tool to do this task, that I am working on at home, and now I have no excuses, it is just fun for me and if my friends and family insist on questioning it and warning me I am going to burn out, I am just going to ignore them.
Programming is a passion for some of us, sure there is too much of a good thing, but that is why there are many programming languages, design models, domains, and environments to program in.