Michael L. Davis

Senior Staff Software Engineer / Technical Director
Palo Alto (SF Bay Area), California or Telecommuting U.S. Citizen
Facebook - LinkedIn - GitHub - Twitter - Consulting - My other hobby
This resume / CV as a two page PDF
michael@says.me



HELPING SOFTWARE HELP PEOPLE

Building big ambitious tools to solve big, intimidating problems.

Started coding at 14. Professional for 30 years. I have enjoyed working for startups, large corporations and the U.S. government; typically with scientists and academics, leading some of the smartest, most professional engineers in the world. I have a very strong 'Get Things Done' work ethic and have been lucky enough to work for organizations that share the same philosophy. The common thread of these applications has been innovative human-computer interfaces that make complex functionality tractable. Research interests: Machine learning, science / engineering tools, human-computer interaction, innovative user interfaces, software architecture, direct manipulation 2D graphics.

Designed, architected, implemented, deployed the below except co-designed Lifenik, Forge.

Frontend, Full-stack, Architect (Technical Director) Automatic.ai - Making A.I. accessible - Palo Alto, California 1/20 - present
Research, development and launch of social, open, component-based drag-and-drop IDE for A.I.
CAE (computer-aided engineering) for A.I. (machine learning, deep learning). Application with goal of 10X improvement in accessibility, productivity and the ability of experts to solve hard problems. Super intuitive MIT Scratch-like drag-and-drop editor, IDE (integrated development environment), API, and runtime (on github) framework. Offshoots OMG.ai - Find the best books (Google + Quora + Medium + Games) and Rockstar - open-source software comparisons and analytics. Node.js, JavaScript, Express, Redis, GitHub, ReactJS, AWS (Lambda, DynamoDB, Route 53, API Gateway, CloudFront, CloudWatch, IoT/MQTT), Serverless, NextJS, Docker, Python, TensorFlow, Keras, Scikit-learn, PyTorch, Stripe integration.
Acting CTO: Frontend, Full-stack, Architect, Manager (Remote), Foundry College - Making the electorate smarter. San Francisco, California 6/18 - 12/19
GETTING THINGS DONE. Built and launched full-featured VC-funded ed-tech product in 6 months
Designed UX, architected, and implemented "the Forge", a tightly integrated semantically-aware edtech online application in 6-months from ideas of world-class active-learning expert CEO to launch with live students. Fully-featured cloud-native LMS + live classrooms + builder application allows code-free construction of, and live presentation of, lesson plans (with lectures and rich media) and algorithmically controlled breakout groups and group activities (for active learning). Think Google Slides meets Zoom meets Interactive MOOC. This app was required to support very large numbers of classrooms with very large numbers (20k+) of students each and uses a transient microservice server-per-classroom architecture. Built many unique and innovative technical solutions to satisfy often-changing requirements of non-technical stakeholders. Represented technology at board meetings. Managed QA team. Guided interns. Prepared codebase for transfer to next team. Node.js, JavaScript, Nginx, Redis, GitHub, ReactJS, Terraform, AWS, Socket.IO, TokBox.
Frontend, Full-stack, Architect, Manager Cheers - Making the web friendlier - Palo Alto, California 3/16-6/18
RADICAL UX INNOVATION. Designed, built & launched innovative mixed-reality social network with graphic artist
People 'see' and play with other people on any (framable) webpage in real-time. Uses microservices for scalability, reliability. Single-page application with mirrored server-side SEO rendering. URL shortener. Messenger-like functionality. Twitter-like real-time 'following'. Typeahead suggester. Recommendation system. Facebook-like newsfeed. Tiled 'slippy map' with 10 zoom levels. DigitalOcean, Scikit-learn, Ubuntu, Node.js, JavaScript, Python, Nginx, Redis, GitHub, ReactJS, Canvas, SVG, Terraform, AWS, Socket.IO, Memcached.
Frontend, Full-stack, Architect - Lifenik - Making the world happier , Boulder, Colorado / Berkeley, California 4/13-3/16
HUMANE UX R&D. Built webapps incorporating the latest research in psychology to optimize user experience.
Google Map overlays to improve cross-cultural connection, empathy. Lumosity-like games to improve happiness, well-being. Gamified social network to improve savoring, gratitude, generosity. Linode, Ubuntu, Ruby on Rails 4.2, Python, Node.js, Nginx, GitHub, Capistrano, Unicorn (previously: AWS, AngularJS, Bootstrap, Passenger).
Consulting Principal Software Engineer: Frontend and Application layers, Architect (Remote) - Sandia National Laboratories Albuquerque, New Mexico 4/01 - 7/07
MISSION CRITICAL PRODUCTS. Designed, built and shipped advanced ECAD application to run (classified) simulations on world's fastest computer.
"ChilECAD". Built a full-featured commercial-quality schematic capture analog ECAD desktop application capable of supporting custom models and simulators (e.g. XYCE) on the fastest computer in the world. Combined with my Mica Graphics Framework, I wrote and maintained nearly 500,000 lines of DRY Java. After project termination rigorous testing found less than a dozen bugs. XML-driven plugin architecture for: SPICE-dialect generation and parsing, conversion of SPICE to/from schematics, persistence, themes, file version management and conversions, and simulator setup and job submission. Uses XML to define OO parts (symbols) library definitions with MVC separation of concerns, inheritance and overloading. Java.
Principal Software Engineer: Frontend, Full-stack, Architect (Remote) - Innovative Research. Denver, CO 1996-1998
Built and shipped Environment for the Analysis of Parallel and Distributed Systems.
Built on Mica (network graph managers, direct-manipulation graphics editors, tooltips, context-sensitive help, auto backup /recovery, drag-and-drop, right-button menus, and UI generation from metadata). Java 1.0.2. Also built Environment for the Simulation of Distributed Systems, a graphical capacity planning tool for Operations Research professor for U.S. Army to provision computer networks (e.g. drag-n-drop network creation and workload assignment). Custom MVC (similar to what is now MPC). C++, MPI
Principal Software Engineer. Architect, Frontend and Application layers (Remote), Ericsson. Menlo Park, CA. 1994-1996
Built large carrier-grade operations support system used by world's 2nd largest Telco to provision things like telephone numbers for tens of millions of customers
Architected and wrote frontend (on top of pre-existing TeleUSE screens) and application layers including 3 graphics editors. Utilized multi-layered framework architecture and extensive randomly-generated in-memory test-database. C++. MVC. SDLC. Mentoring. Tech-transfer.
Co-founding CTO, Frontend, Full-stack, Architect - Software Farm, Inc. 7/1993 - present. Boulder, CO, Palo Alto, CA.
Umbrella "C" corp for (few) successful and (many) unsuccessful startups and midnight projects.

