The bad news is time flies. The good news is you’re the pilot.

– Michael Altshuler

My love of technology runs deep. One of my oldest memories is of playing Treasure Mountain which I fell in love with. It wasn't until much later that I realized the trick my parents had played on me by getting me addicted to a game that taught math and logic skills.

There are 3 things that will forever get me excited about building software... The act of creating something that never existed, the feeling that comes after a piece of code does exactly what I want it to, and learning new technologies or applying what I already knew in different ways. I have always searched out a challenge with my employment and have learned at least one completely new programming language at every job I've had.

Photography has always been a love of mine. In high school, I pilfered my Dad's 70's era Olympus camera and it's rarely left my side on an adventure since, no matter where in the world I've ended up. I love to just grab it, start walking, and see where the streets take me. All of the photographs on this site were taken by me.

Corporate Experience
  • Established and led the enablement teams responsible for Architecture, DevOps, the Design System Component Library, and Quality Engineering for multiple high-visibility consumer-facing web portals and mobile applications
  • Managed 15 employees who represented a mixture of specialties, local and remote, and full-time employees and contractors
  • Created, executed, and iterated on processes utilized by all 4 teams with a focus on transparency and solving the right problems
  • Led efforts to revamp the culture, development processes, testing processes, and tools leveraged by 11 feature dev teams
  • Crafted the architecture and led the implementation of breaking up multiple monolith frontends into micro-frontends and enabled the canary-release ability of each individual micro-frontend
  • Led the team responsible for building CI/CD pipelines for multiple systems that created comprehensive automated SDLCs
  • Architected systems so that after every code push a temporary environment was created in the cloud for testing
  • Part of leadership group who shaped and implemented a reorg of approx. 50 engineers, testers, scrum masters, and others
  • Led architecture for two feature implementation teams and was a key voice in long-term process and architectural discussions
  • Key participant in discussions on when and how to transition away from Consultant-based teams to Charter-sourced teams
  • Part of leadership group that revamped recruitment and onboarding processes for developers
  • Led the initiative to enable the ability to develop functionality once and leverage it in multiple use cases through a Monorepo
  • Crafted a business plan to help guide the company as it goes from having no assets to a fully launched operation
  • Met with stakeholders on both the sides of the marketplace to ensure market need, conduct requirement gathering, and hear feedback on potential features
  • Worked closely with a design agency to create the brand identity, and ensure each page accomplishes it's specific requirements and is as simple and user friendly as possible
  • Built a static website based on the design agency's PSDs to provide initial information and on-boarding of users
  • Created a web app utilizing the Aurelia framework based on the design agency's PSDs
  • Implemented a Cordova-based wrapper for the Aurelia web app
  • Architected and implemented a .NET Core based backend system for supporting both the static site and the web app through an API
  • Designed and implemented architectures for backend systems as needed for Clients
  • Created Knockout-based user interface for handling uploading and displaying Photo and Video items in a Client's custom databases
  • Built migration processes to transfer and translate data from an old database schema into an upgraded schema
  • Worked closely with other developers working on projects to ensure that all new systems and architecture decisions will integrate successfully
  • Audited code base to determine current deliverable status
  • Gathered requirements and created specifications for every remaining feature, which ranged from an admin system to a gallery to payment systems and other 3rd party integrations
  • Built time and cost estimation document of remaining work for use scheduling the rest of the project
  • Documented the current systems's architecture, interactions, and possible failure points along with their solutions
  • Scaled the application from less than 1000 total users to over 1000 logins per day
  • Oversaw creation and tweaking of bug tracking, error handling, event tracking, quality assurance, and project priority / agile processes
  • Oversaw team of 3 developers as over 3/4 of the code base was enhanced and rebuilt
  • Led weekly sprint meeting where the current week's priorities as well as a retrospective on the previous week were discussed
  • Provided guidance and mentoring for developers, along with conducting monthly reviews
  • Led engineer hiring process after identifying need and vetting candidates for skillset and fit
  • Key participant in conversations regarding company culture and strategic goals
  • Led all architecture discussions
  • Implemented coding review standards and practices and revamped GitHub branching strategy
  • Managed the overhaul of all Landing Pages and User Dashboard from PHP Laravel utilizing Blade to an Angular single-page app with all data being served over API calls
  • Encouraged the creation of unit tests leading to the suite growing from under 10 to almost 150 tests which repeatedly caught issues before they were deployed
  • Completely revamped the infrastructure's architecture for easier scaling and to allow for a maintenance page to be able to be put up immediately during upgrades or a disaster
  • Oversaw creation of ability to spawn a copy of any server running within 5 minutes and have it's data be restored and it's place in the network be restored automatically
  • Designed architecture for multiple server spanning alerting framework, lead implementation of project
  • Part of team that developed a new product with JavaScript client-side, MVC 3, C#, and SSIS server-side, and SQL backend
  • Created HTML5 Offline Mobile Application for viewing of stored content during users’ daily commute
  • Projects ranged from UI bug fixing to whole-stack spanning new features
  • Ensure overall level of code quality, standards, and automated testing through reviewing all code submissions
  • First responder for any issues that may occur in the Live environment
  • Responsible for creating links between Fund Administrators and the Hedge Fund using SQL to fetch data, SSIS packages for translation and batch processing, and SFTP or PGP to securely upload the information
  • Created multiple reports utilizing SQL to fetch and roll up data and then present it through SSRS reports for easy exporting
  • Developed new features for internally built Portfolio Management system such as a daily bulk price loader, profit and loss unit test suite, and a series of generic user controls
  • Created automated unit-test running framework utilizing Powershell scripts, NUnit, and MSBuild
  • Handled user issues ranging from incorrect profit and loss calculations to needing a new report created by end-of-day
  • Technical lead for a team of 5 developers creating a charting application according to multiple specifications in C# & XAML
  • Technical lead in porting the charting application code base from C++ on OpenVMS to run installed on Windows & coded in C# & XAML
  • Implemented the charting application’s toolbars & data view, along with business-logic related features in both C# & C++
  • Mentor to newly hired employee
  • Head of recruiting prospective employees on-campus at The University of Michigan and lead on-site interviewing
