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 MichaelWorking on stealth mode startups, prototypes, proofs of concept, DevOps, and functional programming. He prefers coding in Rust and/or TypeScript but is open to working in other languages. Will also consider contracts or jobs related to porting from C/C++, Java, or JavaScript to newer or more-functional programming languages. During his career he has successfully learned many programming languages, including several proprietary or esoteric ones–and I’m open to learning a new language if needed.
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 the front-end team, responsible for interviewing and onboarding interns and new hires, and, junior and senior developers. Managed the Agile (Kanban) process of porting a large backbone/d3.js application to React/d3.js while maintaining the old code and adding new features to the new code. Responsible for data analysis of large customer network security traces and for maintaining AWS-based test systems and simulation/testing data. Responsible for improving continuous integration using Gradle, Artifactory, and Jenkins. Coded internationalization support in JavaScript.
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.
Managed senior back-end developers. Interviewed and onboarded interns and new hires. Managed release schedules and analyzed merge conflicts on large Java/Gosu applications. Worked on porting build code from Java/Gosu/Ant/Maven to Groovy/Gradle. Developed integration code for communicating via XML to legacy systems using Gosu type system. Developed internationalization code. Mentored interns and acted as a technical team lead or architect for intern projects (usually involving DropWizard, Java, Derby, H2, MongoDB, JavaScript, and/or d3.js).
Engineering Manager
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
LikeStream LLC
– Developed Clojure/PostgreSQL backend, JS/jQuery/Maps front-end Facebook App
LogiCoy, Monrovia
– 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.