I’ve had, and continue to have, an exciting, interesting and fun career. I started out working in CAD, transitioned to desktop publishing, did some time working on development tools for computer games, worked on revamping the UX for a big data application, developed mobile apps for a proof-of-concept medical biometrics data gathering device, created cross-platform mobile apps for Android and iOS using React Native, and now continue the cross-platform mobile app development theme using Google’s new Flutter framework. All my experiences, with both small local companies as well as large multi-national organizations, has been amazing. Through these experiences I’ve had the opportunity to work with a lot of talented and brilliant people, many of whom I feel lucky to still call friends.
The comments that follow are presented for interested readers as my personal reflections on my career and compliments the terse, bullet point data in my resume. Resumes are good at highlighting the salient points of the what, where, and when associated with a position or a role with a company but not very enlighting about the experience. The remainder of this page has my reflections looking back on my career and, as such, is infused with my biases of what happened. If you want to know about where I worked and what I did then download my resume. If you want to know more about the why behind the what then read on…
Update April 2019: A year has passed since I refreshed the information on this page. This last year I took the leap and started my own company, Quiverware LLC. Several factors came together that made starting Quiverware feel like the right next step for me. You can read more about Quiverware and my first project for Color Clues below.
Life Is A Journey
I know it’s an over used cliché but I’ve always like the phrase “Life is a journey, not a destination.” I have found both inspiration and a lot of truth in that statement. My experience has been that my career has definitely been and continues to be a journey. And like any journey, some elements were planned while others were fortuitous. Recruiters like to ask candidates “where do you see yourself in 5 years” (I hate these questions) to which I usually replied “I really don’t know.” I like to see what opportunities present themselves at any given time and see where they lead. When I got out of college I knew I wanted to work in the field of computer graphics. This seemed so much more appealing than databases or number crunching with little to no user interface. I like “shiny objects” 😉 and at that time and place drawing objects on a screen was a shiny object.
So, my professional journey began at…
Auto-trol Technology : Denver, CO 1982 - 1991
I started my career at Auto-trol Technology (ATTC), a CAD/CAM company in a field of roughly six or so major vendors (McData, Calma, Computervision, Intergraph, etc.). PCs were still under-powered novelties so these vendors sold proprietary hardware/software solutions. During my time at ATTC there were huge and exciting changes happening in the computer industry. I watched the transition from Sperry Varian V77 and DEC VAX mainframes to Apollo, Sun and DEC mini-VAX workstations to the first IBM PC XT. I also saw the business paradigm shift from selling hardware to software. Hardware was becoming a commodity while software was becoming the unique value added to a system (Just as Bill Gates had predicted!).
I had a number of different roles and positions at ATTC; tech support, programmer, sales technical support, senior programmer and engineering manager. ATTC, like many companies, was struggling to find their niche in this dynamic landscape. ATTC moved into the electronic publishing arena and built a technical illustration application on top of their CAD software. Working on this team exposed me to the concepts and technical issues related to print publishing.
During this time Apple introduced the Macintosh. The first Macs were interesting but weren’t viable for many real-world applications until the Mac Plus was released in 1986. I loved the Mac (another shiny thing) and wanted to spend my days working and writing software for Macs. Macs didn’t really fit into the ATTC product offering. But there was a start-up company in Denver that was beginning to ride the Desktop Publishing (DTP) wave that the Macintosh and Adobe PostScript was creating…
Quark : Denver, CO 1991 - 1996
QuarkXPress East Asian Team
I was so excited to get the position with Quark. Working at one of the hottest start-up companies in DTP, Macintosh computers, C programming and a work environment that mirrored West Coast companies like Apple, Microsoft and Aldus. Cool!
When I arrived for my first day at Quark I was asked what I knew about Japanese and Korean typography. “Nothing.” “Good.” my boss replied, “ You’re going to be on the QuarkXPress East Asian team.” This turned into an incredible experience that not only had me working on the fastest growing DTP application in the market but also learning about Japanese, Korean and ultimately Chinese culture and typography.
I got to work with many really talented people at Quark. Working on QuarkXPress was both fun and challenging. Many of my tenets of software design, building great user focused applications and meticulus attention to the detail and design of good graphic user interfaces and user experience were forged at Quark.
While Quark was a great experience an even greater opportunity lay just ahead…
Adobe : Seattle, WA 1997 - 2005
In the Fall of 1996 Adobe reached out to see if I’d be interested in joining the InDesign team in Seattle working on a next-generation DTP application. QuarkXPress had pretty soundly beaten Aldus PageMaker in the high-end professional market place. When Adobe purchased Aldus in 1994 the company had been working on a new DTP application that would become InDesign. The combination of this new DTP software code base and Adobe’s resources made for an incredible application.
Adobe was flat-out the greatest opportunity of my professional career. The company, the people, the technology and the culture were beyond my wildest dreams. There was a lot of hard work but experience was everything I’d hoped for and so much more. Many of my best memories and most endearing professional friendships were made at Adobe. All of the tenets of my professional career and my skills were honed and refined by my experiences at Adobe. I consider myself luck to have been given the opportunity.
Adobe was very good to me in so many ways but, as they say, all good things…
Going Home : Denver 2006
After nine years with Adobe my wife and I decided we wanted to be closer to family and friends again so we headed back to Denver.
After being back in Denver for a few months I was contacted by a friend of a friend who was working at Quark. They wanted to know if I was interesting in coming back…
Quark (Again) : Denver, CO 2006 - 2007
Senior Director of Desktop Applications
They say you can never go home again. In my case this was true. There are a number of “boomerang” employees that try something new but then go back to their previous company and are very happy with their return. Unfortunately, that wasn’t my experience. Quark had gone through major changes in the nine years since I’d left; the development team I had worked with was gone, there was a different management team, and the majority of the software development was being done to India.
When I interviewed with Quark I had some reservations about where they were going but they were in the middle of conducting a search for a new CEO. I thought this could be an interesting opportunity to be part of re-building the company into something new since (IMHO) competing against the Adobe juggernaut and their Creative Suite product was futile. I envisioned something like Lotus re-building themselves with Lotus Notes after Lotus 1-2-3 lost the battle to Microsoft Excel and Office.
Well, long story short, the new CEO came in, he had a different vision, I didn’t believe in his vision so I resigned after one year (literally on my one year anniversary). Enough said…
Idol Minds : Louisville, CO 2008 - 2009
After taking some time off another old friend from my days at ATTC contacted me and wanted to know if I had any programming chops left or if management had rotted my brain. 😀 He was working at a company that produced games for the Sony PlayStation. They were looking for a software tools developer to work on their internally developed game development tool.
The computer game industry is really interesting and was a very different experience from any of the other software development environments I’d experienced. The first difference that amused me was the position titles. Instead of the familiar software development roles and titles I was use to hearing, the computer game industry aligns itself with the entertainment industry. For example, instead of a Product Manager they have a Producer. Hmmm, interesting.
Working at Idol Minds was a lot of fun. Write some code, play the game to test the changes. Lots of exceptionally talented creative artists. The downside of the game industry is that its very volatile. Sony Entertainment, Idol Minds primary benefactor, had their first major financial down turn in the fall of 2009. The studio cut its staff in half. I survived the first round of layoffs but not the second…
LEGO Systems : Louisville, CO 2010 - 2011
When one door closes another opens, so they say. As Idol Minds was downsizing another game studio in the same area was ramping up. Go figure. Game studios are pretty rare in Colorado and having two so close to each other was practically unheard of. NetDevil was a game studio that was contracted to build a massively multiplayer online role-playing game (MMORPG) base on LEGO characters in a LEGO brick world, i.e. LEGO Universe. This game would be a subscription based, pay-as-you-go venture targeted at 8 to 12 year olds. (Think of World of Warcraft or World of Tanks business model.) NetDevil was purchased by Gazillion Entertainment in California then purchased directly by LEGO in Denmark.
With the huge cash reserves of LEGO behind us what could go wrong? I always thought there was a flaw in the premise to the business model that 8 to 12 year olds would have the dedication to an on-line game and discretionary cash to sustain this business model. Less than a year after buying the studio LEGO determined it couldn’t make any money with LEGO Universe and shut the studio down. The tech support people said LEGO corporate made a lots of kids cry that day…
Alteryx : Boulder, CO 2012 - 2014
Alteryx Desktop Team
The dissolution of the LEGO game studio sent 80+ programmers, producers, etc. into the Denver and Boulder job market. A couple of my ex-colleagues landed at Alteryx and convinced me to join them. Alteryx develops products for data mining, data blending, big data applications. I’ve never been very interested in data crunching applications (see my comments at the beginning of my journey as I was leaving college) and wasn’t interested in working on Alteryx’s backend data engine. But they were interested in giving their desktop application a new look-and-feel. The software had a very dated 1990-era Microsoft Office look.
I led a small team over my tenure with Alteryx and we revamped the GUI, fixed a significant number of legacy UI bugs and improved the user experience. Alteryx users are a passionate group that love the product. When the new release was unveiled at their yearly user group convention the unsolicited accolades I received from users was very rewarding.
After the new version of Alteryx desktop was release there were changes in management and development focus. Developers were going to be more generalists instead of specializing in a particular area. I didn’t exactly want to be a generic programmer so I thought it was a good time to part ways and investigate new opportunities…
A New Direction : 2014 - 2015
At this point desktop applications are becoming a dying breed. The cool new stuff is being done either in the cloud or in mobile development. Apple announced a cool new development language, Swift (oooh, a new shiny thing). I decided to dive into Swift and iOS development. I renewed my Apple Developer status, read all the Apple documentation on Swift, got the latest version of Xcode and audited the Stanford class CS193P “Developing iOS 8 Apps with Swift” on iTunes U. (Note: Paul Hegarty is an outstanding instructor and this free class is very well done. I highly recommend anyone starting Swift and iOS development to check out this resource.)
Trying to break into a new career area, especially in software development, is challenging to say the very least. Have you ever talked to a recruiter and explained to them you don’t have the specific experience they’re looking for but you’ve been doing independent research and investigation into the area? Good luck.
That’s why I was extremely grateful for my brother putting me onto a contract opportunity at Medtronic…
Medtronic : Boulder, CO 2015 - 2017
Data Aggregator Team
The Health Information and Monitoring group within Medtronic was looking for a contractor for a 6 month project to develop an iOS application to explore the feasibility of a patient monitoring device that would connect to multiple Bluetooth-LE (BLE) devices that send biometric data such as SpO2, heart rate, respiration rate, body temperature, etc. The iPhone would act as a proof-of-concept surrogate for a conceptual data aggregation device that would have the ability to connect to multiple BLE devices, collect their data then send this information via Wi-Fi to a Medtronic proprietary cloud based web application. The development framework for this iOS app was to be Xamarin. While I really wanted a Swift development opportunity any iOS development experience was good experience.
This turned out to be a really cool opportunity. I got to develop several iOS apps using Xamarin mixed with some Xcode developed UI customizations. At the end of the 6 months I was asked if I was interested in another 12 month contract to work on an Android OS version of the data aggregator.
I was disappointed to see this contract end. Due to budget constraints, Medtronic was cutting back on the use of contractor resources and there wasn’t an equivalent direct position open in the company. Oh well…
Cardinal Peak : Louisville, CO 2017 - 2018
Mobile Apps Development Team
I really had high hopes for this opportunity. Cardinal Peak claims to be a ROI-Driven Engineering Services company specializing in digital video and audio and the Internet of Things. That sounded great to me! The reality turned out to be a little less exciting.
The company is trying to grow and is struggling to find an identity. I saw this posting on glassdoor just before I decided to leave CP and I think it pretty accurately sums up my experience (btw, I did not post this review), “prepare yourself for churn.”
I also believe the other employee reviews are accurate as well. How can this be, you ask? Well, the company is basically divided into three groups; the CaseCracker team, teams working on Bose projects (60% of Cardinal Peak’s non-CaseCracker revenue), and the mobile apps team. (Note: there are a few other projects but for all intents and purposes these are the main divisions of the staff.) The mobile apps team, the team I was assigned to, falls into the “churn and burn” group.
Some people thrive and even love this type of development environment. I personally find it shallow and lacking. In the six plus months I worked there I was shuffled between three different projects, one of which was canceled seven weeks after I was hired and added to the team. The project failed basically due to poor management and planning on the customer’s part but I felt CP management payed a role in the project’s demise by not challenging the customer.
I really liked, enjoyed and even respected the other engineers that I worked with on the projects while at CP but I wasn’t very impressed by the management team. Projects are, IMHO, run by the seat of the pants with little planning or team coordination. At least that was my limited experience.
Oh well, time to move on and do something more suited to my interests…
After leaving Cardinal Peak, I wasn’t exactly sure of my next venture. I liked Android Things, but electronics hardware wasn’t in my skill set. I was interested in the software component of IoT but the lack to hardware skills was going to make this a difficult area to do anything meaningful.
I also liked the new Kotlin programming language and spent some time digging into Kotlin as an Android development langauge. But as I was looking for something new, something new found me.
A colleague from Cardinal Peak was approached by a local entrepreneur, Jesse Foote, who had created a children’s treasure hunt game, Color Clues, and needed a programmer to fix a bug in the React Native app component of his game. I’m not a fan of React Native but I agreed to investigate and fix his bug. The fix went well so I also agreed to do a small feature enhancement for the game.
Jesse was pleased with the work I did for him and asked if I was interested contracting to do a major upgrade to Color Clues. At that time I was investigating Flutter, a new cross-platform mobile app framework from Google. I like the concept of a single code base that produces
To Infinity And Beyond
So, where to next? I’m always open to hearing about new opportunities that align with my interests. I’ll continue to dive into mobile application development. Both Android OS and iOS and their associated technologies are continuing to make really cool and interesting advancements. I really like the (relatively) new language Swift and will continue to work on building my skills with Swift and iOS.
Android Things OS is also interesting to me and builds on my experiences at Medtronic. I find it cool that powerful, low-cost computing devices that connect to each other and the internet are becoming ubiquitous. Each passing day makes me think of Ray Bradbury’s short story “There Will Come Soft Rains”.
Google just announce support for the Kotlin language. This looks really cool too as it has a number of similar language features in common with Swift. I really like the direction Swift, Kotlin and C# are moving. Guido van Rossum said he liked the “batteries included” approached when designing Python. Which I interpreted as a development language that lets the software developer focus on the implementation of the application solution and not on the peculiarities of the language being used.
UPDATE: Since leaving Cardinal Peak I turned back to digging into IoT. More specifically, Android Things. A lot has happened since I last played with Android Things and I have more mobile development experiences I can apply. The Android Things Console has matured and is interesting to me. The infrastruction around Android Things deployment is maturing. I’m also digging into Kotlin. I like it a lot. Many similarities to Swift and C# and a huge improvement over Java. I’m having fun again!
That’s more than enough for now. If you’ll excuse me I have some shiny things to look at…