Mark Watkinson
Summary
Senior full stack software developer with over 10 years experience, open to opportunities on a fully remote basis.
Skills
- C#, ASP.NET, MVC, including Entity Framework and NHibernate
- MS SQL, MySQL, ElasticSearch
- JavaScript, TypeScript, Node.js, AngularJS & Angular
- HTML, CSS (including SASS + Less)
Employment History
Folding Space
Senior Software DeveloperC#, MySQL and Elasticsearch full stack development of a complex document management application, handling large repositories (e.g. Terabytes) of unstructured text from documents, emails, images etc, with a focus on managing and understanding the existence of personally identifiable data within the repository.
- Developed various processes and features for analysing data, such as:
- Linking and searching documents by the people referenced within,
- Customisable dashboards visualising the makeup of the document repositories.
-
Wide ranging front and back end development, across .NET (MVC, Core and Windows services) and single page applications, including:
- Improved system reliability and performance by, for example, minimising various SQL deadlocking scenarios and switching slow ORM queries to hand written queries.
- Implemented front end accessibility to WCAG2.1 standards.
- Integrating with external systems through their APIs, e.g. using OneDrive's REST API to retrieve externally hosted documents
Blueberry Consultants
Software DeveloperBeing the sole permanent developer at Blueberry Consultants, I took a lead role on many of the projects I was involved with.
Lead developer on a cross platform mobile app (using Ionic Framework and AngularJS), API and web-based order management system for ordering prescriptions, integrated with various NHS APIs. Launched in 2016 with no existing users and grew to ~100 orders per day within two years. Alongside development, I handled web deployments to various development, test and live environments using continuous integration (Jenkins) and planned and executed necessary migrations.
Lead developer on a browser based multi-user PDF annotator. Developed a rich touch interface for placing and editing annotations (text, shapes, lines and images), and bi-directional live sync via web-sockets, with tolerance for short network outages. Supported by a Node.js based HTTP server with a Java based process to manipulate PDFs.
Rescued several failing projects that had been given to off-shore development teams; one was a native iOS app and the other a cross platform app developed using NativeScript and Angular. Both involved diagnosing and fixing severe stability and performance issues, which allowed the successful delivery of these projects.
Several web-based CRUD applications using C#, SQL Server, ASP.NET, WebAPI, TypeScript, AngularJS and Angular and KendoUI.
As well as development, I also spent part of my time guiding and teaching junior developers
Jones and Palmer
Software DeveloperDeveloped Umbraco (a .NET CMS) based sites displaying investor relations materials (annual reports, etc).
- Front and back end development (HTML, CSS, JavaScript, C#.NET and XSLT)
- Created a graphing library allowing CMS users to input data and dynamically create graphs
Other
- SolverCS, a crossword solver for Android with ~150 daily users.
-
Several contributions to open source software:
- Implemented album artwork functionality in Clementine (a music player written in C++/Qt4)
- Developed my own project, Luminous (a syntax highlighting engine written in PHP)
In my spare time, I enjoy running, playing guitar, and growing carnivorous plants.
Education
For my thesis, I developed a C++ real-time ragdoll-physics character animation library capable of blending key-frame animation sources with physics simulation, and an OpenGL based demo application.