For several years my company and my family funded a dozen or so medical research projects (see www.comp-soln.com/fund.html for highlights). I had the pleasure of meeting and working with many brilliant MD/Ph.D. researchers. My goal was to fund $1 million of medical research and find a cure for Arthritis. We didn’t reach that goal, but many good things came out of that research.
Something that amazed me was how research worked. Competition for funding is intense, so there was much less collaboration between institutions than I would have expected. At one point we were funding similar projects at two institutions. The projects went in two very different directions, and it was clear to me that one was going to be much more successful than the other. It seemed almost wasteful, and I thought that there must be a better, more efficient and cost-effective way of managing research efforts.
So, in 2006 I had an idea. What if I could create a cloud based (a very new term at the time) research platform that would support global collaboration. It would need to support true analytical processing, statistical analysis, document management (something else that was fairly new at the time), and desktop publishing at a minimum. Publishing research findings is very important in this space, so my idea was to provide a workspace that supported end-to-end research efforts (inception to publication) and fostered collaboration.
This platform would only really work if there were a new way to allow interested parties to fund this research that was easy to use and could reach a large audience. People could make contributions based on area of interest, specific projects, specific individuals working on projects, or projects in a specific regional area. The idea was a lot like what Crowdtilt (www.crowdtilt.com) is today. This funding mechanism would support non-traditional collaboration, and would hopefully have a huge impact on the research community and their findings.
Additionally, this platform would support the collection of suggestions and ideas. Good ideas can come from anywhere – especially when you don’t know that something is not supposed work.
During one funding review meeting I made a naïve statement about using cortisone injections to treat TMJ arthritis. I was told why this would not work. But, a month or so later I received a call explaining how this might actually work. That led to a research project and positive results (see http://onlinelibrary.wiley.com/doi/10.1002/art.21384/pdf). You never know where the next good idea might come from, so why not make it easy for people to share those ideas.
By the end of 2007 I had an architecture using SOA (service oriented architecture) using open source products that would do most of what I needed. Then, in 2008 Google announced the “Project 10^100” competition. I entered, confident that I would at least get honorable mention (alas, nothing came from this). Then, in early 2010 I spent an hour discussing my idea with the CTO of a popular Cloud company. This CTO had a medical background, liked my idea, offered a few suggestions, and even offered to help. It was the perfect opportunity. But, I had just started a new position at work and this fell to the wayside. That was a shame, and I only have myself to blame. It is something that has bothered me for years.
It’s 2013, there are far more tools available today to make this platform a reality, and it still does not exist. The reason that I’m writing this is because the idea has merit, and think that there might be others who feel he same way and would like to work on making this dream a reality. It’s a change to leverage technology to potentially make a huge impact on society. And, it can create opportunities for people in regions that might otherwise be ignored to contribute to this greater good.
Idealistic? Maybe. Possible? Absolutely!
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.