![]() |
|||||||||||||||||||||||||||||||||||||||||||||||||||
|
My career has been pretty checkered: I started out as a field engineer working in power plants, then became a "consultant" working at a desk. Then I went to shift-work, still in the power industry. When I realized that engineers don't actually get to build anything new in the power business, I switched to software. After the obligatory sweat-shop job, I became a contract developer -- a hired gun -- and built a lot of interesting things for other people. I joined a dot-com, made a lot of money in about a year, then lost more than I made in the following year. After the bust, I returned to contracting, and wrote some interesting and some not so interesting software. Now, for the first time since 1994, I'm working for a "big company" again. I have a smallish cubicle in a large cubicle farm, and once again I'm a small cog in a big machine, after being the hired codeslinger (and designer, and architect) for years and years. Why am I doing this? Well, stability, for one. It's nice to relax and know that you're likely to be working with the same people next week as this. You can build a team that outlasts the current project. You can try to create real processes. Etcetera. And there's stability: my college-age daughter needs to know how to visit the doctor. The "insurance card of the month" game is hard on her, and on my wife. And then there's big iron. I'm working on a user-facing application that's deployed on specialized hardware all over the world. The user-facing client talks, via XML RPC, to its server, and the server talks, via JDBC, to a couple of databases, and via JINI, to another server, and that server talks, via a raw socket, to yet another server, which runs a very, very fast transaction processing system. Some of the end-user hardware isn't available to me, so I can't test code on it directly. User responses must happen in less than 3 seconds. Users routinely just walk away from the terminals -- and we don't want the next user to use, or even see, the previous user's information. Imagine the possibilities! How do you make software smart enough to do the right thing in that kind of environment? |
Last modified: Friday, October 31, 2008 at 9:19 PM. Tech resources |
||||||||||||||||||||||||||||||||||||||||||||||||||