Senior Scala Software Engineer London
Senior software engineer with extensive experience in designing, building, and operating large-scale distributed systems across finance, media, and cloud platforms. Strong background in functional and full-stack development with a focus on Scala, Java, cloud-native architectures, and event-driven systems. Proven track record delivering high-traffic, resilient solutions using modern Agile practices, CI/CD, and infrastructure as code. Experienced in mentoring teams and driving architectural modernization initiatives.
Skills
- Akka
- Angular
- Ansible
- AWS
- BDD
- BigQuery
- Cassandra
- Cats
- CI/CD
- Cloud Functions
- CQRS
- DDD
- Docker
- DynamoDB
- Event Sourcing
- GCP
- Git
- GitHub
- GitLab
- GraphQL
- Groovy
- Http4s
- Java
- javascript
- Jenkins
- Kafka
- Kinesis
- kotlin
- Kubernetes
- Lambda
- Microservices
- MongoDB
- MySQL
- Node.js
- Oracle
- Play Framework
- PostgreSql
- Python
- React
- Redis
- REST
- S3
- Scala
- Spark
- Spring Boot
- TDD
- Terraform
- TypeScript
- ZIO
Experience
-
Aug 2025 - Sep 2025
Cloud Coach / Consultant at Cloud Coach
-
Short-term consultancy engagement focused on improving cloud adoption and technical maturity across engineering teams. Provided hands-on coaching, architectural guidance, and infrastructure modernisation using AWS and GCP.
– Delivered technical workshops and pair-programming sessions to upskill teams in cloud-native, serverless, and DevOps practices
– Designed cloud reference architectures supporting microservices migration and CI/CD automation
– Implemented best practices for cost optimisation, security, and observability -
Aug 2023 - Aug 2025
Senior Software Developer at Bank of America
-
Settlements Platform – a suite of components and processes supporting end-to-end settlements lifecycle management.
– Developed a high-throughput Settlement Obligations system using Scala, Kafka, and React
– Implemented CQRS and event-sourcing patterns leveraging an actor-based back-end architecture
– Automated deployments using Ansible and implemented CI/CD pipelines with custom Groovy scripts
– Designed and maintained a microservices-based architecture
– Applied Domain-Driven Design (DDD) and Behaviour-Driven Development (BDD) using Cucumber for Scala
– Modernised legacy internal tooling by migrating static HTML/jQuery/AJAX interfaces to React, introducing configurable UI components, input validation, and comprehensive unit and integration test coverage -
Jan 2023 - Aug 2023
Mentor / Full Stack Developer at Sky
-
– Mentored junior developers (10+) through workshops, pair programming, presentations, and technical demos to accelerate skill development
– Automated infrastructure provisioning using Terraform and implemented CI/CD pipelines
– Increased test coverage by introducing automated acceptance testing with BDD frameworks (Python Behave, terraform-compliance)
– Delivered full-stack development of a FinOps portal using BigQuery and Looker to analyse cloud spend by cost centre, enforce budget accountability, and identify cost-optimisation opportunities
– Implemented serverless functions and cloud-native workloads across GCP and AWS (Cloud Functions, AWS Lambda)
– Built and maintained services and user interfaces using Python, Node.js, and React -
Jun 2022 - Jan 2023
Full Stack Developer at Credit Karma
-
– Delivered full-stack development for large-scale financial platforms serving UK and Canadian markets
– Built and maintained integration services with multiple financial partners to personalise and manage customer offers using Java, Spring Boot, Scala, Finagle, ZIO, and Node.js (TypeScript)
– Implemented customer-facing UI components and widgets using React, TypeScript, and JavaScript, supporting production usage by millions of active users -
Jan 2022 - Jun 2022
Senior Software Engineer at Kaluza
-
– Developed a backend payments and transactions platform integrating with multiple third-party systems
– Built and deployed new microservices using Scala, Kafka, and AWS to replace legacy systems across UK and APAC regions
– Automated infrastructure provisioning, deployment, and monitoring using Terraform -
Aug 2020 - Apr 2021
Senior Software Engineer at Y-Tree
-
– Supported company-wide migration to a new system architecture
– Introduced and established Event Sourcing, CQRS, Domain-Driven Design (DDD), and Behaviour-Driven Development (BDD) practices
– Delivered organisation-wide technical training and courses, including for distributed and remote teams
– Contributed hands-on to microservices development using Kotlin and Kafka -
Aug 2019 - Aug 2020
Full Stack Software Engineer at Convex
-
– Established delivery processes and ensured execution within an agile environment
– Designed, evolved, and governed system architecture
– Implemented CQRS and event-sourcing patterns on AWS using Kinesis and DynamoDB
– Delivered hands-on full-stack development across frontend, backend, and big data processing layers
– Built and operated serverless applications on AWS
– Produced UX designs and wireframes to support product development
– Led and managed development teams -
Aug 2018 - Aug 2019
Full Stack Developer at Leonteq
-
– Led the redesign of a blotters service for managing and displaying price requests and history
– Simplified system design and modularized components
– Eliminated external dependencies and single points of failure
– Increased component test coverage from 12% to 89% and improved overall testability
– Introduced integration and end-to-end tests previously limited by system complexity
– Automated testing, including frontend tests using Protractor, Selenium, and Cucumber
– Contributed to multiple other company services across various technologies and programming languages
– Delivered short technical courses on pair programming, Kanban, and BDD (including for international teams in Singapore) -
Mar 2018 - Aug 2018
Senior Software Developer at BSkyB (Now TV)
-
– Developed backend services using Scala, Play, Akka, Cassandra, and MongoDB
– Enabled continuous delivery pipelines with Kubernetes, Docker, AWS, and Jenkins
– Operated within a Kanban workflow for iterative development
– Collaborated with technical analysts and QA teams to define backlog items and acceptance criteria -
Sep 2016 - Mar 2018
Senior Software Developer at Bank of America
-
– Developed a high-throughput Settlement Obligations system using Scala and Kafka
– Implemented CQRS and event-sourcing patterns with actor-based back-end architecture
– Automated deployments with Ansible and created CI/CD pipelines using Groovy scripts
– Designed and maintained a microservices-based architecture
– Applied Domain-Driven Design (DDD) and Behaviour-Driven Development (BDD) using Cucumber for Scala
– Contributed to a React-based error reporting tool to notify users of issues during transaction processing -
Sep 2015 - Sep 2016
Full Stack Developer at Credit Suisse
-
– Delivered full-stack development and maintenance using Scala, Node.js, React, and AngularJS, including redesign of existing projects
– Implemented MapReduce with Spark for file-based storage and processing, improving performance and reducing system complexity
– Collaborated closely with end-users under short deadlines and frequent iterations, ensuring rapid and reliable feature releases
– Applied Agile practices including pair programming, Test-Driven Development (TDD), and Behaviour-Driven Development (BDD) -
Jan 2015 - Sep 2015
Senior Scala Developer at Net-A-Porter
-
– Mentored a team of 10+ developers in migrating from a legacy monolithic system
– Introduced Scala, Agile development practices, and Continuous Delivery
– Delivered company-wide workshops on Scala, TDD, BDD, pair programming, and Agile methodologies
– Developed services in Scala across multiple teams and technology stacks
– Designed a new architecture to decompose the system into smaller, decoupled, service-oriented, and scalable components
– Collaborated with DevOps engineers to:
– Configure load balancers and NGINX for client certificates and SSL termination
– Set up Redis for failover, backups, and persistence
– Implement CI/CD pipelines using Jenkins and Bash scripts
– Automate end-to-end testing
– Contributed to Node.js, Perl, and AngularJS projects -
Aug 2014 - Jan 2015
Senior Agile Developer at BBC
-
– Conducted polyglot software development using Java, Scala, and Node.js
– Contributed to re-architecting the platform into decoupled, highly cohesive microservices
– Developed RESTful and asynchronous web services
– Applied Continuous Delivery practices, supporting multiple live releases per day
– Designed Redis data structures and configured CI/CD pipelines and AWS infrastructure -
Nov 2012 - Feb 2014
Senior Agile Developer at BBC
-
– Contributed to the design and development of applications focused on fault tolerance, high availability, and disaster recovery
– Implemented Scala components using Functional Programming and Reactive Programming principles for event-driven, scalable, and resilient systems
– Developed Scala modules with Play Framework, leveraging single-threaded asynchronous I/O for dependent services
– Applied Akka Actor model for concurrency in Scala modules
– Built highly scalable and fault-tolerant Java modules for AWS-based services
– Managed and utilized AWS infrastructure to support project deployment and operations -
Jul 2011 - Nov 2012
Agile Developer at BSkyB
-
– Migrated projects to a resource-oriented, RESTful architecture to enable high-performance, optimized services
– Implemented composite resources, in-memory caching (Ehcache), and optimized persistent connections, improving system responsiveness for limited-resource users (e.g., mobile devices)
– Applied Behaviour-Driven Development (BDD) testing using adapted third-party libraries
– Enhanced QA processes by developing automated testing tools, reducing manual tests and enabling reliable, repeatable end-to-end testing
– Developed server-side services with MongoDB (NoSQL)
– Operated within an Agile environment, applying Scrum, BDD, TDD, pair programming, code reviews, and continuous integration -
Jun 2007 - Jun 2011
Software Engineer at MilSOFT
-
– Applied Agile and Scrum principles across development processes, including daily stand-ups, planning, code reviews, sprint retrospectives, and two-week iterations
– Practiced Test-Driven Development (TDD) at all system layers using JMock and Mockito, and conducted performance/load testing with JMeter
– Utilized Behaviour-Driven Development (BDD) for acceptance testing via Fitnesse
– Employed pair programming as a standard practice
– Designed and implemented RESTful APIs and developed/provided both SOAP and REST web services
– Worked with both NoSQL (Cassandra) and RDBMS (Oracle) databases
– Built a stubbing framework using Scala and functional programming techniques
– Implemented continuous integration pipelines using Jenkins/Hudson and Maven
Education
-
2008 - 2010
m.sc. software engineering at METU Technical University
-
2003 - 2007
b.sc. computer science & software engineering at Hacettepe University
-
2004 - 2008
bba in business at Anadolu University