Learn more

Nicholas Adamou

Senior Software Engineer, M.Sc., Computer Science
linkedin.com/in/nicholas-adamou
|

nicholasadamou.com
Award-winning Full-Stack Engineer and a certified expert in cloud-native applications, Python, Java Spring Boot, and React. Passionate about mentorship and driving impactful technical solutions, with a mission to make the world better through code.
N
A

Work Experience

IBM (NS1 Connect)

Senior Software Engineer
|

Apr 2024 - Aug 2024

Joined NS1 Connect to develop a bespoke Zero Trust Managed DNS SaaS solution to be used by millions of IBM’s global customer base.

  • Implemented the "Policy Chains" feature for Zero Trust Connect, enabling prioritized policy chaining using Python Django and integrated with a GoLang application using Open Policy Agent (OPA) and gRPC.
  • Developed a comprehensive end-to-end (E2E) testing framework using pytest, poetry, dnspython, AWS boto3, and DRF Spectacular, efficiently utilizing an API SDK generated from an OpenAPI 3 specification.
  • Presented to 100+ developers on implementing an end-to-end (E2E) testing framework, emphasizing the use of an API SDK from an OpenAPI 3 specification to enhance testing and improve software quality.
  • Architected a robust python-based DNS querying solution that supports DNS over HTTPS (DoH), DNS over TLS (DoT), and DNS over mTLS with public-private key cryptography using dnspython, bolstering security.

IBM

Senior Software Engineer
|

Oct 2023 - Apr 2024

Implemented a robust Intercompany Agreement (ICA) SaaS solution for hundreds of IBMers, built to replace the legacy Lotus Notes Domino backend with a modern, scalable platform.

  • Engineered a multi-threaded Exporter Service for ICA legal documents using Java Spring Boot, Cloudant, DB2, Apache POI, and LibreOffice's LibrePDF, handling hundreds of exports.
  • Designed and developed a multi-threaded RESTful mail notification service using Java Spring Boot, Thymeleaf, and DB2 supporting hundreds of user email notifications.

Contributed to IBM's inner-source initiatives by developing a Tekton-based CI/CD pipeline system supporting hundreds of teams.

  • Code owner of Maven and Node.js Tekton pipelines, designing custom solutions that cut build and deployment times by 30% and boosted developer productivity by 20% across 270+ teams.
  • Developed a Python-based secrets updater that reduced time spent recycling secrets in CI/CD pipelines by 99.99%, now utilized by hundreds of teams across IBM.
  • Wrote internal blog posts and hosted IBM Developer Guild office hours to introduce the secrets updater tool to over 351+ developers.

IBM

Software Engineer II
|

May 2021 - Oct 2023

Contributed to IBM’s Global Ledger SaaS application used by thousands of IBM accountants.

  • Implemented a Search UI with multi-faceted filters and pagination using React.js and Java Spring Boot, achieving a 40% reduction in load times and a 25% increase in user engagement.
  • Architected the Direct File Input (DFI) feature supporting 24k+ documents a quarter and the management of ~150k files during year ends and quarterly close periods.
  • Developed a DFI template generation UI using Styled Components and the Carbon Design System for React, integrated with the Excel template generation API via Axios for highly customizable Excel templates.

Spearheaded DevOps initiatives across IBM’s financial products, resulting in improved deployment efficiency and reduced time-to-market for new features.

  • Implemented an industry-standard DevOps strategy using IBM’s Hybrid Cloud Cirrus and tools like RedHat Quay, Artifactory, and Travis CI to optimize CI/CD processes and improve software quality and compliance.
  • Developed and deployed custom Garasigned Docker images, integrated HCL App Scan and Contrast Security for code analysis, reducing code smells by 15% and attaining 100% security compliance.

IBM

Software Engineer I
|

May 2019 - May 2021

Joined IBM to modernize the Global Ledger SaaS used by thousands of IBM accountants.

  • Developed a sophisticated chatbot using Angular v16 and Node.js with JWT-based user authentication, integrated Box.com media embedding and reducing emails to Global Ledger support for frequently asked questions by 90%.
  • Created an end-to-end Data Table feature for the Ledger Listing page, enabling dynamic front-end filtering and sorting for instantaneous data access.
  • Engineered a custom sidebar component using React.js, Styled Components, and CSS3, providing a highly customizable and responsive navigation element tailored to the application's specific requirements.
  • Migrated to Webpack v5, achieving 25% faster builds, 35% quicker page loads, and 40% smaller assets. Implemented Brotli compression and chunking for better performance in Chrome and Firefox.
  • Improved user authentication security by implementing secure cookie management, setting the 'HTTPOnly' and 'Secure' flags on JWT and refresh token cookies to prevent cross-site scripting (XSS) attacks.

Education

Georgia Institute of Technology

M.Sc. Computer Science
|

Aug 2021 - May 2024

Link to digital credential can be found here.

Cornell College

B.A. Computer Science
|

Aug 2018 - May 2020

Link to digital credential can be found here.

Appendix

Internships

Fly Blackbird

Software Engineer Intern (Acquired by Surf Air)
|

Jun 2018 - Aug 2018
  • Designed and implemented a dynamic calendar component utilizing React Native and GraphQL, enhancing user scheduling efficiency.
  • Developed bespoke React Native components with Expo and Storybook, contributing to a more robust and user-friendly UI library.

Mack Media Group

Software Engineer Intern
|

Dec 2016 - Dec 2016
  • Reduced page bounce rate on mobile devices by 40% through implementation of Google AMP Pages, resulting in significantly faster load times.

Awards

Technical Collaboration Achievement (TCA)

Awarded for my contributions to IBM's developer experience, including significant inner source contributions, extensive developer advocacy through educational articles and presentations, and fostering a culture of knowledge sharing within the organization.

