I can’t say enough good things about Mike. Mike has developed a wide range of software for us. He has been critical in developing DSP products, real-time OS products, and GUI-instrumentation control products while on contract. The software Mike has developed for us has worked without any incident for years. This fact alone is testament to his broad depth of understanding, his strong focus on the customer, and his ability to take less than thorough requirements and develop a completely working software product. Mike has great social skills and can easily communicate his ideas to both technical and non-technical customers.
I’ve been fortunate enough to work with Mike for the past four years. I continue to learn from his example how to be a better software developer, team player, and person. He is truly one of a kind.
When I first met Mike, I was a student working part time with no real knowledge or experience regarding production software and systems. I was developing web applications to assist co-workers with data entry and analysis. The software was perpetually in beta mode, with frequent crashes and incorrect results, which were remedied by a convoluted work-flow involving end users and me. I didn't appreciate how sub-optimal the process was and over-estimated my own skill and experience as a programmer.
As Mike became involved, he very gently but firmly questioned the status quo and challenged me to approach our software problems in completely new ways. Despite my own hang-ups and initial resistance, Mike always behaved with the utmost professionalism, kindness, patience, and sensitivity. He is a wealth of knowledge, and once I opened my mind to his perspective, he taught me countless invaluable lessons, such as: how to properly test code, how to use extremely useful development tools, how to interview end users and best assess their business requirements, how to communicate clearly, how to identify existing solutions to sub-problems rather than reinventing the wheel, and how to go about inventing a wheel when it is necessary.
Mike’s leadership and collaboration on our projects led to stable production systems that were highly valued by our end users and became indispensable parts of their daily operations. Anyone who passes up the opportunity to work with Mike is doing themselves a great disservice. He is a unique exemplar of productivity, integrity, and decency. I have no doubt that any organization where he is involved will be better because of it.
So, I know this guy, Mike. He’s one of those outgoing guys that you like immediately, and when you get to know him, he's dang snazzy.
He blends his technical skills, creativity, and arsenal of trivia into elegant designs. He's able to grab tiny seeds of ideas and nurture them into wonderful creations of power and simplicity.
Mike is the type that cares about doing things right. A question of “Hey, Mike, should we refactor that interface?” will trigger a zen conversation about “listening to the code” and “the code wants to be like so.”
“Hey, Mike, how does that work?” You suddenly have a document that makes you want to weep tears of joy, either because of a visceral response to grammatically perfect prose or an emotional connection to the typographical beauty of the piece itself.
Mike can coax the shyest bits of information from their hiding places. Whether it is spelunking through legacy code, reconnoitering the internet landscape, or exploring the library stacks, he’s sure to find the answer.
Unless you have a preference for trained monkeys, you’re going to want to jump at the chance to work with this man. I will accept notes of appreciation once you have done so.
Mike is a unique manager and engineer. His expertise spans across software engineering, hardware and firmware, product management, and even manufacturing — at a minimum. Mike is responsible for many valuable aspects of the management philosophy that Edenworks has adopted around managing tradeoffs in manufacturing systems, building self-managing teams, and setting norms for conflict resolution. In most of these cases Mike sought out best practices from the literature or outside world, and initiated a collaborative process of learning, feedback, and ultimately adoption at Edenworks.
On the software engineering and product management front, Mike and his team’s work has been invaluable. Through just-in-time learning, impeccable project management, and an effective approach to collaboration, Mike has developed and shipped product in areas such as data management, human interfaces and workflows, application development, agent-based simulation, business intelligence, and even wet chemistry.
One of the remarkable things about Mike is that he consistently takes a probabilistic approach to solving messy problems, one that hinges on the idea of reducing ignorance over time. Instead of making statements about the future in hard terms (e.g. this solution will achieve x), he rarely makes such statements and when he does make them, they are made probabalistically. The strange consequence of this day to day embrace of uncertainty is that on project relevant timescales (e.g. weeks, months, years), Mike seems to repeatedly and successfully predict the future. For example, Mike and his team have on multiple occasions identified product needs before customers articulated them, and have frequently chosen the appropriate level of generalization that in hindsight has future-proofed built systems. Most importantly, Mike always seems to know what to try, what not to try, and and in what order.
Mike is an accomplished engineer and innovator, a team-oriented, fun, and humble colleague who has shipped multiple outstanding products and dramatically reduced technical risk in our organization while positively shaping our organization’s culture. I would recommend him to any organization.
I could tell you lots of things about Mike such as his in-depth knowledge of C, or his ability to work through a lot of Ruby code without breaking a sweat. But that’s boring stuff that you’ll find on any good resume or recommendation. Mike isn’t boring. Even though Mike’s technical chops are great, that’s not the main reason you want to work with him.
You want to work with Mike because he will make your organization better. Here’s why:
He’s a teacher. Do you lack understanding about something he knows? Mike will teach it to you and teach it well.
He’s a doer. Stuff doesn’t do itself, and Mike cleans up loose ends or makes sure people know what those loose ends are.
He’s socially disarming. He can take a tense situation and loosen it up. This is magic and no one can scientifically demonstrate how he does it. Needless to say, it’s invaluable when dealing with ego-inflated professionals (like myself) under stress.
Most importantly, he wants people he works with to succeed — to get it right. It matters to him that people succeed even when he isn’t enjoying the work. I think this is because he finds a lot of satisfaction in watching something awesome come together.
Long story short, if Mike wants to work with you, you had best have a really really really good reason not to work with him.
[John also wrote a lovely post upon my departure for grad school: An Excellent Mentor]
Mike has been extremely influential in our efforts on the Gentex Software Development Team to build quality into our products. His ability to elicit objectives and penchant for tackling large, difficult problems has been transformative. Mike brings not only an exceptionally-broad set of development skills, but also a sense of responsibility to continuously improve systems and procedures. For these reasons, I continue to call on him for a variety of assignments, knowing each time that it will be completed to a high standard.
Mike provided excellent support and direction when needed. While we had a vision of what we wanted, we had no idea if it could be done. Mike and his group always managed to create what we wanted.