MY oldest son, Christopher, is deeply interested in video games and, as a result, I’ve been exposed to computer gaming more that I probably wanted to be. I should also add that none of my three sons are computer programmers—or even interested in programming (in fact, Jason’s computer seems to actually hate him). As part of his interest in computer games, Christopher picked up a book called Postmortems. This book consisted of nothing but discussions of games by the people who had built the games. Much of the discussion assumed some understanding of game programming, and so I was called on to provide some background.
The book turned out to be fascinating. There’s a lot of very neat stuff happening in the gaming business. It also turns out that there’s an enormous number of books written for and about programming for games. I realize that I’m just revealing my ignorance here, but I had no idea that this subculture of the application development world even existed.
One area that intrigued me is programming AI (Artificial Intelligence). In the game business (as many of you are probably aware), an “AI” is a component of the game that can act independently of the game player. The key characteristic of AIs is that they appear to be responding intelligently to a changing environment.
I can’t help but wonder if there are some techniques being developed in this field that could be used in the work that I do. I suspect not, but I’d be keenly interested in finding out. The discussion of pathfinding probably won’t be much help to me (pathfinding is how a computer-managed character finds its way from point A to point B). But the knowledge that’s been developed around decision-making processes could be very useful in creating intelligent objects.
The point is that I believe that the more things you can expose yourself to, the more you can do. Part of my consulting business is built around user interface design, for instance. Some time ago I was exposed to wayfinding, which has been very useful in my UI work. Wayfinding is actually a subfield of architecture and concerns how to build structures so that people can find their way. Yet I’ve found the ideas in wayfinding veryhelpful in helping my clients design Web sites that are organized around browsing.
In your life you’re interested and involved in a great many more things than writing Access programs (at least, I hope that you are). The first and foremost question in your mind should be how you can bring all of the various experiences that make up your life together to create something that no one else can.
When I was working toward my MBA, the instructors spent a lot of time talking about “competitive advantage.” You had a competitive advantage when you could do some combinations of things that no one else could do. You didn’t have to do any one of those things better than anyone else—it was the unique combination of things that you could do that created your competitive advantage.
In my life, I’ve tried to bring together my technical knowledge, technical writing abilities, and skills as a teacher to create a consultancy that no one else can compete with. If you want a geek with Access, XML, SQL, and VB, who can write and teach, I’m hoping that I’m your only choice. There may be only three people in the whole world who need my particular set of skills, but I own those three people.
You are also a unique individual. The question is how you can bring those unique characteristics to bear on your work to create your competitive advantage—to do what no one else can do.
Changing topics: In this month’s issue we have the first of two articles by Rick Dobson. With this article, Rick starts to fill in the gap in tools that Access developers face when building SQL Server applications. Rick’s database explorer, coupled with the security manager that Russell Sinclair described in our December 2002 issue, is a step toward giving you the tools that you need to manage a SQL Server database.