• Spearheaded the development of the CI/CD Secrets Updater, a CLI tool and API that streamlined updating CI/CD secrets across multiple repositories.

• Reduced manual update time from a full workday to approx. 30 seconds, achieving a 99.99% increase in efficiency.

• Enhanced IBM’s Tekton-based CI/CD pipeline by adding support for Node 18 LTS and Java JDK 17 LTS.

• Engaged in educational efforts through articles and presentations, fostering a culture of knowledge sharing and continuous improvement within the organization.

Design Hero

Recognized for exemplary contributions to improving user experience (UX) as part of the Design Heroes Award program, honoring teams demonstrating best practices in UX.

• Awarded quarterly based on criteria such as significant improvements in Net Promoter Score (NPS) and the establishment of a user council.

• Acknowledged for the application of design thinking methods to enhance user experience.

• Announced by leadership at the quarterly All Hands meeting, celebrating teams that drive superior employee experiences through innovative design solutions.

Involvement

Stack Exchange

Community Member

Contributed to Stack Overflow, Unix & Linux, Raspberry Pi, AskUbuntu, etc., by answering questions and providing solutions to programming issues, reaching hundreds of thousands of developers and helping to resolve their programming challenges. Demonstrated expertise in Git, Linux, bash, JavaScript, React,Spring Boot, Java, etc.

IBM Developer Profession

Subject Matter Expert
  • Evaluated numerous Developer Profession certification applications across various levels (L1 - L3), meticulously adhering to conformance guidelines to uphold the integrity of the certification process.

  • Integrated a pathway for L2-certified developers whom have previously obtained the Developer Profession Champion certification that allows these developers to review L2 certification packages. This initiative enhanced their professional network, honed their evaluative skills, and upheld high standards within our certification processes, reinforcing a culture of continuous learning and mutual support.

  • Led multiple successful mentoring circles for IBM's Developer Profession, facilitating hands-on mentorship that enabled numerous individuals to achieve their developer profession certification.

    • Accelerated the certification process for mentees, reducing the time from submission to certification by 50%.

Hackathons and Technical Presentations

HackUIowa Hackathon

University of Iowa
|

Jan 2020 - Jan 2020
  • Developed a crowd-sourced stock analyzer and predictor; How much do emotions affect a stock price?
  • Leveraged Python, Google Natural Language API, Twitter, and Wikidata query service.
  • Managed a group of 3 software engineers over two-day period to develop a POC.
  • Created and led presentation of the application to a panel of HackUlowa judges.

HackCIO Hackathon

IBM
|

Jul 2019 - Jul 2019
  • Spearheaded the development of a comprehensive full-stack web application focused on fostering networking by facilitating user matching, enhancing connections, and promoting meaningful interactions.
  • Successfully integrated Google Firebase to manage user authentication, including login and account management, as well as handling secure application data storage.
  • Presented the application to IBM executives and hackathon participants, highlighting its technical features, value proposition, and potential impact, securing audience interest and support.

Publications

Representative Data Migration

Cloud and container technologies have transformed application development, but data synchronization between production and non-production environments raises privacy concerns, complicating debugging and data quality. This method introduces a fingerprinting mechanism to identify data characteristics, enabling the extraction of a representative subset that enhances test quality while addressing privacy issues.

Projects

set-me-up

Architected and designed the set-me-up toolkit to automate macOS and Debian Linux development environment setups, cutting the time from new machine setup to productive developer by 99%.

ChatGPT Scraper

The Selenium-based ChatGPT automation tool streamlines conversations by initializing a browser session and offering features like conversation scraping and automated engagement. It supports various login methods, including Basic and Google authentication with 2FA, and uses Docker for easy setup. Users can also copy ChatGPT responses in Markdown and Plain Text formats, making it ideal for developers and testers seeking secure and efficient automation.

ChatGPT Spring Boot Starter

A modular service that exposes an API to interact with ChatGPT and includes Docker support, unit tests, and GitHub actions integration.

Vineyard Vines Sales

Developed a web scraper using JSSoup to extract real-time sales data for men's and women's products from the Vineyard Vines website, and utilized React Router and Styled-Components to build a seamless, navigable, and visually appealing sales page, ensuring consistent branding and design standards throughout the application.

Guardrails

Engineered a modular and customizable DevOps framework integrated with Travis CI, Docker, and advanced security tools, streamlining compliance with IT security standards and enhancing CI/CD pipeline flexibility for projects with non-centralized development needs.

Spring Secrets Manager

Integrated Spring Boot v3 with IBM Cloud Secrets Manager for secure keystore retrieval, reducing secret retrieval time by 40% and improving compliance with security standards by 30%.

Multipart File Uploader

Developed a multipart file uploader with a React.js front-end and Spring Boot backend, featuring secure RESTful APIs and PostgreSQL integration. Containerized with Docker and managed in a mono repo.

Cloudant Backup Service

Designed and developed a comprehensive Node.js Express service to back up one or multiple Cloudant databases to a file and upload them to a Cloud Object Storage (COS) bucket on IBM Cloud.

Cloudant Restore Service

Engineered a Node.js Express service is designed to restore one or multiple Cloudant databases from a Cloud Object Storage (COS) bucket on IBM Cloud.

Skills

Java
Spring Boot, JDBC, lombok, JUnit, Cucumber, Selenium, Mockito
JavaScript
TypeScript, React, Node, Express, Webpack, React Hook Forms, Carbon Design for React
HTML & CSS
CSS3, Tailwind CSS, Flowbite
Python
Django, Poetry, Pip, Pytest, Selenium
GoLang
Gin
Database
SQL, NoSQL, GraphQL
DevOps
Docker, k8s, Tekton, GitHub, Git, Travis CI, Shell Scripting, Terraform, Amazon AWS, SOPS