Senior Software Developer, G-Research
August 2016 – January 2024
Worked on two roles in different areas of the company. The first role was full-stack, working on real-time trade monitoring, platform configuration, and business workflow automation. The second role was more backend focussed, working on trading software orchestration, optimisation, and migration of the trading stack from Windows to Linux.
- Proven record of successful solution deliveries with tight deadlines.
- Contributed to a large-scale, global migration of the trading stack from Windows to Linux with minimal disruption to trading.
- Frequent collaboration with different stakeholders to capture requirements and feedback to ensure the satisfactory delivery of solutions.
- Implemented a Camunda-based workflow platform to orchestrate business processes.
- Implemented industry standard observability using Prometheus to improve the reliability and performance of our apps.
- Maintained a variety of apps, such as a real-time monitoring frontend, trading platform configuration tooling, service orchestration, release management, and more.
- Organised squad health checks and 1-1 coffees within the team with the aim of understanding and improving the team morale.
- Experience with Kubernetes based workflows.
Senior Software Developer, Perfect Channel
October 2014 – August 2016
Development of a multi-tenanted data analytics and visualization platform, implemented as a family of decoupled microservices.
- Developed plugins for our Kibana-based Dashboard that provides OAuth2, theming, and extra metric visualizations.
- Developed and maintained an OAuth2 Elasticsearch proxy API that authorized users based on their tenancy.
- Maintained the IdentityServer3 implementation as our OpenID Connect server, integrating with our in-house user accounts library.
- Implemented a workflow to provision an environment in Azure with a combination of Octopus Deploy, Azure Powershell scripts, and Puppet.
Full-stack development of a livestock auction platform in a cross-functional team.
- Performed regular code reviews to improve the quality of the deliverable as a team and also to learn and to teach others.
- Followed the Scrum methodology to deliver iterations. Actively participated in sprint planning and retrospectives to promote continuous improvement.
- Proactive in documenting existing technical debt as stories into our backlog to allow the development teams to tackle them in future sprints.