The best way to understand what I do is to read my blog and blog tags, browse my delicious bookmarks and tag cloud, or view my LinkedIn profile. Those will be more revealing than a mere resume. However, for those who need a short summary: I love working with computers and using them to solve difficult problems — I’ve been at it professionally since I was 16 years old. I’ve been fortunate to work on a broad spectrum of applications at all phases of development, leaving me with a trail of successes and a deep well of experience and training as a software and architecture generalist. I have deep and significant experience with massive data, Internet architecture, distributed systems, search engines, machine learning, browser technologies, OOP and design, open source, and requirements gathering and analysis. I have led teams both small and large in successfully releasing commercial and enterprise software. I have had the title of “architect” in one form or another for many years now, but that belies the fact that I am very hands on — I especially love to find creative and practical application (read design and coding) of innovative and thoughtful ideas. I am looking for opportunities to help clients with the design and implementation of their own software projects.
6/2011 – current Chief Architect, domo.com
Responsible for providing an always on, massively scalable, SaaS based, “business intelligence in the cloud”, multiple device, fault tolerant, and open and extensible design and ecosystem for an extremely cool product which I can’t describe in detail just yet. If you can name a current web, internet, data, cloud, device, or language buzzword, chances are pretty good that I’m either dealing or have dealt with it.
9/2010 – 6/2011 Architectural Consulting on Cloud Systems, Ancestry.com
Provided design advice for scaling Sharded database systems, using cloud systems to improve HA and DR, and other projects which I can’t talk about.
6/2003 – 8/2010 Lead Architect, UnifiedSystem,FamilySearch.org
Responsible for the web based products, architecture, software design, internal process design, website scaling, technology selection and partnering, capacity and availability planning, and mentoring of development teams for a cluster of mission critical systems.
These systems span thousands of machines and terabytes of data. The processes involved range from huge back-end Oracle databases, to state of the art machine learning data data manipulation frameworks, to browser based frameworks and website design. The nature of the systems also varied from end-user, highly interactive websites with millions of unique users to integration of stodgy, old legacy systems with new pipelines.
Project highlights include: Availability, BPM, Cloud computing, Data analysis tools, Innovation, Mentoring, Operations, Partnering, SCRUM, Search engines, SOA, Web Scaling techniques, Partnering, Enunciate, LASIC
2002 – Present Independent Consultant
I consult, ad-hoc, with a variety of companies on wide ranging topics. Recent work has included P2P systems, image compression, automated data extraction, iPAD/iPod/iPhone applications, requirements analysis, and software valuation
2002 – 2003 Architect, New Product, NextPage, Inc.
I served as the architect for the development of a new product at NextPage, Inc. The product involves P2P document tracking to facilitate collaboration and document retention. My duties included data replication, core object model design, software architecture, data security, data access layers, development practices (XP), and native platform integration. We employed Java, JXTA, JCE, J2EE, COM integration, JNI, Swing and SWT. Upon my departure, I was hired as a consultant to continue work on the project.
2002 – 2003 XWBL
Independent company setup to automatically process images for large insurance company. Structured database records were successfully extracted from nothing more than scanned images and access to OCR tools. These structured records then became the basis for internal BPM processes.
1999 – 2002 Architect, Distinguished Engineer, Whizbang! Labs, Inc.
1988 – 1999 Architect, Senior Engineer Novell Inc.
I was responsible for the implementation, shipping, and design of several efforts at Novell. While there I ran the Groupwise client and SDK teams, ran the Internet architecture team for the Groupwise product line, worked on contextual design efforts, designed and implemented COM APIs, oversaw work on WebDAV and XSLT specifications, implemented an information retrieval system, worked on 3rd party integrations, supported large customers on-site, wrote extensive client and server-side code, wrote low-level networking code, and worked on existing and new product lines.
1982 – 1988 Software Engineer, Freelance, Allen Communications, Wicat
I have developed and shipped a wide spectrum of applications including BASIC interpreter, games, real-time equipment control, aircraft maintenance panel simulator, accounting packages, macro assembler.
Education and Honors
Brigham Young University – Bachelor of Science, Summa Cum Laude
Minored in mathematics
Published in several magazines
Holds several patents
Distinguished engineer (Whizbang), and Engineer of the Year (Novell)
Committer on various open source projects