Independent Consultant2014 - PRESENTCDL Warrior
Technologies: Amazon Web Services (AWS), AWS, Azure, Microsoft SQL Server, Xamarin, Android, iOS, .NET
- Worked with CDL Warrior to implement functionality across their many platform offerings.
- Set up continuous integration in TeamCity for the .NET, iOS, and Xamarin applications.
- Actualized continuous deployment to nodes running in Google Compute Engine, Azure, and AWS.
- Defined and implemented the data semantics for the next version of their Web API.
- Facilitated test automation using Appium, CasperJS, and unit testing in platform-specific tools (e.g., NUnit and XCTest).
Independent Contractor2014 - PRESENTUndisclosed Client (through OnShore Momentum)
Technologies: MySQL, CasperJS, PHP, .NET
- Ported a live eCommerce application from Drupal on the LAMP stack into .NET.
- Integrated changes and bug fixes as they came down from the live site so things didn't have to stop while the port was ongoing.
- Worked with the client's QA team through Slack and Jira to work out any issues that arose.
- Set up a regression test harness in CasperJS that allowed the team to test that many pages continue to load successfully after big changes are made, and will serve as the foundation for future developer test automation.
- Integrated the PayPal and Rackspace APIs into the .NET application.
CIO, Co-Founder, and Lead Engineer2013 - 2014Tailored Fit
Technologies: Amazon Web Services (AWS), Adobe CC, CasperJS, Appium, AWS, Elasticsearch, Jenkins, Python, PostgreSQL, iOS, Go, Ember.js
- Joined the Tailored Fit team at Startup Weekend where we launched our company.
- Chosen for the AlphaLab Spring 2014 accelerator cycle.
- Implemented technology and aided business development.
- Developed a rich web client using Ember.js and a web API with Golang.
- Programmed using iOS Mobile.
- Facilitated test automation and instrumentation at all levels including CasperJS for the web client, go test and gomock for Golang, and Appium for the iOS application.
- Conducted real-time error triage and response using GetSentry.
- Created a feature to capture retail data from 40 retailers, covering more than 500k products.
- Built a high-performance full search index using ElasticSearch.
- Programmed infrastructure instrumentation and automation using Jenkins, AWS, and Rackspace. The site was running using an Amazon RDS PostgreSQL instance, hosted from Go inside a Docker container in Elastic Beanstalk with assets on CloudFront backed by S3 and recommendations generated in EMR.
- Adhered to DevOps practices including deployment pipeline management, quality control automation, and configuration management.
- Managed aspects of the project including backlog grooming, prioritization, deduplication, and identifying Sprint Themes that track toward larger business goals.
- Worked directly with designers who generated specs and assets from Adobe CC, which were then used to guide the implementation. Exported assets from Adobe CC when variations were needed and the designers were unavailable.
Senior Software Engineer2012 - 2014Rough Stone Software, LLC
Technologies: Salesforce, Rhino Mocks, NUnit, Bootstrap, jQuery, Microsoft SQL Server, Entity Framework, .NET
- Developed custom software solutions for clients in industries ranging from finance to education and manufacturing. I delivered results that endure by following standard quality practices in regard to verification, validation, testing, and maintainability. Technical solutions were delivered primarily on the Microsoft .NET platform on Windows.
- Built, tested, and delivered custom software solutions for the web using ASP.NET MVC4, jQuery, and Bootstrap.
- Tested using NUnit, Rhino Mocks, MvcIntegrationTestFramework, and Selenium.
- Designed and deployed a Selenium test farm that deployed the software multiple test systems and executed the test suite with each check-in, providing quick feedback to the development team on the overall functional state of the software.
- Created an internal tool for tracking sales behavior (e.g., networking, cold calls, cold emails, or introductions), deployed on the SalesForce One platform, with the front-end in EmberJS, and backed by an Apex endpoint.
Associate (Software Development and Test Engineer)2008 - 2012Booz Allen Hamilton
Technologies: Google Test, Google Mock (GMock), C++, Embedded C
- Developed and prepared systems for third party evaluations by providing feedback loops at different parts of the life cycle as well as by ensuring necessary evidence exists for a successful evaluation.
- Worked in a test-first manner. Being able to state test cases before functionality is implemented ensures that “done” is defined and that the problem has been thoroughly thought out and understood.
- Implemented object-oriented software systems in C and C++ with unit testing performed in Unity with CMock for C, and GoogleTest with GoogleMock for C++.
- Performed and directed code reviews to keep systems up to standard and to promote communication and learning between team members.
- Maintained all continuous integration configurations, which build, test, inspect, deploy to test, run nightly automated system tests, and provide reports to the development team.
- Cultivated and implemented quality assurance practices throughout the entire software development life cycle in the form of requirement reviews, design reviews, developer testing, continuous integration, and internal system verification.
- Customized and set up software development infrastructure systems including Jira for task management/issue tracking, Confluence for Wiki and documentation building, and Crucible for code reviews.
- Set up continuous integration using CruiseControl and Jenkins, including a distributed Jenkins build farm with multiple nodes to handle build and test jobs across multiple platforms, including embedded systems.
- Put in place automated regression tests using vSphere and Jenkins across 10+ test configurations that saved countless hours of compatibility and configuration testing.
- Ensured maintainability and testability using static analysis tools such as CppDepend, CppCheck, and SourceMonitor.
- Utilized DevPartner Studio during development to capture test coverage and other metrics.
Consultant2008 - 2008Booz Allen Hamilton
Technologies: Selenium, WatiN, NUnit, .NET
- Worked with the eCPIC team to gather requirements, design, and implement features selected from the project backlog by stakeholders. Application features were developed in ASP.NET with a C# and VB.NET code-behind.
- Assisted in new development and maintenance of a GOTS investment control system implemented in ASP.NET with a C#/VB.NET code-behind, which supports both Microsoft SQL Server and Oracle DBMS.
- Developed forms backed by heavy business rules for generating the necessary Fiscal Year forms for government project investment.
- Implemented process improvements including developer testing, automated regression testing, source control and issue tracking migrations, and continuous integration. These processes help to reduce risk in future development.
- Performed unit testing using NUnit and code coverage was captured using NCover. Automated regression testing was performed in WatiN and Selenium.
Application Developer2007 - 2008Distributed Network Software, LLC
Technologies: jQuery, .NET
- Developed custom software solutions for multiple clients in a concurrent project environment from requirements elicitation to system maintenance.
- Designed project architectures using top-down approaches starting with an abstraction of the architecture in UML and ending with a tested and refactored implementation. Projects included the interface update of a physics calculator, the core development of a water conservation calculator, a sales quoting system, and a mobile inventory control/purchasing solution.
- Set up continuous integration using CruiseControl.
- Performed unit testing using NUnit.