I have been working with computers since my first Commodore Vic-20 at abouyt the age of 10. While I used and understood computers, I never considered IT as a career path. Once I was discharged from the US Army in 1991, I got a degree in Geology from the University of Montana and then began work as a seismic geologist in the geologically stable center of the North American craton : Chicago, Illlinois.
After monitoring seismic data from construction and mining activities such as blasting and pile driving for only a short period of time, I quickly ealized that hand-analysis of data was not only extremely boring, but an amazing waste of resources. I began creating data filters in Excel macros using VBA. I quickly hit the limits of macros and acquired a copy of VB 5 from a friend who never wanted an IT career and ended up as a network administrator.
During this period I got a master's degree in project management (basically a similar curriculum to an MBA but less finance and more project management) and took over the Maryland office for my employer, Vibra-Tech Engineers.
I used VB 5 and then VB 6 to create applications used internally by the company and soon decided that I needed a little formal education, so I took an MCSD certification course. I learned a bit, though I still feel that certification is not a test of anything but a person's ability to study for a test. During the course, a manager who was taking the MCSE course asked me if I wanted a job. The pay was a 40% increase and the responsibility went from running all operations in an office covering 4 states to a team developer with no responsibility. I wasn't looking for a job at the time, but that's when I entered the IT industry “officially.“
For the next year I helped develop enterprise level asset and inventory tracking application using DCOM. Looking back I see that some of the ugliest code I've ever written came out of this period. I had no formal training, and no mentor at work. Basically a team of 4 guys were told “write the app that does this.“ We made a best effort to use ideas from books an online articles, but it was destined for bad things. To top it off this spanned the Y2K era, so we had to do on site solution replacement with schedules that would have been unrealistic even for seasoned engineers.
From there I moved to a company that did nothing but mobile applications. There I got my first look at Windows CE and eVB. I also taught myself C during this period while writing a relational database engine for PalmOS and some applications for the RIM (Blackberry). This period is when I actually learned a lot, and started to understand the benefits of proper coding practices and the value of architecture.
This was during the height of the tech bubble and when it crashed, my employer flamed out as well. A couple of month before the full shutdown, while we were having multiple rounds of lay-offs, I saw the writing on the wall and started looking for stable employment. That landed me at Applied Data Systems.
While I had no experience or clue about PCBs and schematics short of what I learned in college physics, I knew CE application development. I spent the following 5 years helping build code libraries for customers, drivers, kernels, debugging hardware implementing proper source control and multiple board build environments. It wsa during this period that I finally abandoned VB becasue it just can't do everything that's needed (sorry VB evangelists, but there are some things that it just can't do, no matter how hard you try to hack it). I honed my C and C++ skills, plus built a strong understanding of C#.
When the Smart Device Extensions (SDE) for Studio 2002 came out, I dove into the Compact Framework full force, joining with other MVPs to create OpenNETCF and build our strong Microsoft relationships.
In late 2005 we were getting enough call for side work that we incorporated and started actually accepting work. Since we all had day jobs it meant long evening and weekends coding. Then in March of 2006 I pulled the pin at Applied Data and went full time for OpenNETCF. It was about this time that I dove headlong into the .NET Micro Framework as well.
It's been a very, very busy 10 years but I've helped create one of the strongest Windows Mobile development brands out there. Together with the other partners I firmly believe that we're the best CF developer on the planet. There's little that at least one of us hasn't seen or done and there's absolutely nothing that we can't do with a little work.
Education
- Master of Project Management (MPM) - June, 1998
Keller Graduate School of Management
Oak Brook Terrace, Illinois
- Bachelor of Arts (BA), Geology - May, 1996
University of Montana
Missoula, Montana
Presentations
- Compact Framework Memory Management
Microsoft Mobile and Embedded Developers Conference
Las Vegas, NV - May 2006
- Programming with the .NET Micro Framework
Microsoft Mobile and Embedded Developers Conference
Las Vegas, NV - May 2006
- OpenNETCF: Building a Community-Driven Project
Microsoft Mobile and Embedded Developers Conference
Las Vegas, NV - July 2005
- Using Inheritance to Simplify Stream Interface Drivers with C#
Microsoft Mobile and Embedded Developers Conference
San Diego, CA - June 2004
- Rapid Embedded Application Development with Visual C# .NET
Real Time and Embedded Computing Conference (RTECC)
Reston, VA - November 2003
- Integrating Windows CE.NET into Enterprise Applications
Microsoft Windows Embedded Developer's Conference
Las Vegas, NV - October 2002
Articles
Books