Profile

If you are searching for a Software Engineer that is passionate about technology and is a proven problem solver, then look no further. I have been teaching myself programming technologies since I was 12 years old. I started with C++, and I am now proficient in over a dozen languages and numerous web and automation technologies.

I consider myself to be a Polyglot Programmer, but my go to languages are Java, Python, Bash and JavaScript. I have a deep understanding of programming fundamentals for the entire product life cycle. From design to deployment, no matter what the language requirements, I would be an asset to your organization.

Experience

Senior Software Engineer

Edmunds GovTech
2018 - Present Northfield, NJ
  • Leading a team of three developers to integrate Orbeon Forms into MCSJ
  • Developed a system to automatically compute and apply database schema changes.
    • Reads from a versioned excel file used to track schema changes between major releases
    • Transparently supports three databases; MySQL, MS-SQL, and Actian Zen (PSQL)
    • Automatically finds new, changed and removed tables, columns and indexes
    • Supports custom migrations written in Java or SQL
      • i.e. Computing values for new columns from previous database versions
    • Supports pre-flight checks and post-flight checks
    • Supports applying multiple schema update sequencially
  • Developed a JavaFX application to install and manage Windows services of the MCSJ Software.
    • Used to install multiple services to support running against multiple instances
      • Multi-tenant solution for AWS Windows instances
      • Training and archive databases for on-premise installs
    • Used to upgrade previous versions of the software to the latest version
    • Used to upgrade database schema after new software versions are installed
  • Wrote Bash script to intelligently convert entire code based that was only using System.*.println statements to use the Log4j2 logging system making use of the proper error, warn, info, and debug convention through code context analysis
  • Pushed for and implemented conversion from Subversion to Git for all code
    • Maintained all Subversion history in new Git repo and proper author mapping
    • Setup and manage Gitlab hosting for newly converted git projects
    • Setup Gitlab CI/CD to automate building and packaging
    • Integrated Gitlab with Microsoft Teams and JIRA
    • Wrote extensive documentation to help all developers get up to speed with Git and Gitlab

Technologies used:

  • Java
  • Bash
  • Gitlab CI/CD
  • AWS SQS
  • Tomcat
  • Orbeon Forms
  • MySQL
  • MS SQL

Developer

Linode, Inc
2015 - 2018 Galloway, NJ
  • Developed microservices in Python using Flask and SQLAlchemy
    • SUDS (Secure User Data Service)
      • Separate microservice to store user’s password and two-factor secret using only an UUID to link users between services
      • Custom PAM module written in Python to allow users to SSH into Linode’s management console
    • OAuth 2.0 Server
      • Integrated with SUDS
      • Supports Customer Application, Personal Access Tokens, Implicit and Explicit authentication methods
    • Linode API v4
    • BAPI (Backend-API)
      • Used for internal services only, such as provisioning Block Storage Volumes
  • Maintained and Optimized Developer Stack using Vagrant & SaltStack then Docker Compose
    • The Linode Developer stack replicated the entire Linode Stack on a Developer’s Laptop
    • Version 1 used Vagrant and VMs
      • Could even spin up Linode VM inside a simulated host VM
    • Version 2 used Docker Compose
      • Primarily for Front-end development, lighter weight, couldn't spin up Linode VMs
      • Much smaller provision scripts, no need for SaltStack
  • Maintained Jenkins Server to support automated testing and code quality
    • Ingetrated into Github Enterprise
      • PRs can’t be merged until all pipelines pass

Technologies used:

  • ColdFusion
  • Python
  • Flask
  • SQLAlchemy
  • Bash
  • Docker
  • Vagrant
  • SaltStack

Software Engineer

Mitel (formerly Ulticom, Inc)
2011 - 2015 Mount Laurel, NJ
  • Using Cisco’s NCS Platform worked with a team that developed a distributed, fault-tolerant Diameter Signaling Controller (DSC)
  • Integrated MongoDB into DSC platform to provide dynamic routing rules
  • Developed SOAP and REST API Servlets to allow access to the MongoDB integration
    • Used Apache CXF for SOAP and Jersey for REST
  • Integrated Jetty into DSC to host SOAP and REST Servlets
  • Developed and integrated into DSC a metrics collections system using MySQL, Hibernate, & Google ProtoBufs

Technologies used:

  • JavaScript
  • Java
  • Jetty
  • MongoDB
  • MySQL
  • OpenStack

Software Engineer (Intern)

Amazon.com
2009 - 2010 Seattle, WA
  • Developed Email IP Reputation System for use with AWS Simple Email Service
    • Used Spring, Hibernate and AWS RDS
    • Used to monitor if emails are being marked as Junk by mail providers, thus lowering IP reputation of Amazon’s MTAs

Technologies used:

  • Java
  • Hibernate
  • AWS RDS
  • Ruby

Skills & Tools

Frontend

  • JavaScript
  • HTML5
  • Sass

Backend

  • Java 8
  • Bash
  • Python
  • Flask & SQLAlchemy
  • Ruby
  • Go
  • Elixir
  • C/C++
  • Excel with VB Script

Other

  • Linux (Debian & Fedora variants)
  • macOS
  • Windows 10
  • InDesign
  • Illustrator
  • JIRA
  • Scrum
  • Docker
  • Vagrant

Education

  • BS in Computer Engineering
    Drexel University
    2008 - 2012 3.56 (Cum Laude)

Language

  • English (Native)

Interests

  • Home Automation
  • Voluneteering
  • Cycling

Organizations