Dan FitzGerald - IBM Z Advanced Technology Team
I'm a systems programmer with experience in Linux, application development, firmware development, kernel development, virtualization, and cloud computing. I have been with IBM since June, 2007 and am currently a developer with the IBM Z Advnaced Technology Team. Previously, I worked for IBM's High Performance Computing (HPC) group, and for the z Systems virtualization laboratory in Endicott, NY.
I received a Bachelor of Arts in Computer Science from SUNY Geneseo (5/2007), and a Master of Science in Computer Science from Binghamton University (12/2014). My graduate research at Binghamton University was in the area of nested virtualization performance. Specifically, I conducted a performance study that compared the performance of a nested Linux guest on x86_64 KVM and S390x z/VM. My research report can be found here.
Since August 2019, I have been a member of the IBM Z Advanced Technology Team. This is a highly adaptive and innovative group composed of cross-product, varied skill, band, and tenure software engineers working together to discover, explore, and prototype new technology innovations through incubator projects for IBM Z. In my time with the zATT, I have been involved in the development of fascinating prototypes in areas as diverse as artificial intelligence, combinatoric testing, and DevOps.
As a z/VM co-op in the summer of 2006, I was a member of the Live Guest Relocation prototype team. Besides prototyping this critical feature, we were also IBM's first cross-site SpeedTeam and the first co-op team to work inside the z/VM kernel.
From June 2007 - October 2011, I was a member of the z/VM kernel development team. My work involved the development and function test of the memory management subsystem. The bulk of my work was done in S/390 High Level Assembler, as well as its macro language. I also have extensive experience with CMS pipelines and Rexx.
From October 2011 - March 2012, I worked with STG Emerging Solutions on next-generation cloud technologies, namely expanding the IBM Image Construction and Composition Tool's Virtual Appliance Factory to support KVM hosts. My work here was entirely using Python and Shell Scripting.
I briefly returned to z/VM Development to support Function Verification test, before moving to the System/z Firmware Developmet organization in July 2012. At z/Firmware, I was responsible for the development of new functionality for the Data Replication subsystem, and for the Problem Analysis team. All of my work was done in Java, with some Shell Scripting.
From August 2013 - June 2016, I worked on IBM Wave for z/VM, a next-generation z/VM systems management suite written as a Java "thick client". Here I continued to work in Java, but also configured and administered several z/VM development and test systems.
From July 2016 - July 2019, I was a member of the Tools Development team in the IBM High Performance Computing unit. My work was primarily on the IBM Parallel Performance Toolkit, an integrated set of performance analysis tools for Power Linux binaries, designed to assist application developers in tuning parallel or serial HPC applications. This software has been a (small) part of IBM Summit, currently the fastest supercomputer in the world. My work for PPT was done in Java and C.
A full copy of my resume and more can be found on my LinkedIn profile.
Patents and Publications
Anonymous. A Method For Conditionally Permitting The Destination Of A Virtual Machine Through Repetitive Monitoring Of Its Actual Memory Usage. 20 May 2010, https://priorart.ip.com/IPCOM/000195876.