Ultimist.com. Designed and built innovative luxury marketplace. - Boulder, CO 4/11-4/13 "The safer smarter friendlier luxury marketplace" (high-end audio). Several major pivots based on feedback from domain experts. Quora-like Q&A. Badges. Forums. Classifieds. Analytics and statistics. Personal newsfeeds. Editable product database with searchable sortable semantic properties and tie-in to latest news. Provenance tracker. AWS, Ubuntu, Ruby on Rails 4.2, Python, Node.js, Nginx, Passenger, Resque, GitHub, Capistrano. Ported to Unicorn, Cron and Linode. Live (but mothballed). Mattters.com - Designed and built successful (1.5M uniques / month) Pinterest-like news aggregator 12/2009-4/2011 "Follow Your Interests" Over 1000 real-time news channels displayed with smart magazine-like layouts. Three major versions (ROR at Joyent. 100% Node.js at AWS. Mixed ROR and Node.js at AWS). AWS (EC2, S3, SQS, CloudFront), Ubuntu, Ruby on Rails, Python, Node.js, Nginx, Passenger, Resque, Memcache, GitHub, Capistrano. Magazines.me - Designed and built browser-based PageMaker. 2/08-12/09 "Looks like a magazine; works like a blog" Flippable webpages with a PageMaker-like WYSIWYG drag-and-drop editor with Adobe InDesign feature set, but runs in a browser and outputs industry standard HTML and JavaScript. RoR. Joyent. Sendies.com - Designed and built inverted email app. 12/07-2/08 "Many to one messaging" Crowd-sourced greeting cards. An infinite, zoomable, editable, drag-and-drop canvas. People type messages, drag-and-drop clipart. RoR. Joyent. Speshy.com - Designed and built ecommerce webtop 7/07-12/07 PageFlakes/NetVibes-like online start page with widgets like clock, weather, RSS feeds, etc.. Amazon store product news tracking. Infinite undo/redo, custom widgets, on-screen interactive cloning and inheritance of new widgets, in-widget source code editor. JavaScript, J2EE. CentOS.
TOOLS AND LIBRARIES (HIGHLIGHTS): Some sold, some in field, most helped prototype solutions for clients.
  • github.com/justacoder Mica 2D graphics framework and UI widget toolkit in Java
  • MICA GRAPHICS FRAMEWORK. Mica (successor to my EditorObject), now on GitHub, is a Java OO UI widget toolkit, 2D scene graph library, suite of editor objects and UI and network graph layout managers. It distills ideas from many toolkits and research papers (Mica was pre Java Swing).
  • EDITOROBJECT. a bigger better PGL in C++. I was attending a lot of ACM Siggraph, CHI, OOPSLA, Visual Language conferences. OO, UIs, and direct-manipulation were ascendant. I was having to write a new graphics editor it seemed for every new contract. 'new Editor()' creates a full function editor.
  • UI FRAMEWORKS. VisualADE, a declarative UI/data-binding builder. Cadabra and Obsidian: Aristotelian category-like declarative DSLs with behavioral and constraint metadata for e.g. auto test, repair, discovery. LUE (Life Universe Everything) used the data-flow paradigm to graphically build live UIs. C++. Java.
  • PGL (Portable Graphics Library), in object-oriented 'C', rendered high-performance 2D scene graphs and windows on top of SunView, X-Windows and standard PC-graphics cards. C.
