Dan FitzGerald - CIO New Solutions Engineering



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 as the team lead/Iteration Manager (IM) for the IBM CIO's z/VM Site Reliability Engineering team, 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.

Professional Biography

Since May 2024 I have been a New Solutions Engineer for the CIO Z Strategy & Platform team, an agile software development team tasked with implementing new technologies to support the modernization of the IBM CIOs Z portfolio and to enhance the experience of the CIO Z Site Reliability Engineering teams.

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 was a (small) part of IBM Summit, at one time the fastest supercomputer in the world. My work for PPT was done in Java and C.

From August 2019 - December 2022, I was a member of the IBM Z Advanced Technology Team. This was 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 was been involved in the development of fascinating prototypes in areas as diverse as artificial intelligence, combinatoric testing, and DevOps.

From January 2023 - April 2024, I was the team lead and Iteration Manager (IM) for the CIO zVirtualization team, the Site Reliability Engineering team responsible for all z/VM and Linux on Z installations owned by the Office of the CIO, along with their physical storage resources (enterprise disk and tape).

A full copy of my resume and more can be found on my LinkedIn profile.

Patents and Publications

Hicks, Andrew C.M., Atul Kumar Thapliyal, Daniel John FitzGerald, Ronald David Boenig II, Scott Woolley, and Travis Biro. 2021. Digital transaction ledger with dna-related ledger parameter. U.S. Patent 96,579,590, filed 5 May 2021. Patent pending. https://patentcenter.uspto.gov/applications/17308267.

Hicks, Andrew C.M., Christopher G. Brooker, Daniel J. FitzGerald, and Michael E. Gildein. 2020. Vector-Based Identification of Software Dependency Relationships. U.S. Patent 11,455,154, filed 10 December 2020 and issued 26 September 2022. https://patents.justia.com/patent/11455154.

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.

Skills

"Hard" Skills:
  • C
  • Java and Groovy
  • Python
  • Shell Scripting
  • UNIX, Linux
  • POSIX Systems Programming
  • Kernel-level software development
  • Large system software development
  • Virtualization
  • Job Control Language (JCL)
  • IBM High Level Assembler
  • Rexx
  • CMS Pipelines ("Hartmann Pipelines")
  • z/VM Systems Programming
  • Scrum and Agile Methodologies
"Soft" Skills:
  • Fast prototyping
  • Function testing
  • Team leadership

Professional Interests

  • The design and implementation of operating systems
  • Linux, UNIX, C
  • Linux and UNIX systems programming
  • Virtualization
  • Transgender and nonbinary employee advocacy
  • IBM intern and new-hire relations
  • Agile software development with Scrum

Personal Interests

  • Linux system administration
  • Audio editing, digitizing records
  • Geneaology
  • Photography
  • Camping, hiking, and the outdoors

Contact Information

Dan FitzGerald
IBM Corporation
B/008-3, Column C30
2455 South Road
Poughkeepsie, NY 12601-5400

danfitz@us.ibm.com

You can follow me on Mastodon, and LinkedIn.

The information provided, and views expressed on this site are my own and do not represent the IBM Corporation.