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.

Professional Biography

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.

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/705-2, Column C1
2455 South Road
Poughkeepsie, NY 12601-5400

danfitz@us.ibm.com

You can follow me on Mastodon, Twitter, and LinkedIn.