MORE EXPERIENCE HIGHLIGHTS
  • Senior Staff Software Engineer, Full-stack: Verge Technolgies Group. Designed and implemented 1) the 2nd and 3rd generations of a code-generation tool and its associated templates to quickly produce EJB applications from XML files or database schemas, 2) a report generation framework for JUnit Test, 3) an automatically generated J2EE database browsing/editing tool, 4) the (JSP/Servlets) GUI for a (small, 12 screen) J2EE network management tool, 5) rewrote much of online billing system, 6) Spearheaded, architected, and prototyped a datacenter (cloud) management service called OpenHost (along with its Enterprise Service Bus called SoapBar).
  • Frontend (remote): Unicom. Interactive graphical layout and management for advertising copy and support materials. Java
  • Frontend (remote): Sun Microsystems. (Now Oracle). Prototyped two applications (Online DiskSuite, HATool). One prototype contained a dynamic flowchart from which windows were launched. The other prototype included a constrained, interactive treemap editor with extensive design rule checking. These made use of my EditorObject. C++.
  • Frontend: McDonnell Douglas (now Boeing). Wrote a highly constrained logical placement, route and display tool for telecom outside-plant equipment (mimicking the hand-drawn diagrams they had been using). C++.
  • Frontend: Cadnetix. Technical-lead for the graphics group for 4 years, which was responsible for the UI and 2D graphics for the company's products. My refactoring of the graphics library sped up the rendering and graphics database query language by a factor of 10X to 100X. ECAD. C. 80x86. 68000.
EDUCATION

My first love, I studied Applied Math at the University of Colorado, Boulder. Differential equations, difference equations, pde, vector calculus, linear algebra, EE, physics, and graduate courses in probability, abstract algebra and space flight dynamics. Left and joined the personal computer revolution. Previous member of ACM, IEEE, and IEEE Computer Society. Enjoyed many tech conferences and read literally dozens of monthly trade mags and journals for 20 years, back when they still published these.