Microsoft Certified Application Developer

 

Microsoft Certified Professional


 
 

 

 

 

 


       
  That's me on the left after a long day of development. (Yeah, the picture is fuzzy. It was taken with a cell phone camera, but I like it.) I'm a hard-working, self-motivated software engineer. I have worked for top-ranked Fortune 500 companies as well as little start-ups.  This section is more war stories than self-promotion, so if you're looking for my stats, check out my resume.

I was born in Boston, raised in Revere, Mass 'til I was 12, then moved to Boscawen NH 'til I joined the Army in 1971 -- you'd think that would mean some of my war stories are War Stories, but it's not the case. In one of the cruelest bits of irony, draftees ended up in Viet Nam about 90 days after they were pulled off the streets, but volunteers had a three year waiting list. I spent my entire hitch in the US. I do have some good stories, but no Apocalypse Now stuff.

Toward the end of my service career, I was studying for my ham radio license (I currently hold amateur radio station license W1WX,) when I started seeing articles about building computers out of microprocessor chips. One of my favorite quotes comes from the then-CEO of Intel who when asked what he thought about people building general purpose computers out of his microcontrollers replied, "They're doing what?"

So my history with PC's  started back when they were called personal computers because you personally soldered computer together.

I first started programming after getting discharged form the Army. I was attending the University of New Hampshire as a theatre major. One of my friends in the math department showed me how to play spacewar on the IBM-360 to keep me quiet while I waited for him to finish up his work so we could go party. Yeah, it's the typical old-guy story about programs written in BASIC on punched cards. You've heard it; pretend I just told it, OK?

While I was at UNH, I took a course on computer design and learned to program a PDP-8 (12 bit computer made by Digital Equipment Corp.) from the switches on the front panel. Then a most wonderful thing happened: UNH got a PDP-10 (36-bit computer also by DEC.) Compared to the IBM 360 it was like democracy had suddenly flowered in Durham, NH. PDP-10's didn't lock the keyboard on your terminal when it didn't want your input. I was overwhelmed with love for this machine and its operating system that actually let people make the decisions. I became obsessed with the idea that computers could be used for useful purposes.

After I flunked out of UNH (too much partying and playing spacewar) I got a job as a PDP-10 computer operator for a timesharing outfit in Waltham Mass -- First Data Corp -- they were a great company and believed in training employees to prepare them for their next job -- I've seen a lot of companies since then, I've never seen that attitude again. (war story) I learned to program in Algol and wrote utility applications that made operations easier. In the mean time, I soldered an Altair 8800 together and happily programmed using the lights and switches on the front panel.

First Data got sold to ADP and I ended up going to work running the third shift operations for another timesharing company named Applied Logic Corporation. They were in the Boston Stock Exchange. I loved working nights in the city. There was something wonderful about sitting in the dark, cool city with the wind blowing off the harbor while I had my lunch at 3 AM -- it was the best.

I remember there was a cop who knew how to play his siren like a blues horn;  he would come down into the (nearly) deserted financial district to work on his chops as he drove the canyon-streets surrounded by tall buildings. Talk about the music of the night.

However, the company didn't last and  in 1978 I ended up working for Digital Equipment Corp, the company that made the PDP-10. It was like being admitted to heaven. I was working at "the Mill," their corporate headquarters. They had a problem (I tend to get hired when there are problems.) -- their operations had gotten so complex that three shifts were no longer enough to get their processing done. Third shift batch processing was bleeding into their morning timeshare operations. I went in to take their third shift operations and see if I could trim it down.

It turned out that they never trained their operators. The operators got a quick introduction on how to do their job from the most junior operator and then were expected to "pick it up." The whole operation was working on superstition and luck. I trained the operators and put some utility programs in place and soon they only needed one and a half shifts. Good for them. Bad for me -- I was the third shift lead.

Because I had done a good job for him, my boss pulled some strings and got me an entry-level COBOL job doing reports for corporate headquarters. Because I did a good job at that, they gave me a project writing a system to help the keypunch staff key in time cards directly to the database. Because I did a good job at that, they gave me a job doing real-time programming down in the Digital board shop.

And so it went. Each time I did something cool, I'd get to do something cooler. I qualified as a systems programmer on TOPS-10, RSX-11M/S and Ultrix (BSD Unix.) I wrote microcode for industrial networks (in the pre-Ethernet days, we fit the network to the application) Eventually, I was writing software in a small hardware lab that did a joint project with Sony and Philips to create the CD-ROM, which I think was the coolest thing I ever did for Digital. (Wanna read a war-story?)

But all things come to an end, and after 15 years at DEC they made a series of unfortunate choices which ended my getting laid off and them going out of business. Connected? You decide. My final few years had been spent writing PC applications using Microsoft tools and I left feeling like the market had come around to the point where it was possible to make a living writing software for PC's. ;-)

Immediately after being laid-off at Digital (1993,) I created Interlocking Applications as an excuse to take the summer off and develop software to control ham radio stations. IA was an on-again, off-again operation for the next decade because my heart wasn't in it. I was looking to re-live the Digital experience; I wanted to be someone's valued employee. But the economy was against it, and the more I worked for other companies, the more I realized I wanted to be my own boss.

Digital Odd-Jobs ®

After Digital, I entered the phase of my career that I consider the "digital odd-jobs" phase. I was hired by many companies to solve specific problems. When the problems were solved, I was laid off. (And frequently, the companies went out of business. Connected?) At first it got me down, but now I realize that I'm really happiest when I have a job to do and really bored when the job is done. And I'm kind of expensive to keep around if I'm bored.

(So I've developed "digital odd-jobs" into a service and through Interlocking Applications I provide that service. Got a problem? Hire me to fix it on a short-term contract basis and we'll both be happy. )

Some stories are hard to tell without reflecting a little shame on the companies I worked for. One, for example, had tried to build a Windows application to replace their old application that ran on a mainframe with terminals connected to it. The old system had literally thousands of commands available. The Windows application had a menu bar with one, single entry in it, but when you clicked on that menu what dropped down was a huge sub menu with each of the thousands of commands represented with an item on the one menu. They didn't understand why they ran out of Windows resources when they opened the menu.

Later, the same company swung too far in the opposite direction creating an object-oriented banking system where objects ran wild. There were date objects that could render themselves in any format, money objects that could render themselves in any currency and even number objects whose job was to populate the other objects with numbers that could be read as integers of any width, any of several different kind of floating point number and so on. All very elegant, but the project just never managed to get to the point where the objects stopped and you finally had data.

<more later.>

 
       

Microsoft is a registered trademark of Microsoft Corporation in the United States and other countries.

*Digital odd-jobs is a registered service mark of Interlocking Applications.

Copyright © 2004, 2005, 2006 Interlocking Applications. All rights Reserved.