Ugh! I reserved my MSDN blog address in May of 2005 and almost two years later I am sitting down to author my first blog post.
I joined Microsoft in September of 2000 after a series of interesting experiences in the telecommunications and healthcare industries. My software career began with what was supposed to just be a summer job as a data entry clerk for AT&T Bell Laboratories (now Lucent Technologies) in the Engineering Records department.
[Marlene, you have long since retired and I doubt you'll ever come across this post, but just in case, thank you so very much for the opportunities you provided me. You and Nancy changed my life.]
My job was to load CAD drawings into an "electronic vault" for subsequent distribution to manufacturing facilities. I could literally spends hours writing about that initial experience, but I certainly won't bore you with that here.
Well, okay, I suppose some of the details are important to understand a little more about me.
Let's just suffice it to say that I really am not very good at repetitive tasks, so I quickly found myself automating my job using Unix shell scripting (Korn shell was always my preference, by the way). However as the complexity of the scripts increased, I switched to C++ in order to directly utilize the API of the product data management system we were using. (It was a product called CMS by Workgroup Technologies -- I wonder what ever happened to them).
Command line programming quickly got old, so I soon started developing in X-Windows using Motif. Ah, those were the days…XtCreateManagedWidget, XtAddCallback, etc.
Whenever I am feeling nostalgic and thinking about the old days, I sometimes do a search for:
"Jeremy Jameson" widget
And browse through the results to see if there is any semblance of my legacy in the deepest, darkest corners of the net.
(Like most people, there are a number of porn stars out there with similar first and last names. Putting my name in quotes is the only way I have found to tell my mother how to look me up on the Web.)
Just a sec…
Yep, the Motif FAQ is still out there, and somehow after all this time I still manage to be in it:
Writing Motif applications in low-level C++ code, can best be described as masochistic. Fortunately I was able to convince my management to buy one of the really expensive UI builders for X-Windows, namely db-UIM/X. That was certainly fun for a while. I basically had the opportunity to develop a completely custom front-end for the PDM system, which we affectionately called OLIVER (the Online Information Vault for Engineering Records). Cute, huh?
Okay, I am definitely digressing. Let me try to get back on track.
When I left AT&T, I joined COBE Laboratories where a man named Jim Hogan was kind enough to take a chance on my ability to transfer my C++/Motif/Oracle skills on the Solaris platform to Visual Basic 4.0/Access/FoxPro on the Microsoft platform.
I couldn't believe how easy VB was after spending all those hours tracking down segmentation faults and "Panic on CPU0" messages caused by one of my inevitable mistakes manipulating pointers. I spent a couple of years ramping up on the Microsoft platform and developing some very cool applications for tracking the manufacturing of kidney dialysis machines. Anyone who has ever worked in an FDA-regulated environment can certainly relate to the rigors of developing systems that support the traceability of "critical" assemblies, subassemblies, and components.
Imagine that one of your suppliers notifies you that 20 or 30 lots of a piece-part used in your pump assembly were determined to be faulty and now you have to identify the hundreds of machines that need to be recalled -- months after they have been shipped to hospitals and clinics across the country.
Digressing again...I know.
So, after COBE Laboratories came Micromedex -- a smaller company that creates knowledgebase systems for the healthcare and environmental industries. Micromedex hired me for my VB skills, but I also took on other development projects in C++ and CORBA (if memory serves me, we were using the Iona Object Request Broker). This is also where I got my first exposure to SQL Server (it was version 6.5 at the time). I can still remember how doubtful the industry was at the time that SQL Server would scale.
When I left Micromedex, I joined one of the three major DSL startups at the time -- Rhythms NetConnections. Ah, what an experience that was. Everyone talking in the hallways about what they were going to do when they retired in a couple of years from their thousands of stock options…
Needless to say, I took a financial bath at Rhythms -- I was never able to exercise a single stock option and over the course of a year, I managed to write off 15% of my salary through a dismal ESPP program.
Nevertheless, I consider my short time at Rhythms to be a valuable experience for several reasons, not the least of which is that I gained experience with ASP and MTS.
When I left Rhythms in August 2000, I joined Microsoft Consulting Services the following week.
On day #2 (management was kind enough to give me a day to configure my laptop), I joined a consulting engagement at a large ERP company here in Denver under the mentoring of Mike Fitzmaurice. It was an "early adopter" project deploying "Tahoe" (which was later renamed SharePoint Portal Server 2001) .
[Fitz, I will never be able to thank you enough for the mentoring you provided in those early days. We miss you in Denver, but it's great to see the new things coming out of the product team -- many of which I am sure can be directly attributed to your genius.]
Interestingly enough, that ERP customer was located in the building where the local Microsoft office moved last year. Talk about coming full circle!
Not that I expect anyone -- with the possible exception of my family -- to read this far, but that wraps up my first blog post. Perhaps you can see why I have been putting this off for so long.
In the future, I will strive to spout information you might actually find useful when building solutions on the Microsoft platform.