Hi, my name is

Corey Duffy

I'm a Software Developer

I’m passionate about crafting clean, maintainable code using best practices and test-driven development to deliver reliable solutions.

About Me

As a detail-oriented software engineer with over 8 years of experience, I have honed my skills across a broad range of services, including usage-based pricing solutions, application security automation and fraud prevention platforms. My passion for writing clean, maintainable code is at the heart of my professional ethos, and I am committed to implementing best practices and test-driven development.

I have diverse and extensive technical experience. I have developed Java microservices using frameworks like Micronaut, Spring and Play!, and I have orchestrated these services using Docker and Kubernetes. My proficiency extends to Python, where I have created tools and scripts to enhance product functionality. I have experience developing cloud-native applications with AWS and my web development skills include crafting front-end applications using ReactJS, HTML, and CSS.

Across all of my previous roles, I have thrived in agile environments (both Scrum and Kanban), taking the lead in team collaborations and task prioritisation to achieve team and organisational objectives. I’m eager to tackle any problem, and I design solutions with a clear focus on maintainability, performance and scalability. This approach has consistently resulted in solutions that fulfil customer needs. Having worked in both start-up environments and with larger business customers, I excel in communicating effectively and working to deadlines. I work well in a team and I’m always willing to get stuck in wherever I can, even in unfamiliar situations, to ensure the team delivers a high standard of quality work.

I am self-motivated, continually seeking to expand my knowledge and skills. This drive is evident in my commitment to further education and certification. Looking ahead, I am enthusiastic about tackling greenfield projects, embracing the responsibilities that come with delivering high-quality solutions, and continuing to grow as a software developer.

Here are a few technologies I've been working with recently:
  • Java (Spring, Micronaut and Play! frameworks, TestNG, JUnit)
  • Amazon Web Services (AWS)
  • PostgreSQL
  • SQL
  • Docker
  • Kubernetes
  • Git
  • JavaScript
  • ReactJS
  • HTML
  • CSS

Experience

Software Developer - m3ter
Oct 2022 - present

m3ter provides a platform that helps customers manage and implement their usage-based pricing requirements.

Within m3ter I’ve worked on designing, architecting and implementing new features focused on billing, and on major architectural overhauls within the platform itself. Notable projects include:

I led the design and implementation of a robust search service, enhancing customer search capabilities in the main web console to allow for more complex searching and fixing a major performance problem. I spearheaded the project from conception to foundational implementation. This involved technology research, solution design, documentation, and collaboration with multiple teams.

I innovated a billing message scheduling system to optimise our data warehouse performance, effectively spreading out the computational load. I did this by Implementing a prioritisation queue for ad-hoc billing, significantly improving processing times for customer and demo needs.

I resolved a company-wide user management challenge by developing a new system for individualised developer access to customer organizations via “support user” access. This initiative solved a severe pain point within m3ter by providing increased traceability, security, and customer control over access.

Most recently I’ve been working to transition the m3ter platform to a new DataWarehouse to solve major performance issues. This is a time-critical piece of work that affects all aspects of the product. As part of this project, I’ve had to work independently and collaboratively to research and design solutions around a new data architecture, implement a new microservice, improve the performance of existing functionality with a new query/storage structure and make sure that there is no downtime for the main application.

Software Engineer - Uleska
Nov 2020 - Oct 2022

Uleska ceased operations and was dissolved. Uleska developed an application security automation and orchestration platform to enable security teams to scale up their application security programs while increasing the effectiveness of their efforts.

Upon joining Uleska I became one of the more senior members of the development team, planning and working on new features and shaping the future of the service. By working in such a small team I was able to provide value both through my development work, my assisting and mentoring of others and through proposing, championing and implementing new product ideas to make our service stand out in our sector.

For example, I proposed the idea of implementing “Toolkits” as a way to differentiate ourselves from our competitors and to better meet the needs of our customers. This has proved attractive to customers and I was able to develop and implement it alongside the team.

I worked as a full-stack developer. For back-end development, the tool stack included Java (using the Spring framework and Junit/Mockito), Python and PostgreSQL, for front-end development I used ReactJs (with Jest and Enzyme for testing), HTML and CSS. I also worked on deploying and managing the infrastructure of our service on AWS using Docker and Kubernetes.

Graduate Software Engineer - Signifyd
Sept 2019 - Nov 2020

At Signifyd I worked as a developer within the Review Tools & Services (RTS) team. My primary role was to develop and maintain back-end microservices which provide stakeholders with the tools and services they need to review and understand risk factors surrounding fraud on any given order.

As part of this role, I worked with technologies such as Java (with Play! framework), AWS (DynamoDB, Kinesis), Elasticsearch, Docker, Kubernetes, gRPC, MySQL and bash scripts.

One major project I worked on during this time was a complete restructuring of the company’s Elasticsearch cluster, used for storing and searching millions of cases to be reviewed for potential issues of fraud, greatly reducing daily running costs.

Associate Software Engineer, Trainee Software Engineer, Apprentice Software Engineer - Kainos
Sept 2015 - Sept 2019

Operating as one of the more senior developers in my team I developed new features for the “WorkSmart” SAAS application, an automated testing system for Workday, to meet our Product Roadmap alongside resolving critical customer bugs. My work dealt with automation using Java, Selenium and PostgreSQL, I also worked on a variety of front-end tasks using ReactJS, HTML and CSS.

My role demanded strong research and problem-solving skills as well as the determination to achieve results.

As an integral part of a scrum team, I organised meetings, hosted sprint ceremonies and actively contributed to product meetings where I identified priorities and developed schedules.

I supported the development of new staff at all levels through onboarding, using a wiki that I developed as well as giving presentations and training to new members of the team such as University Graduates.

As a developer, I acted as the primary point of contact for my team during busy maintenance windows and feature releases. I coordinated with management and customer services teams to ensure the smooth rollout of new features or address and fix changes made by Workday in an ever-changing environment that would affect our platform in time-critical scenarios. This helped ensure a high level of customer satisfaction.

Education

2015 - 2020
Bachelor of Science in Computing Systems with First Class Honours
University of Ulster
I completed my degree while working as a Software Developer. For each year of study I received the Dean’s List Award for “Oustanding Academic Achievement” for the Academic Year.
2018
PSM1 Scrum Master Certification
scrum.org
The Professional Scrum Master I (PSM I) certification demonstrates a fundamental level of Scrum mastery. PSM I certificate holders prove that they understand Scrum as described in the Scrum Guide and how to apply Scrum in Scrum Teams.