Senior Full-Stack Software Engineer
+44 7419 821335
Software Engineering Consultant
Cambridge University Press & Assessment
Ltd company
Jan '24–current
Similar to the work I did at CEM when they were part of Durham University - the team were very happy to have me back this time around to help drive forward a range of initiatives.
The main achievements for this contract were:
The main achievements for this contract were:
Project
Adaptive algorithm rewrite
Details
There was a hairy stateful Rasch model implementation at the core of CUPA's adaptive assessment engine, which was a regular source of bugs, friction, and uncertainty. I gave this area of the code a complete overhaul - improved testing procedures, extracted logic into well-named, pure functions, refactored it according to clean code principles, and fixed longstanding bugs - before implementing several desired changes with confidence.
Outcome
Improved test coverage; improved code readability and maintainability; enabled very fast generation of regression tests by going through assessment sessions as a student.
Project
Cambridge Secondary Insight reskin
Details
A large suite of assessments needed rebranding from the old CEM brand. This involved thousands of changes to XML files to update X/Y coordinates to position canvas elements, which I was delighted to devise a pragmatic set of automations for.
I coordinated the work with four developers from Cambridge's Manila offices, reviewing their work and providing knowledge-sharing sessions and general guidance.
I coordinated the work with four developers from Cambridge's Manila offices, reviewing their work and providing knowledge-sharing sessions and general guidance.
Outcome
Improved UI, UX, and accessibility across Cambridge Secondary Insight assessment suite.
Project
Scottish audio version of primary assessment
Details
Designing, implementing, and documenting an efficient workflow for processing wav files from a recording studio into optimised mp3 sprites for audio content. This involved trimming and applying loudness normalisation to each clip in Audacity.
Outcome
Scottish version of primary assessment created. Audio sprite generation process documented.
Project
Version upgrade & SonarQube integration
Details
Upgraded package versions and tooling, applying fixes where necessary.
Outcome
Assessment engine now using recent versions of Node, TypeScript, and Webpack. Minor bugs identified and fixed across the codebase.
Tech:
TypeScript
Node
XML
Algorithms
Audacity
CreateJS
Webpack
Bash