About Myself

Versatile software engineer experienced both in performance-oriented (C++) and back-end (Java Spring, AWS) development. Trained in corporate team environment and continuous delivery. Self-taught in C++. Currently an Unreal UI programmer for an upcoming multiplayer shooter.

C++ 80%

Java 70%

Git, Perforce 70%

Python 60%

Unreal Engine 60%

AWS DynamoDB, EC2, S3 50%

  • Aug 2021 to Present   

    Creative Assembly

    Associate UI Programmer
    • HUD team: Implemented and maintained a number of UI features in Hyenas, an Unreal C++ SaaS multiplayer shooter utilizing client-server, event-based architecture and object replication.
    • Improved performance and code quality by incrementally refactoring Ping System that highlights objects in the 3D world for other players. Used RAD Telemetry to validate the performance boost.
    • Developed flow charts and naming system in Confluence for the post-death flow that utilizes ubiquitous language to simplify the designer-engineer communication as outlined by the DDD principles.
    • Designed, implemented, tested and documented TOptionalPtr, a wrapper for more robust code safety checks.
    • Actively proposed improvements to team coding standards through code reviews to increase adherence to SOLID principles, C++ core guidelines and naming consistency.
    • Led initiative for UI unit tests in Unreal test framework by developing a command line program to reduce the build times, and hence the TDD cycle duration.
    • Presented actionable enhancements to retrospectives and Jira ticketing to improve adherence to Agile methodologies.
  • Sep 2019 to Nov 2020

    Ocado Technology

    Software Engineer
    • PSPWeb team: Responsible for a back-end microservice communicating with other payment services and a front-end pop-up handling the credit card 3DS checks during the card payments.
    • Maintained and refactored Spring Boot REST API endpoints and their implementation as a result of the planning-phase collaboration with teams responsible for the interfacing microservices
    • During migration to Square PSP, developed a successfully adapted PSP-facing PoC class for payment authorisation calls.
    • Expanded and rewritten unit and system tests in Mockito-utilizing JUnit and Selenium frameworks in order to comply with the team test coverage standards.
    • Developed performance tests in Gatling and led initiative to incorporate integration tests into the deployment pipeline by implementing a PoC in the planning phase.
    • Established SLOs of our back-end service by conducting a series of performance tests and calculating the results through self-made Python script.
    • Monitored the responsible systems regularly, identified and solved production alerts in time-sensitive situations by using PagerDuty and Kibana.
  • Jun 2017 to Aug 2017

    Open Cosmos

    C# Intern
    • Implemented a C# parser for code metadata extraction
  • Mar 2021 to Aug 2022

    Programming Books

    • Domain-Driven Design - Eric Evans
    • A Philosophy of Software Design - Alex Milkov
    • Effective Modern C++ - Scott Meyers
    • Game Programming Patterns - Robert Nystrom
    • Clean Code - Robert C. Martin
  • Jan 2021 to Feb 2021

    Blender Udemy Course

  • Jun 2020 to Jan 2021

    C++ Udemy Course/ C++ Crash Course book

    • Obtained and practiced concepts of the language and the STD library
    • Certificate
  • Sep 2015 to Jun 2019

    University of St Andrews

    Computer Science BSc, First
    • Developed 3 distinct video-games on my own engine (Java)
    • Finished 2 mathematical modules that focused on matrices, vectors and linear algebra and a Computer Graphics module that dealt with 3D mathematics specifically
    • Developed a ResNet solution for object detection of seals on aerial images (Python)
    • Data Analysis Team Project (Python): produced a data analysis tool that used 5 machine-learning algorithms to predict results of the school cancer research while working in a team