Wednesday, December 14, 2005
As I returned to full-time work, I noticed that my new salary was significantly larger than it was before I went part-time. I hoped that this was just an accounting oversight, but it turns out that it was due to one of those dreaded "promotions" that I am constantly trying to avoid. After talking with my boss, I discovered that I would again be leading development of a new product. As usual with such endeavors, I will start out knowing very little about the domain, and I have no idea how to do what I am assigned to do.
Among computer people, "domain knowledge" refers to the stuff that one's software is supposed to help its users do. For example, if you are developing accounting software, "accounting" would be the domain. If you are developing software for robots, then "robotics" is the domain. While there are common software-development skills that apply to all domains, every domain has its own unique characteristics, and learning more about the domain will make the developer more effective in solving the users' problems. Knowing about the domain also helps one in guessing what sorts of problems will crop up. Unfortunately, software developers often have to work on systems where they do not understand the domain, which leads to a lot of misunderstandings and a lot of frustrated users who can't figure out how to get the system to help them do their jobs.
In this case, the domain is "racing," meaning horse racing, dog racing, and other sports where people gamble on the outcomes of races. I barely understand what win, place, and show mean, and I have no idea what a perfecta, trifecta or superfecta is, so I have a lot to learn. Fortunately, I will be working with people who do know what these things mean.
So, for the next few weeks, I will be leading meetings and pretending to know what I'm talking about. With any luck, I actually will know what I'm talking about some time before the system goes live.
Now there's a new hobby for you: handicapping... almost as money-eating as flying lessons.
I don't know about the others but here's some things I learned from my grandpa (who played the ponies for 60+ years):
Daily Double -- picking winners in the first two races.
Trifecta -- picking winners in three races (from the greek prefix "Tri" meaning "Try try again").