Michael L. DavisSenior Software Professional
Palo Alto (SF Bay Area), California or Telecommuting U.S. Citizen
I love creating castles out of thin air with software - it is my hobby as well as my profession.
I have a very strong 'Get Things Done' work ethic and have been lucky enough to work for organizations that have the same philosophy. As a software developer, architect or manager, I conscientiously and compassionately help the team build castles. Typically these teams are small and the castles magnificent.
I have significant expertise with web apps (full stack), 2D graphics, UI widget toolkits, tools, frameworks, and visualization plus optimization- and gamification-driven refactorings in the B2C, Scientific research, ECAD (analog), and Telecom domains. I have enjoyed working for startups, at large corporations (e.g. Sun/Oracle, Raynet/Ericsson) and the U.S. government (Sandia National Labs/Lawrence Livermore).
Co-Founder, CTO - Cheers, Palo Alto, California 3/16-present
Co-Founder, CTO - Lifenik, Boulder, CO / Berkeley, California 4/13-3/16
Lifenik.com "Super-powered Kids". Co-designed, architected, implemented and deployed several working prototypes during the arc of product development. Worked closely with co-founder to translate modern neuroscience into implementable software. Custom Google Map overlays. Smart Lumosity-like games. Gamified social network (posts, follows, collections, etc.). Linode, Ubuntu, Ruby on Rails 4.2, Python, Node.js, Nginx, GitHub, Capistrano, Unicorn (previous version: AWS, AngularJS, Bootstrap, Passenger).
Founder, CEO - Ultimist, Boulder, CO 4/11-4/13
Ultimist.com "The safer smarter friendlier luxury marketplace" (high-end audio). Designed, implemented and deployed web application. Accomplished several major pivots of this unusually full-featured website in the year it took to go from empty page to launch based on feedback from dozens of domain experts. Quora-like Q&A. Stack Overflow-like badges. Forums. Classifieds. Classifieds analytics and statistics. Personal and topic-based newsfeeds. Amazon-like product database but with searchable sortable semantic properties. AWS, Ubuntu, Ruby on Rails 4.2, Python, Node.js, Nginx, Passenger, Resque, GitHub, Capistrano. Ported to Unicorn, Cron and Linode to reduce expenses.
Founder, CEO - Mattters, Boulder, CO 12/09-4/11
Mattters.com "Follow Your Interests" Over 1000 real-time news channels displayed with smart magazine-like layouts. Designed, implemented, deployed and marketed 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. Achieved an Alexa / Quantcast of 10,000 in the first 6 months (1.5M uniques / month) for less than $500/month hosting costs.
Contract (remote) - @ Sandia National Laboratories, Albuquerque, New Mexico 4/01 - 7/07
Completed contract to architect and build a Java desktop application called ChileCAD - a full-featured commercial-quality schematic capture ECAD design tool capable of supporting custom models and simulators (e.g. XYCE). This used my Mica Graphics Framework for the UI with industry leading functionality and ease-of-use. Combined with Mica, I developed and maintained the nearly 500,000 lines of DRY Java. The other member of my team performed the requirements gathering and test / QA. My client supplied the servlets which ran on the (classified) network and submitted the simulation jobs. After project termination rigorous testing found less than a dozen bugs. Flexibility of the application was a major feature. This was accomplished using XML configuration files and a plugin architecture. Plug-ins included: SPICE-dialect generation and parsing, conversion of SPICE to/from graphical schematics, persistence, themes, file version management and conversions, and simulator setup and job submission. ChilECAD also used XML to define object-oriented parts (symbols) library definitions with each able to take advantage of MVC separation of concerns, inheritance and overloading.
Employee - @ Verge Technologies Group, Boulder, CO 10/00-3/01
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) implemented an automatically generated J2EE database browsing/editing tool, 4) the graphics, workflow, and architecture of the (JSP/Servlets) GUI for a (small, 12 screen) J2EE network management tool. Refactored and rewrote much of on-line billing system. Spearheaded conceptual phase, produced and gathered requirements, architected, designed, documented, prototyped, and produced various schedules for the implementation phase for the productization of core datacenter management service of company to be called OpenHost.
Contract (remote) - @ Unicom Communications, Overland Park, Kansas 11/98 - 2/99
Produced new version of an interactive graphical layout and management tool for advertising copy and support materials written in Java 1.1.6. Also wrote two applets in Java 1.0.2 used by AT&T for their 1999 online sweepstakes giveaway.
Contract (remote) - @ Innovative Research, Denver, CO 5/96 - 5/98
Technical lead, architect, implementer, and co-designed the GUI of the "Environment for the Analysis of Parallel and Distributed Systems" (EaPADS) previously implemented in C++ (see below). This was written in Java 1.0.2 on top of my Mica graphics framework (see github) and Cadabra application framework. This application provides novel techniques for editing networks as well as a fully modern user interface (including direct-manipulation graphics editors, tooltips, context-sensitive help, automatic periodic backup and recovery, drag-and-drop, right-button menus, editable drag-and-droppable treelist widgets, and automatic GUI generation from XML-like meta-data files).
Consultant (remote) - @ Ericsson Raynet, Menlo Park, CA 7/94 - 10/95
Performed maintenance and support for the RIDES telecom operations support system (OSS), and provided technical training and mentoring to the 6 member Raynet engineering team. The application was successfully deployed in many European countries.
Consultant (remote) - @ SunSoft, Colorado Springs, CO 3/94 - 6/94
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 were written (re)using a C++ framework and a C++ graphics editor object on Motif and X Windows which I had developed earlier in my spare time.
Consultant (remote) - @ Ericsson Raynet, Menlo Park, CA 11/92 - 11/93
As technical lead, designed a layered, object-oriented system architecture and implemented the framework and application layer for RIDES, a large telecommunications operations support system (OSS) targeting the international market. This framework and application layer contains over 120 large internationalized windows, 3 graphics editors, and over 200,000 lines of C++ and exists between the Motif widgets designed and generated by the TeleUSE GUI builder and a custom interface to the Ingres RDBMS.
Consultant (remote) - @ Innovative Research, Denver, CO 8/91 - 11/92
Co-designed and developed an object-oriented graphics application to interactively describe, visualize and simulate a computer network for capacity planning and analysis for the U.S. Army. It included a direct-manipulation graphical editor and a Motif GUI as the front end and the Sybase RDBMS as the back end and was written in C++.
Consultant (onsite) @ McDonnell Douglas, Denver, CO 2/90 - 10/90
Senior graphics advisor for a GIS project designed to assist in the retrieval and modification of information about outside plant equipment for the telecommunications industry (BAARS). Provided expertise on the X Window System, Motif and conventional and object-oriented graphics architectures. Designed, wrote and documented several automatic-placement algorithms that graphically display the logical position of equipment and their internal and external connectivity by designing and implementing sophisticated layout and routing algorithms that instantiated domain-specific design rules.
Technical Lead - Graphics @ Cadnetix, Boulder, CO 2/86 - 11/89
Enhanced and wrote custom 80x86 graphics drivers for many PC video cards. Helped port 2D graphics library from 680x0 assembly language on proprietary hardware to `C' on Sun 3/60, 386i, and 4/110 workstations. Designed and implemented multitasking interface to a custom bit-slice VLIW graphics processor / route engine. Redesigned the 2D graphics library scene graph and rewrote scene graph functions achieving an order-of-magnitude speed increase. Ported software from SunView to the X Window system. Designed and implemented an interactive graphical debugger for an ECAD router.
Programming languages, toolkits, tools, platforms
- React, Rails, MySQL, JQuery, Prototype, JSP, Servlets, Java JDK 1.0+, AWT, JFC/Swing, Resin, Apache, Nginx, Tomcat, JDOM, JUnitTest, X Window System, OSF/Motif, Xt Toolkit, SunView
- Terraform, Unicorn, Memcached, Redis, GitHub, HandlebarsJS, ANT, Photoshop, Passenger, Capistrano, FrameMaker, MS Word, Visual CAFE, UIM/X, TeleUSE, Builder Xcessory, FrontPage, DBX, RCS, GIT, SCCS, VCS, CVS, SVN (Subversion), TortoiseSVN, DDTS, Bugzilla
- Digital Ocean, Linode, AWS, Joyent, Ubuntu, Solaris 11, Solaris 1, 2.x, SunOS, Unix, CentOS Linux, Windows 2000, Windows NT, Windows XP, Windows 7, DOS 2.0