Michael is a life-long learner and problem solver. Interested in many programming languages and technologies. Proven skills mostly with platform development and system, low-level, back-end programming with some application development, and full-stack experience. Michael has held roles or performed responsibilities of an individual contributor, lead developer, architect, engineering manager, build engineer, release engineer, tools developer, technical writer, course developer, test developer, and mentor. He enjoys testing, documentation, analysis, design, and coding.Hire Michael
Gave remote/in-person demos, answered tech questions, organized speakers/venues
Responsible for analyzing performance issues with large Gradle builds and multiple Docker containers for a distributed Java/Scala application. Implemented and validated improvements in Gradle (Groovy/Kotlin) and Dockerfiles, shell scripts. Speeded up the build and reduced the size and bandwidth usage of Docker containers and layers.
– Developed multiple nontrivial CLI tools using Rust.
– Studied/developed Uis using TypeScript, React hooks, Redux, GraphQL, Vue, Svelte, Next.js, Sveltekit
– Studied Emacs LISP, Python, Julia, Rust, WebAssembly, RISC-V assembler, Haskell, and F#
Managed/grew Web UI and development team. Responsible for agile planning, project management, people management, recruiting, training, and process improvements. The team uses React and D3 to develop an ES6-based Enterprise Single Page Application to visualize and secure networks at scale. We also use tools like Node, Docker, and Elasticsearch to analyze networks and generate test API data. Our intern projects explore web UI data visualization, for example using Three.js and Lightning-viz.
Platform development front-line manager. Responsibilities included process improvements, coordinating software releases/schedules, interviewing, and facilitating. Personally responsible for resolving merge conflicts during forward integration of features and fixes across product versions, from Perforce to Git. Coordinated stabilization of very large regression test suites. Contributed to redesign of build system from proprietary (Gosu/Aardvark) plus Ant/Maven version to new Gradle-only build (of approximately six million lines of mostly Java code).
Senior Agile Software Engineer
– Developed Clojure/PostgreSQL backend, JS/jQuery/Maps front-end Facebook App
– Configured/documented/trained app server load balancing using AWS and HW servers
Advisory Software Engineer
Technology Transfer: customer engagements to solve Enterprise Application Integration problems; developed initial MVS/BatchPipes subsystem software for product division.
Worked on: IMS Cross System Data Sharing; OS/390 Resource Recovery Services, Fault Tolerance Automated Restart, System Scaling, Distributed Object Infrastructure, and Reliability/Availability/Serviceability of Parallel Sysplex. Architect for OS/390 Java Record I/O class library (and alphaWorks Rioja project)
Staff Software Engineer
Team Leader, lead developer MVS Dynamic Reconfiguration and MVS Standalone Dump. Developed operating system code and worked on Reliability, Availability, and Serviceability components: automatic CPU recovery, machine check handler, Initial Program Load/Nucleus Initialization Program. Wrote Bootstrap code, channel programs, interrupt handlers, console drivers, and admin console applications. Maintained development, build, and test tools.
Complex Customer Engineer
Responsible for a large customer base of IBM and external users of minicomputers: manage customer issues; upgrade, move, diagnose/repair/maintain many diverse systems; Regional expert: provide field training, software support; Sales assistance: sold service contracts, set up/ran large demos/exhibits. Maintained manpower planning and cross-training database application.