Educational Experience
  • Senior Design Project - Worked with 2 partners to create an online application allowing students to input their transcripts and then see how many classes they still need to graduate and help plan the rest of their schedules using Actionscript for a UI layer, a C++ logic layer, a LAMP Stack backend, and XML to pass information from one layer to another
  • Advanced Object Oriented Design - Designed and built text-based game utilizing OOP principles in C & then again in C++
  • Parallel Computing - Created multi-threaded application to solve the Traveling Salesman Problem in a group setting in C++ using Intel’s Threaded Building Blocks
Side Projects and Activities
Foster parent for German Shepherd rescue

My previous German Shepherd changed my life for the better, so I attempt to pay it back when I can by fostering German shepherds so that someone else is able to get the same experience.

Teacher for General Assembly

Prior to COVID-19, I led a number of sessions of a class titled Programming for Non-Programmers to help people not directly involved with programming talk the talk and be better able to contextualize what is being discussed by their Developer colleagues.

I volunteer as a Mentor to Middle and High School aged children to help them learn to program. Myself and a few other Mentors teach new techniques to build websites and help them debug their projects when things go wrong. The kids progress from building sites as simple as one about their Favorite books to as complex as a Yelp-like mobile application.

To gain experience working in ES6 and ES7, I built a clone of the old school game Dope Wars. I also wanted to try building a site with Aurelia so I used the project as a way to contrast it with Angular 2. The source code for the project lives on my GitHub. The game is completely built in JS and doesn't need a server to run (it's hosted on GitHub Pages), but is architected so that key components could be shifted to a server to stop cheating.

CloudLists.me www.cloudlists.me

By taking advantage of the APIs and HTML5 widget that SoundCloud has released, I created a website that allows users to craft lists from the artists they follow. Depending on the situation or mood, a user can select a list to listen to which has only the artists that the moment calls for, rather than every artist they follow. The website utilizes a SQL storage layer, C# and MVC 3 server layer, and JavaScript (using AngularJS, AngularStrap, & CrossFilter) client layer.

Multiple Hackathon Participant www.open-knowledge-society.org/openboard

At the Jobspring Hackathon, a partner and I built the winning Education Category web-app. The application is intended to allow students to collaborate on taking notes, asking, and answering questions from any mobile device. These notes and questions can be shown on a SmartBoard in real-time, allowing the teacher instant knowledge of where the students are struggling. The website utilizes a SQL storage layer, PHP server layer, and JavaScript (using jQuery Mobile) client layer.

Thanks for visiting!