Matthew Baker, Developer in Beaver, PA, United States
Matthew is available for hire
Hire Matthew

Matthew Baker

Verified Expert  in Engineering

Agile Software Testing Developer

Location
Beaver, PA, United States
Toptal Member Since
November 27, 2014

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

CDL Warrior
Amazon Web Services (AWS), Azure, Microsoft SQL Server, Xamarin, Android, iOS...
Tailored Fit
Amazon Web Services (AWS), Adobe CC, CasperJS, Appium, Elasticsearch, Jenkins...

Experience

Availability

Part-time

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

2014 - PRESENT
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).
Technologies: Amazon Web Services (AWS), Azure, Microsoft SQL Server, Xamarin, Android, iOS, .NET

Independent Contractor

2014 - PRESENT
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.
Technologies: MySQL, CasperJS, PHP, .NET

CIO, Co-Founder, and Lead Engineer

2013 - 2014
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.
Technologies: Amazon Web Services (AWS), Adobe CC, CasperJS, Appium, Elasticsearch, Jenkins, Python, PostgreSQL, iOS, Go, Ember.js

Senior Software Engineer

2012 - 2014
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.
Technologies: Salesforce, Rhino Mocks, NUnit, Bootstrap, jQuery, Microsoft SQL Server, Entity Framework, .NET

Associate (Software Development and Test Engineer)

2008 - 2012
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.
Technologies: Google Test, Google Mock (GMock), C++, Embedded C

Consultant

2008 - 2008
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.
Technologies: Selenium, WatiN, NUnit, .NET

Application Developer

2007 - 2008
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.
Technologies: jQuery, .NET

Tailored Fit

While the site has since come down, Tailored Fit was a fashion aggregator that could provide recommendations for products based on more than 1.2k attributes of those products. It pulled in more than 500k products from 40 online retailers including the largest department stores and updated the list daily. All products were searchable, savable, and purchasable from one place (using TwoTap).

Wrapper Generator

Dependency injection in C++ is inconvenient, especially when bringing free C functions into the mix. Despite several approaches to isolating these functions, creating C++ classes to wrap calls to C functions was the most successful. This approach worked quite well in minimizing the impact on the production code and simplifying unit testing, particularly when paired with the GoogleMock C++ mocking framework.

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.

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

2004 - 2008

Bachelor's Degree in Software Engineering

The Pennsylvania State University - Erie, PA

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring