Summary
Overview
Work History
Education
Skills
Interests
Timeline
Generic

John Fitzgerald

Software Developer / Data Engineer
28/61 North Road Dunedin,New Zealand

Summary

"I am a passionate, motivated, and ambitious individual with strong interpersonal, creative, and organizational skills. I enjoy learning and have had a diverse range of career experiences. Over the last six and a half years, I have worked in Java-based software development roles and am excited to explore new opportunities. In my personal life, I relish spending as much time as possible surfing and playing the guitar."

Overview

15
15
years of professional experience

Work History

Software Developer

OpenSky Network
Zurich, Switzerland
02.2021 - Current

My current role at OpenSky Network covers a broad range of areas from infrastructure as code, working with clients to determine requirements, and implementing and testing these solutions in software. I'm excited to be in the big data space as I find the technology interesting. These are a few of my responsibilities:

  • Building a Bespoke Data Platform: Constructing a customized data platform using open-source components such as Apache Spark, Minio/S3, Apache Kafka, Cassandra, Apache Storm, Trino, MySQL, Hive, Redis and Keycloak. This platform, based on the Lambda Architecture, is deployed on a bare-metal Kubernetes cluster and managed with Ansible. The main goal of this work is to migrate all necessary components from an existing Cloudera platform.
  • Data Migration: Handling the seamless transition of data to the new Kubernetes cluster, ensuring integrity, consistency, and minimizing downtime during the migration process.
  • Developing Microservices: Designing and developing scalable and efficient microservices using Kotlin and Quarkus (similar to Spring Boot). These are running in Docker containers and deployed to the Kubernetes cluster.
  • Monitoring: Implementing a robust monitoring system with Prometheus and Grafana to track performance, detect anomalies, and provide insights for optimization.
  • Developing dataset features: Working closely with Eurocontrol to gather requirements, understand their needs, and develop new data set features using Apache Spark (Scala). For example, analyzing and processing data related to aircraft landing times and merging large datasets.
  • Prototyping and Testing: Actively involved in the prototyping and testing of new dataset features, leveraging tools like Python and Pandas to ensure quality.

Java Developer

Datacom
Wellington, New Zealand
02.2017 - 02.2021

I worked as a Java developer on two digital identity systems – for the Department of Internal Affairs and Education Sector Logon for the Ministry of Education. This was an invaluable opportunity to immerse myself in the digital identity space, collaborate with government departments, and hone my technical skills. My responsibilities spanned the following areas:

  • Developing Agile Features: Engaging in an Agile development environment to craft features using Java 8 and Java EE7, ensuring alignment with project timelines and quality standards.
  • Database Development: Working with Oracle and MySQL databases, employing best practices for optimization, reliability, and performance.
  • Integration of Identity Products: Configuring and integrating bespoke Java applications with ForgeRock identity products OpenIDM, OpenDJ and OpenAM. Utilizing expertise in OpenID and OpenID Connect OAuth flows.
  • Automation & Deployment: Leveraging Ansible for automated environment configuration and deployments.
  • Automated Testing: Creating and maintaining automated tests using a custom framework built on top of Selenium.
  • Virtualization Technology: Using technologies such as Virtual Box and Vagrant.
  • CI/CD Practices: Implementing Continuous Integration and Continuous Deployment using GitLab pipelines.
  • Linux & Cloud Skills: Demonstrating general Linux skills and gaining experience with Amazon Web Services (AWS), contributing to the scalability and flexibility of the systems.

In the last six months of this role, I assumed the position of senior developer/tech lead, taking on the challenge of onboarding new developers. This opportunity has provided me with experience in working with architects on solution design, organizing development teams, and engaging more directly with senior management. This experience not only elevated my technical skills but also enhanced my leadership abilities.

Musician

French For Rabbits
01.2011 - Current

I am a guitarist in a band called French for Rabbits. We have toured Europe five times and the US twice, performing at venues, house concerts, and festivals such as SXSW. Key transferable skills:

  • Teamwork
  • Social skills
  • Organizational skills
  • Grit and determination
  • Networking
  • Life experience

Lab Demonstrator

University Of Otago
Dunedin, New Zealand
01.2016 - 11.2016

In this role, I helped students work through and mark their lab exercises for the paper COMP160. The paper uses Java.

Music Teacher

Mairehau High School
Christchurch, New Zealand
01.2014 - 12.2014

Tasks included planning and organizing lesson content, conducting lessons, resolving behavior management issues and general administrative tasks. It was important to interact in a professional manner with parents and senior staff members.

Relief Teacher

Various Secondary Schools
Wellington, New Zealand
04.2011 - 12.2013

My role here was day-to-day relief work in any subject area. This required the ability to quickly develop a rapport with students and to understand and adapt to the different lesson plans provided to me at short notice. I also liaised with senior staff members on student issues.

Guitar Teacher

Self Employed
01.2009 - 12.2016

This has required working out songs for students, adapting my teaching style to suit the personalities and abilities of different students and interacting with the parents of students on things like scheduling times, billing, and providing feedback to them about how their children were doing.

Education

Bachelor of Science - Computer Science

University of Otago
Dunedin, NZ
12-2016

Graduate Diploma in Teaching And Learning - Teaching

University of Canterbury
Christchurch, NZ
12-2010

Bachelor of Music - Jazz Performance

University of Canterbury
Christchurch, NZ
12-2009

Skills

  • Java
  • Java EE
  • Apache Spark with Scala
  • Hadoop technologies
  • SQL databases
  • Python
  • Ansible
  • Kubernetes
  • Docker
  • OAuth/OpenID Connect
  • Gitlab CI/CD
  • Linux
  • Kotlin
  • Quarkus
  • Bash scripting
  • AWS

Interests

  • Surfing

  • Playing guitar

  • Leaning about finance

  • Keeping fit with gym, yoga and pilates

  • Meditation

Timeline

Software Developer

OpenSky Network
02.2021 - Current

Java Developer

Datacom
02.2017 - 02.2021

Lab Demonstrator

University Of Otago
01.2016 - 11.2016

Music Teacher

Mairehau High School
01.2014 - 12.2014

Relief Teacher

Various Secondary Schools
04.2011 - 12.2013

Musician

French For Rabbits
01.2011 - Current

Guitar Teacher

Self Employed
01.2009 - 12.2016

Bachelor of Science - Computer Science

University of Otago

Graduate Diploma in Teaching And Learning - Teaching

University of Canterbury

Bachelor of Music - Jazz Performance

University of Canterbury
John FitzgeraldSoftware Developer / Data Engineer