James.
I write code.
I’m a developer with a wide mix of skills. I’ve enjoyed working with GIS, IOT tech, WebRTC and still enjoy messing with a home lab in my spare time.
Implemented video conferencing system to create a new product as part of an existing software offering. Worked with C#/ASP.NET Core on the back-end, with React and Material UI on the front-end. Deployed cloud infrastructure with Azure and AWS. Maintained existing CI pipelines with Jenkins/Octopus, and built new CI setup with Bitbucket Pipelines. Occasional work with Node JS backend systems and Docker infrastructure maintenance. Modified, updated and implemented build systems for Docker-hosted Node JS backends and React applications.
I’ve advocated and implemented technology and process shifts within the team, mentored colleagues and helped bridge the gap between management and the technical team.
October 2011 - April 2014: Software Developer
Web front-end and server back-end development role. Performed full software lifecycle tasks, from Analysis to Maintenance. Development of business-oriented applications using ASP.Net (MVC with C# and VB.Net), MS-SQL, HTML, JavaScript, CSS. Setup and maintenance tasks on both Windows and Linux servers. Integration of various GIS technologies and datasets, including GeoServer, PostGIS, OpenLayers, OpenStreetMap, OS MasterMap and OS OpenData.
Performed mentoring and guidance of interns and new development staff. Assessed technical skills of candidates during interviews and provided recommendations based on their skills.
April 2014 - September 2014: Technical Lead
Technical leadership and mentoring role. Guided development of products to benefit the business. Designed and implemented system for managing configuration and deploying updates to embedded equipment distributed over a wide area. Designed and developed monitoring system for embedded sensor network.
Documented and implemented new processes for both technical and non-technical aspects of the team. Mentored staff for professional development and ensured effective use of resources by taking advantage of individuals’ strengths and weaknesses. Analysed technologies for potential usage in new products. Led a shift in primary technologies whilst building colleagues’ knowledge of new systems. Working primarily in C# and ASP.NET on the on the back-end, with Vue.js and jQuery UI. Smaller projects involving Python/Django, embedded C/Assembly, and a smattering of other technologies.
Web-oriented software development role. Performed analysis for projects, organised automated testing and reviewed code as required. Developed customer-facing systems using HTML, JavaScript, Tcl and IBM Informix, as well as various back-end and development/testing tools.
August 2010 - June 2011:
Time spent on secondment with new company expansion in Canada, extended periods working on-site with customer contacts. Performed pre-live development tasks, as well as launch-period and post-launch support. Arranged initial automated functional testing and static analysis setups. Performed analysis for further changes.
Major course: Computer Science (Optional modules: Embedded Systems; Artificial Intelligence; Special Topics in Computer Science)
Group Project: “Guided Vehicle Parking System” - group implementation of java-based networked parking management and vehicle guidance system. Used pseudo-3D overhead guidance and interface suited to touch-screen interfaces. Responsibilities included implementation of the map rendering system and development of the accompanying website.
Dissertation: “High-rate sampling and compression in Embedded Sensor Networks” - involved implementation and evaluation of compression system on low-powered devices. Written as thesis and demonstrated with an oral presentation.
Various Java projects: 2D physics simulation and rendering, basic JSP/Tomcat implementation, genetic algorithm for route finding, recursive descent parser, various non- course projects (NMEA parser, IRC client)
C and ASM coding: file-system design and implementation, networked chat program, DNS client, database code, wheeled robot control code
Minor course: Mathematics - modular course, combined core maths and engineering-specific topics
A-level: Physics (B), Maths (B), Further Maths (D)
GCSE: 6 A*-C (including Maths and English), 5 others.
Ongoing project, building some CLI utilities for collecting and storing metrics produced during CI processes - Linter output, test results, etc.
Build partially to learn new technologies, and partially to resolve frustrations in missing or expensive tools for the job.
Revamp of the website for Historia Normannis re-enactment group. Worked closely with the group head to put together new design extended from existing concepts. Staging of new features to ensure timely delivery of high-priority requirements. Implementation of the new look and feel as a WordPress template to allow maintenance by a wider variety of users. Creation of UI widgets where needed.
Later on when requirements changed, rebuilt the website with static site generation to improve stability and performance, whilst simplifying hosting infrastructure.
I try and keep a lively and varied set of hobbies…