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.*.printlnstatements to use the Log4j2 logging system making use of the propererror,warn,info, anddebugconvention 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
- Pushed for and implemented OpenAPI 3 specification
- RESTful
- BAPI (Backend-API)
- Used for internal services only, such as provisioning Block Storage Volumes
- SUDS (Secure User Data Service)
- 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
- Ingetrated into Github Enterprise
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 EngineeringDrexel University2008 - 2012 3.56 (Cum Laude)
Language
- English (Native)
Interests
- Home Automation
- Voluneteering
- Cycling
Organizations
-
since 2004
-
since 2011
-
since 2014
-
Hammonton Bicycle Advisory Committeesince 2015
-
since 2017