chrisjcollins.com

Portfolio

Some of the things that I have worked on.

Websites

Whilst working at Box UK, I have been involved in the development of many websites, including the following:

  • BBC Homepage - I developed the weather functionality for the BBC Homepage. This Agile project involved writing a library to parse the BBC's weather data feeds and displaying various weather information, depending on a user's location. Accessibility, web standards and performance were key concerns for such a renowned and high-traffic site.

    • Performance
    • Reliability
    • Consuming APIs
  • RS Components - DesignSpark - Owned by the FTSE 250 company RS Components, DesignSpark is a complex system involving multiple Symfony websites, REST APIs and other microservices. I have led the development team working on this website for a number of years, following a Domain Driven Design approach. The project is Agile and involves regular meetings with client stakeholders.

    • Symfony
    • Microservices
    • Domain Driven Design
  • The National Gallery - I did the majority of the front and back-end work for this site, which was designed to efficiently display the large amounts of data that The Gallery have about their paintings and artists. This project mainly involved PHP, MSSQL, XSL and CSS. I also undertook project management tasks for this project.

    • Bespoke PHP
    • CSS
    • Project Management
  • The British Computer Society - This project involved the update and redesign of the BCS's previous website. This incorporated a PHP major version upgrade, changing the database from MSSQL to MySQL database. The client was very pleased with the finished site, which won the a "Best use of Web/Digital Award" in the Transform Awards.

    • Data Migration
    • Tackling Tech Debt
    • Dependency Upgrades

Initiatives

As well as delivering project work, I have also been involved in a number of initiatives to improve processes and boost efficiency:

  • Confidence Engineering - I helped to found what was named the "Confidence Engineering" team - a working group of people committed to improving automated testing, coding standards and Continuous Integration practices throughout the company. I proposed improvements to our development processes - such as usage of PHPStan static analysis - and helped to roll them out across all projects.

    • Automated Testing
    • Coding Standards
    • Continuous Integration
  • Training - I have played key roles in planning and delivering multiple well-received training courses during my time at Box UK. I led a developer-focused training course that was provided to an external company that worked with software we developed. I also gave an internal training course to all employees, centred around the concept of delivering value.

    • Presenting
    • Teaching
    • Coaching
  • Developer Onboarding - I led an initiative to improve the onboarding process for new developers joining the company. I helped to implement process changes to ensure developers got up-to-speed quickly, as well as auditing and improving our documentation.

    • Leadership
    • Process Improvements
    • Documentation
  • Skills Matrix - I created and distributed a survey at regular intervals in order to better understand the skills the development team posessed. What was a very simple piece of work proved to be an invaluable input to company decisions around recruitment, training and project team composition.

    • Innovation
    • Productivity
    • Continuous Improvement

Outside of work I developed an interest in geodesy - the science of accurately measuring, understanding and mapping the shape of the Earth. This prompted me to develop a PHP library for carrying out common geodetic calculations, such transforming coordinates in one Earth ellipsoid to another.

I wrote this library for fun and as a learning exercise, but it ended up being useful for a client project where location data was provided using Ordnance Survey Grid References that needed to be converted to WGS84 coordinates.

While I keep most of my personal projects in private repositories, I decided to open-source this library in a public GitHub repository.

Dissertation - Automatic Software Plagiarism Detection

This was my final year university project which helped me achieve a 2:1 in Computer Science. It involved designing and building a system to detect plagiarism in programming source code. The specification was quite loose, which encouraged me to thoroughly research the field of plagiarism detection, both in general and in the sphere of software.

I looked into techniques used for detecting plagiarism and systems already in existence, such as Alex Aiken's MOSS. Then I set about designing and building my own system using Java for detecting plagiarism in Java source code.

I was required to carry out a presentation about my project. The talk I gave was well-received and I scored highly in this aspect of the project.