About Me
I have been developing full stack web applications and mobile apps from architectural design to production for 8 years. If you can think it, I can dream it, and we can do it.
... Show MoreSkills
Others
Web Development
Programming Language
Database
Software Testing
Development Tools
Software Engineering
Operating System
Hardware
Data & Analytics
Mobile Apps
Graphic Design
Portfolio Projects
Company
Cisco CX Labs Validation, Compliance, and Reporting Tool (CXVAC)
Role
Full-Stack Developer
Description
Cisco CX Labs is Cisco’s set of customer-facing rapid protoyping labs where devices are constantly brought online and offline
in order to create exact replicas of customer development and production environments. All of these devices exist in labs,
but they must still adhere to Cisco security standards and configuration compliance. Various tools are used to aggregate
compliance adherence and other issues – we need a tool to aggregate this information for issue tracking and report
generation for management.
Solution: develop an application to aggregate compliance checks for ~15,000 networking devices and servers
- Aggregates device status from monitoring tools for display in a single UI with report generation and issue tracking
- Maintains golden source of device list; will allow for on-demand execution of tests
- Python3: used Flask API, then switched to Sani
Company
Cisco Source Code Management Monitoring and Reporting Tool (OEI)
Role
Full-Stack Developer
Description
Cisco Source Code Management (SCM) team hosts and supports SCM servers, such as Bitbucket, git, Github, Gerrit, etc.
These servers are one of Cisco’s most important tools, so we wanted an application which would constantly monitor these
servers and appropriate alerts (SMS vs email vs aggregated email) according to outage severity.
Solution: Develop an application (OEI) to monitor ~100 SCM servers
- OEI is dockerized across 5 regions; runs ~10 tests on ~100 servers every 10 minutes; reports via email and web UI
- Python3 for OEI application
- Python3 API with Falcon – later ported to Golang
- JS/React (web UI) with Redux, then switched to mobx, PostgreSQL, jwt
- Upon taking lead, the codebase was improved by refactoring and rearchitecting
- Deployment time reduced from 1.5 hours to 5 minutes; reduced application crashes by >99.9% (with smart error
handling and recovery); reduced test suite configuration from ~700 lines spread across ~100 servers to using an API as
the single source for config retrieval – and cached the config locally in case the API is down
Used automation tools for CD
- Ansible, Jenkins, CRATE (Cisco’s docker offering), Docker, ELK, Vagrant/VirtualBox
Company
Enterprise Solution Architect at MetLife
Description
Helped reach amicable decisions on a wide variety of projects, from demoing kubernetes deployments to handling of
personally identifiable information to PDF processing and storage
Developed MetLife’s first cloud solution for hosting production applications on the MetLife MOD SQUAD
- Met with and assessed cloud vendor applications for an enterprise full stack environment;
- Did deep dives into potential problem areas/concerns; set up test environments
- Delivered solution saves between 49 – 82% on hosting costs compared to the previous virtual machine strategy
Partnered with business and development teams to establish conceptual architecture for dental and life insurance applications
- Guided business and development teams on tactics to meet future-state strategic goals
Skills
JavaScript Java (All Versions)Company
Personal Projects and Travel
Description
I traveled while working on personal projects for most of 2019, to reflect on my life and to learn what it's like to travel while working.
Personal Projects:
- Got pretty far in a React Native app for social networking of disc golf players
- Gor pretty far in a Flutter app for ranking memes: https://gitlab.com/numagang/numaapp
- Got pretty far in a React Native app for finding/planning events with a GoLang api and Cassandra database: https://github.com/gronka/bolt
I developed a lot of my opinions of project layout during this time. In my perfect stack I use typed languages (not typescript) with a Cassandra database (Postgresql is also good).
I generally end up creating 5 repositories for a serious project:
- frontend user-facing app
- backend API (including databases)
- a repo that uses python to put the app, API, and database into docker containers and can send data through for end to end testing
- a reploy for deployment (scripts and configuration management)
- a repo for notes and planning project goals that span across the other 4 repos with the project planning tools included by for example github and gitlab
Show More Show Less