Jo Faircloth
Senior Software Application Engineer
Senior C# .NET application engineer and software architect.
I design and develop enterprise level REST APIs and solutions using best practices and industry standard patterns.
Graduate of Electronic and Electrical Engineering, BEng(hons) with Open University points for a BSc(hons).
I am looking to be involved in dynamic and challenging projects, where I can bring previous experience and aspiration for well designed and architected solutions; providing extendable and efficient solutions to meet client requirements.
Professional Experience
Senior Software Application Engineer & Scrum Master | Elekta
- Learning Kubernetes and Azure DevOps.
Software Architect | Shieldpay
- Performing a software architect role.
- Liaise closely with the business and analysts to design and architect new solutions for an entire secure payments platform.
- Build REST APIs and NuGet packages - C#; DDD; TDD; Entity Framework; mediator patterns; DI; vertical slices in .Net Core 3.1 and Standard 2.1
- Designed and developed a new payments solution for the NACHA payments system within the United States.
- Designed backend SQL data schema, to additionally integrate to existing solutions.
- Work with and enforce CI/CD pipelines through GitFlow-like processes, code review and autobuilds.
- Migrating legacy requirements and code from a C# / .Net Framework stack to AWS / Node (Serverless, Lambda, API Gateway, Infrastructure as Code, Typescript).
- Introducing an automated flow of versioned API endpoints from design to external documentation, via OpenAPI YAML and Postman; introduced ADRs, to manage and share architectural decisions.
- Training
- Numerous AWS events and on-line
- SDD Deep Dive – Building Software Architecture, Neal Ford
Senior Software Engineer | IHS Markit
- Working on features, user stories, defects and BAU support within a growing Agile team on a very large .Net, data-driven (MSSQL, Oracle, MarkLogic, XML files) web application.
- Presented new ideas and concepts to help modularise a large and aging, mainly C# .Net, monolith application.
- Created a suite/framework to automate UI testing.
- Introduced the team to Git version control for the automation test framework, along with branching techniques and code review processes.
- Crafting a collaborative API definition/design process, with documentation, for a new and complete API solution. Identified tools to use OpenAPI for API design, and reStructuredText for sharing client and technical documentation.
- Training
- Three day conference at Software Design and Development (SDD 2018), London.
.Net Developer | The Caravan Club
- Member of an Agile/scrum team to convert 10-15 year old C#.NET monolith applications to DDD (Domain Driven Design) style / microservice applications.
- Support applications providing interfaces to 3rd party systems / data sources (via REST, WebMethods, SOAP).
- Owner of VSTS Git repositories, TeamCity build/unit tests and Octopus deployments for new solutions, enabling continuous deployment.
- Converted existing applications’ source control from SVN to Git, introducing GitFlow.
- Involved in BAU defects, requiring understanding of system infrastructure; interaction with and configuring 3rd party tools; handling data files directly on a live environments.
- Owned requirements to introduce common packages by reviewing architectural options, refactoring, documenting and presenting proof of concept. Including logging, data access, cache libraries; introducing unit tests; better patterns and practices; improving interfaces with existing 3rd party systems (including SAP, Redis, Layer 7).
- Created the NuGet source on TeamCity and release common packages via nuspec files and continuous deployment.
- Training
- One week at Software Design and Development (SDD 2017) conference, London.
- Two days training in the Content Management System, epiServer.
- One week course on ‘Lean Six Sigma, Yellow Belt’ training (project planning and analysis).
- I am interested in DevOps processes, and personally took 2 days training on demo days at Microsoft, London.
Pensions Software Developer, Products | Equiniti
- Worked with and added new functionality into core product C# .NET web APIs (MVC5/APIv2). Used best practices and patterns such as dependency injection, unit of work, repository, AutoMapper, OWIN.
- Responsible for the completed MVC5 Umbraco CMS integration into an existing responsive web application, as used by many large clients. Originally designed by a 3rd party, I was the sole developer and product owner resolving hundreds of GUI defects and functionality change requests. Used Chrome debugger, AJAX, jQuery, JavaScript, CSS3, Bootstrap, charts and graphs, and referencing the above web APIs.
- Wrote solutions with Umbraco plugins and Windows installer, to synchronise CMS content databases, and to automate installs and upgrades.
- Part of an Agile team using Team Foundation Server for timebox stories, defects, code version control and branch management.
Analyst Developer & Technical Lead, Client Solutions | Equiniti
- Due to ability to identify, demonstrate and explain code approaches, I was promoted to technical lead on large software configuration projects to provide a back-end administration portal for civil service pensions (2.5 million members, 800 database tables).
- Managed fixes to the core product, writing mostly generic components for 100+ workflows across two projects (pensions administration and payroll).
- Successfully managed over 1500 defects raised during all stages of testing (admin only) over a small team of developers (average 6) to meet deadlines.
- Trained and supported new team members to be productive in a very short time (within 2 months of deadline).
- Was the ‘goto’ for technical support within my team and wider company. SQL, XSL, CSS, HTML and understanding VB and .NET errors particularly important.
- Training
- Pensions Management Institute : Retirement Provision Certificate
Junior Engineer | Trimble Navigation New Zealand Ltd
Part of an international development team, developing a GPS “Rugged Colour Display Unit” for Caterpillar.