Matthew Baker
Verified Expert in Engineering
Agile Software Testing Developer
Matt has worked on everything from web development in .NET and embedded development in C to low-level Windows development, rich client development in JavaScript using EmberJS, web applications in Go, and mobile applications in iOS. He is very quality-focused and gets things done efficiently. As a startup veteran, he knows how to start from nothing and build impossible things on impossible schedules.
Portfolio
Experience
Availability
Preferred Environment
Git, Sublime Text, IntelliJ IDEA, MacOS, Visual Studio, Windows
The most amazing...
...thing I've built is a fashion recommendation system generating data for more than 500k products across 40 retailers including big-name department stores.
Work Experience
Independent Consultant
CDL Warrior
- 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 Contractor
Undisclosed Client (through OnShore Momentum)
- 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 Engineer
Tailored Fit
- 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 Engineer
Rough Stone Software, LLC
- 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)
Booz Allen Hamilton
- 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.
Consultant
Booz Allen Hamilton
- 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 Developer
Distributed Network Software, LLC
- 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.
Experience
Tailored Fit
Wrapper Generator
However, after a while, maintenance became an issue. Wrapper functions started duplicating between wrapper modules, while classes, depending on wrappers, imported functions that were never called. On top of that, building and maintaining these wrapper classes took time. Thus, I wrote CFWG to do the heavy lifting.
Skills
Languages
C#, Swift, JavaScript, Go, C++, SQL, PHP, Embedded C, Python, Apex, C, Objective-C
Paradigms
Agile Software Development, Data Science, Test Automation, Test-driven Development (TDD), Unit Testing, Inversion of Control, REST
Other
Agile Software Testing, Single-page Applications (SPA), SOLID Principles, Embedded Systems
Frameworks
.NET, ASP.NET MVC 4, ASP.NET MVC, ASP.NET Web API, Bootstrap 3, Ember.js, NUnit, Selenium, Bootstrap, Rhino Mocks, Appium, Google Mock (GMock), Google Test, ASP.NET MVC 5, iOS SDK, TurboGears, ASP.NET MVC 3
Libraries/APIs
Selenium WebDriver, jQuery, Entity Framework, Salesforce API
Tools
CasperJS, Visual Studio, IntelliJ IDEA, Sublime Text, WatiN, Jenkins, Adobe CC, Trello, GitHub, Microsoft Visual Studio, Slack, HipChat, SourceTree, Asana, FogBugz, Subversion (SVN), Git, Confluence, Crucible, Jira, Xcode, Sublime Text 3, TwoTap
Platforms
Windows, Amazon EC2, Amazon Web Services (AWS), Docker, iOS, MacOS, Salesforce, Android, Rackspace, Azure, Heroku, Xamarin
Storage
Elasticsearch, Redis, Microsoft SQL Server, PostgreSQL, MySQL
Education
Bachelor's Degree in Software Engineering
The Pennsylvania State University - Erie, PA
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring