Jonathan Ryan

I'm a software engineer with over 15 years of experience in a variety of languages including Java, Groovy, Javascript, Python, Bash, and C++. To see some sample code and projects check out my GitHub.

This CV (curriculum vitae) lists all my experience. To see a more recent work history refer to my resume.

All Experience


Software Engineer

2018 - 2024

Working on Xfinity Stream.


Software Contractor


February - June

Worked part-time as a contractor to design and implement a data warehousing solution.

  • Created a background Java batch service to extract metrics from Elasticsearch, MongoDB, and S3 into a Redshift data warehouse
  • Designed and implemented SQL schema for Redshift DB warehouse
  • Service handled automatic schema updates
  • Mentored junior developer
  • Delivered as a Docker image


Principal Software Engineer

2011 - 2017

Prime Project Management Software

I was the team lead for the reporting feature of a project management web application. I also aided other teams in designing and developing core application framework code.

  • Refactored, fixed bugs, and added new features to ~75,000 lines of legacy code
  • Refactored reporting into a reusable library so other teams can enable reporting instead of a having an entire team devoted to it
  • Aided in the design and migration of the whole product into microservices and to Docker and Kubernetes
  • Designed and wrote a service to aid in extracting reporting data from other microservices
  • Managed, assigned tasks, and led planning for other developers on the team
  • Worked in Java with Spring (Spring Boot), EclipseLink (JPA), and Jersey with Jackson on Weblogic with Oracle Database
  • Worked in HTML5/Javascript on the frontend with an in-house MVC framework

Along with my primary responsibilities, I saved the company significant time and money by automating many tedious developer processes.

  • Developed an development assistant program that developers used day-to-day. It helped developers setup their machines, review code, and manage their workflows
  • Automated a tedious, error prone, and manual install process that on average took 1 week into around 45 minutes unaided
  • Acted as point of contact for general issues and knowledge across many different teams, and would unblock developers across the organization regularly
  • Created a Jenkins pipeline to continuously deliver the program to ~100 developers
  • Provided support for developers when their deployments were not working
  • Automated Oracle Database Instance setup with Vagrant
  • Wrote the developer assistant in Groovy and Python (for Weblogic Scripting)
  • Mentored 12 different interns over 3-4 years. Helped them via pair programming, whiteboard teaching sessions, and presentations
  • Gave a company-wide presentation on how Git works
  • Assisted other developers across teams on a daily basis
P6 Analytics

Worked on an ETL process for Primavera P6 and on integrating the data warehouse with Oracle Business Intelligence suite for analytics.

  • Designed and wrote from scratch the next version of ETL using Groovy, Java, Oracle PL/SQL, XSLT, on top of Oracle Data Integrator
  • Migrated code from Mercurial to git
  • Performed Oracle PL/SQL performance optimizations that decreased the time of the ETL by hours
  • Designed and wrote ETL custom calculation feature
  • Managed and maintained ant build scripts
  • Refactored complicated and error prone XSLT translations process that was wasting lots of development time
  • Rewrote Java Swing installer from scratch, the new version was much easier to maintain, and use


Software Consultant


Contracted to debug and evaluate problems with their in-house POS system. Created reports on the root causes, possible fixes and gave suggestions for the future.

Drexel University / CERDEC

Co-op Research Engineer

2009 - 2011

BCW/TITAN Research

Command and control visualization tool for an agent-based AI platform written in Java with Spring, JMS, and NASA Worldwind. After my first year, I designed and rewrote the entire application from scratch, all while maintaining the old version in parallel. The speed and quality of the new version convinced the customer to switch to the new version.


Associate Systems Engineer


Help manage server rooms. I racked servers, setup switches (mostly cisco), designed and setup networks, and installed operating systems (Redhat, Solaris, Windows Server). I also automated parts of my job with python and expect.

Side Projects


  • An experimental hypergraph-based application platform written in Typescript, Node, and C++
  • GUI written with three.js
  • Deployed via kubernetes and docker containers to GCE


  • Simple word bingo game
  • Source code is on GitHub
  • Client: Android
  • Server: Java, Spring Boot, Jersey, MapDB


Drexel University

Bachelor's of Science in Computer Science

2006 - 2013

Concentrations in Operating Systems and Artificial Intelligence