Technology was not native to me – as it is to children and young adults today. Simple four function calculators started becoming popular when I was in Elementary School. I only had a single computer course in High School (it was the only one offered). We had a Timex Sinclair and later a Commodore 64 computer at home. It was fun, but I wasn’t hooked.
I started a car and motorcycle parts business when I was 18 years old. I was looking for a way to get cheaper parts for myself, and thought if I could make money doing it then all the better. Nearly everything I did was manual (and not always much fun). Then I learned about a Radio Shack TRS-80 at college that had a word processing program. I used that to create mailings to parts companies, distributors, and potential customers. Before long I had a catalog of products that I could sell and a small but loyal customer base buying from me. If they only had Quickbooks back then I may have kept the business running. But, this was my first technology win and I liked it.
A few years later I was programming at a local marketing company. The MIS Director (what IT used to be called) decided to purchase a new relational database product that came with a 4GL application language. This was around 1987 and these things were very new. The product was sold as being able to save “75% of your development time and effort.” Most of the seasoned people didn’t want to risk their reputations on something that might not work. But I was new and had nothing to lose, so for the next month I read every manual cover-to-cover. Before long I was working on new applications, and soon I was the in-house expert. This led to a fast track for promotions and developing a majority of the new applications being sold. It was not easy, but it was definitely fun and good for my career.
My first and arguably most influential mentor was at this job. He taught me about designing parameter driven systems that were flexible and extensible. He also taught me that “good enough usually isn’t good enough.” Most people are lucky to have one really good mentor during their career. I’ve been blessed with four of them at different stages of my career. It has motivated me to return the favor and help others whenever I can.
A few years later I was working at a software company that was creating a new standard product on this database platform. Nobody was trained on the product and most wrote their embedded C / SQL programs just like any other 3GL program. I pointed out to the VP of Development that this would be a problem. He didn’t want to hear that. I pushed for a concurrency test and everything locked-up. We spent the next two months creating functions to manage transactions, optimizing everything (even table structures to get the best byte alignment), and making this work. The VP now liked me, and we worked on other things to enhance performance. We created a system much like Memcached in Perl (back in 1990) to allow us to handle the fastest warehouses. We did many leading-edge things at the time (HA clusters with automatic failover, outsourcing to India, distributed systems, client/server systems) and I learned a lot.
I few years later I was working for the database vendor. This was in the heyday of consulting where projects were huge and rates were high. My first project (on my second day on the job) was to work on a redesign effort for a risk management system that was just getting started using our products. I soon found that the project had been going for two years, had tons of specifications, but nothing was actionable. I did not make many friends those first two weeks as I pointed these things out, but then decided to host a JAD (joint application design) session with multiple lines of business. This pointed out the issues, and allowed us to begin the design of a flexible system that would accommodate all lines of business. Soon we used an agile approach to prototype the new system, get buy-in, and move the project forward. Six months later the first part of that functionality went live. I had the opportunity to work on some of the largest databases at the time (small by today’s measures), work on leading-edge technology, and really become a consultant along the way (with the help of another mentor).
A few years later I was working at a small start-up company that created the world’s first commercial JDBC driver. I have worked with many very smart people before, but now I was working with a couple of very brilliant people. My main contribution this time was on the business side, but I learned a lot.
One thing that sticks with me is that during this time I became interested in VRML (virtual reality modeling language). I had an idea (1997) that we could create a website to show the insides of buildings, productize it, and sell it to real estate companies and larger apartment complex owners. My idea was not well received by the team, but a few years later systems like this were being developed and a few people were making a lot of money. That taught me to have more faith in ideas based on new technology, regardless of what others thought.
Over the years this has helped with BI (business intelligence) – building dashboards using relevant KPIs tailored to the specific audience, mobile computing, cloud computing, and now big data. To most people these things are “not important until they become important,” which is often 6-12 months (or more) later. From my perspective the real trick isn’t in trying to understand the next big thing, but rather to consider better, easier, and more efficient ways of doing things you do today.
And, that is why I love technology. It has helped me accomplish many things that have had a tangible impact on the businesses that I have worked for and consulted with. It has taught me to think about problems and ideas from many perspectives, and to leverage lessons learned in one area to help solve problems in another (a simple but effective problem solving approach). It has given me the opportunity to learn about many things about business as I ponder, “Why not?” And, it is allowed me to meet and work with many incredible people during my career. That’s much more than I ever expected when I took my first programming course so long ago.