A conscientious developer with over 10 years experience. During a multi-faceted role with Code Fanatics, responsible for the entire development lifecycle ranging from strategy, ideation, development, testing, and support (incident management and helpdesk)
Possesses strong time management skills with the ability to efficiently handle multiple tasks or priorities. Has a proven track record of ably implementing new technologies as required to complete projects.
- Linux (Ubuntu) server management
- MySQL (Percona Server) management & optimisation
- AWS (S3/SES/SQS)
- Bash scripting
- PHP (OO + MVC)
- Apache Solr
Code Fanatics, July 2011 - Present
Working as part of a small team to develop multiplayer cross-platform online games, projects were also undertaken for external companies. Personal focus was the backend API and client architecture.
Gangster Paradise App
The web games Gangster Paradise 1 & 2 were reimagined and taken to the next level as a mobile app. GP is a complex multiplayer online game with a huge range of functionality - including social features such as a forum, leaderboards, and direct/group messaging.
Implemented and maintained a complex API. Reduced the average wall clock execution time of the API from over 150ms to 30ms using xhprof to profile code paths. Implemented automatic deadlock resolution in our framework and ORM to simplify day to day development.
Responsible for performance - monitored request and error patterns to fix badly-behaved controllers or SQL queries.
Integrated third party APIs including: Google Play Developer API, Firebase Cloud Messaging, Apple Push Notification service, Amazon Simple Email Service, multiple OAuth providers.
- API Integration
Recent Projects for GP
Websockets and ReactPHP were used to allow players to collaborate in real time. Departure from our usual API methodology which allowed us to improve reactivity without overburdening game clients.
Self service account deletion to comply with app store guidelines above and beyond GDPR. Additions to our web based account management portal, modifications to our moderator web app to help them process deletions, as well as game API changes to support erasure of personal data automatically.
Handle one-time notifications from Apple, and proactively interact with the Google Play API to reduce refund abuse. Link notifications to purchases and game accounts to inform players of issues and facilitate moderator action.
Consulted on the design of a REST API for XPERMIT. Responsible for integrating that API on the iOS and Android clients.
- Client Integration
- iOS (Swift)
- Android (Java)
- Security / Robustness
A multiplayer online mobile game available on iOS and Android in which the player takes photos of cars which are identified and valued in game. Vehicles can be sold, upgraded, and raced. Includes social elements such as leaderboards, a timeline, and profiles.
Implemented using our bespoke MVC framework mentioned below.
Particular attention was paid to minimising the number of HTTP requests done by a client (to reduce battery and network impact on mobile devices) which lead us to queue certain state changes for the next time the client contacts the server rather than polling or pushing data proactively. This was done automatically without developer intervention.
- API Integration
- In App Billing
- Push Notifications
- Game Design
Extensive backend architecture of a bespoke MVC framework in PHP to enable white-label game development. Performance profiling, request logging, and error tracing automatically handled. Integration with ReactPHP + RabbitMQ for asynchronous event driven services.
Reusable mod panel web app created covering generic game moderation activity, while allowing specific games to easily extend further. Twig utilised for the view layer to simplify development and encourage reuse.
Eden Interactive, Sept 2010 - June 2011
Procedural style PHP with an emphasis on testable and reusable functions that could be composed. Contributions included work A/B testing new features, interacting with SOAP APIs and adding support for digital product downloads.
Stuart Web Enterprises, Sept 2008 - May 2009
Part time work on the second version of web game Gangster Paradise. Key contributions included a mission system, casinos, and gameplay achievements.
- Game Design