
John Sutcliffe
Verified Expert in Engineering
Software Engineer and Developer
John is a developer with 15 years of experience creating commercial software. He is an expert in back-end projects using C# with top skills in JavaScript, Angular, and React. He created a sophisticated booking application that enables universities to manage and optimize the use of their resources. John has developed cloud-hosted products, including some that used a microservice architecture hosted in Docker.
Portfolio
Experience
Availability
Preferred Environment
C#, ASP.NET, AngularJS, Docker
The most amazing...
...application I've developed was for universities that enabled them to manage and optimize the use of their resources.
Work Experience
Senior Developer
MesserSoft
- Developed a microservice application using C# ASP.NET and AngularJS. The applications allow users to manage a production job's lifecycle from the initial quote generation to the final inspection of the produced part.
- Integrated onsite legacy applications using message queues. This was developed using RabbitMQ.
- Added authentication to the application using the OpenId protocol. I designed a model that enabled the mapping of a user’s details from the onsite identity provider to application permissions.
- Developed a build pipeline in Azure DevOps to create the application, run the unit test, and publish the Docker containers.
Software Architect
OpusCapita
- Developed Node.js microservices for processing B2B financial transactions using RabbitMQ and Azure message bus to process messages. Developed a micro-UI using React.
- Created a token service that issues JWTs for use in the product’s API. Tokens are issued using the OpenID protocol.
- Developed a user notification service and designed a preferences model which allowed individual customers to create notification lists and configure how they want to be notified.
- Built a token service that issues JWTs for use in the product’s API. Tokens are issued using the OpenID protocol.
Senior Software Engineer
Scientia
- Delivered a variety of projects developing resource scheduling applications for higher education.
- Re-architectured a legacy application in a hosted C# microservice application running in Azure.
- Expanded and improved a WinForms application that synchronized data via message queues to a hosted web application.
- Created a data transfer tool to import reference data from Oracle and SQL Server databases into a SQL Server database. This greatly reduced the time required to perform the transfer compared to the previous version of the application.
- Presented software at user conferences and user groups. Ran internal training courses for the support and consultancy teams.
- Coordinated back-end development with an outsourced front-end development team.
- Authenticated web applications using the SAML protocol.
Software Engineer
AVEVA
- Developed web parts and workflows in SharePoint for managing documents associated with the oil and marine exploration industry.
- Served in a specialist web development team within AVEVA to provide web development support to projects. This included providing training through Wikis. I presented a guide to using templates in ASP.NET and SharePoint.
- Assisted the development team architecture control group to analyze the generic web controls and determine which ones should be developed for reuse across all projects.
Software Engineer
Granta Design
- Created applications for managing and capturing engineering data in the aerospace industry.
- Assisted in the development of all parts of the software including the data layer, business logic, interfaces, and the Windows and web applications using WinForms and ASP.NET.
- Created a secure, scalable web application with C#, ASP.NET, and AJAX. The web application was required to handle 10,000s of users.
- Presented projects to customers at a biannual user group.
- Collaborated with customers on several projects to develop tools to analyze their test data and import it into the application.
Experience
Resource Booker
I developed and architectured the back-end ASP.NET application and coordinated with an outsourced developer who created the front-end UI. I designed an object model that enabled universities to group their resources and then assign availability and access to groups. This allowed the university to restrict students from booking certain rooms at certain times of the day. Staff members could use the same UI to book from a larger pool of rooms with more flexibility over the times they were allowed to book the rooms.
I implemented an approval workflow for the booking of the resource. This enabled the university to either allow the user to book a resource immediately, as long as it was available, for example, audio-visual equipment. However, they could also require approval for some types of bookings, such as a room booking where a student group had invited an external speaker to present to the students.
Skills
Languages
C#, C#.NET, JavaScript, Excel VBA, TypeScript
Frameworks
ASP.NET, .NET, .NET Core, AngularJS, Express.js
Other
Web Applications, OAuth, Mathematics, Materials Science, Engineering, Science, Research, Presentations, Regular Expressions, API Design
Libraries/APIs
Entity Framework, OpenID, React, Node.js, Windows Forms (WinForms)
Paradigms
Microservices, REST
Platforms
Docker, Azure, Oracle, SharePoint
Storage
Microsoft SQL Server, MongoDB, NoSQL
Industry Expertise
Teaching
Education
Master's Degree in Materials Science and Engineering
Birmingham University - Birmingham, England
Bachelor's Degree in Materials Science and Engineering
Imperial College - London, England