Work record
Where the systems ran, what they did, and what changed while I owned them.
ROLE 01
Software Engineer
Civica Ltd. (formerly OLM Systems Ltd.) · · United Kingdom
Apr 2023 – PRESENT
3 yr 4 mo
Currentpromoted from the junior role into ownership of payroll and finance microservices end to end, schema through API through release, and the Jenkins CI/CD pipelines that get them to production. The work is payroll for UK local authorities: estimating and creating the transactions, on Spring Batch jobs and event-driven microservices, with complex APIs designed, maintained and performance tuned against a schema other teams read. OLM and Civica build case management and finance software for UK local authorities, so the services are run by council teams in production. Civica acquired OLM Systems in February 2026; the team, the codebase and the role carried over unchanged.
What changed
- 99s → 0.9s
- Critical finance API latency
- event-driven over RabbitMQ
- Payment processing
- manual steps → Jenkins pipeline
- Release path
Responsibilities
7 items- Build and maintain Spring Boot microservices for finance, with JPA queries over PostgreSQL and schema managed by Liquibase.
- Run the payment flow as an event-based process over RabbitMQ, including the scheduling and the failure paths.
- Deploy and operate the services on Google Cloud, day to day, alongside the Jenkins pipelines that build them.
- Build the pre-release environment from Jenkins pipelines, validate changes there with automated tests, then derive the production build from the same commits.
- Refactor ageing code and raise the technical debt explicitly as stories rather than absorbing it.
- Deliver against UK local authority requirements, the sector the platform is built for, including the release and change practices that come with public sector customers.
- Pick up React front end work across the same services when the team needs it, to unblock a feature or balance the load rather than as a primary focus.
StackJavaSpring BootJPAHibernatePostgreSQLLiquibaseRabbitMQGraphQLNode.jsReactGoogle CloudJenkinsDockerTeamFinance squad, working to a Product Owner in a Scrum and Kanban mix
ROLE 02
Junior Software Developer
OLM Systems Ltd. · · United Kingdom
Jan 2022 – Apr 2023
1 yr 3 mo
learned the codebase from the inside: JPA queries, service boundaries, and what a release actually costs. Promoted to Software Engineer on the same team in April 2023.
What changed
- automated suites in pre-release
- Test coverage
Responsibilities
3 items- Delivered features across Spring Boot services and their React front ends.
- Improved test coverage for microservices with JUnit in the pre-release environment.
- Took part in story estimation and planning, and kept the reference notes the team used for both.
StackJavaSpring BootJPAPostgreSQLJUnitReactTeamFinance squad
ROLE 03
Intern
Samsung Research & Development Institute Bangladesh · Dhaka · Bangladesh
Jan 2019 – Jun 2019
5 mo
six months on algorithms, data structures and problem solving at production scale.
Responsibilities
2 items- Worked through algorithm and data-structure problems against the standards of a large product organisation.
- Took part in code review and problem-solving sessions with engineers on shipping teams.
StackC++JavaAlgorithmsTeamInternship cohort
How the work gets done
Testing, delivery, operations and the parts nobody demos: the habits that decide whether a codebase can still be changed next year.
Testing
Automated tests in a pre-release environment
JUnit suites run against the pre-release build before anything is derived for production.
Delivery
CI/CD: pipeline-built environments
Jenkins builds pre-release and production from the same commits; no environment is assembled by hand.
Release ownership
Takes stories that meet acceptance criteria into production, coordinating with the Product Owner and DevOps.
Operations
Post-deploy monitoring
Uptime, error rate and latency are checked after a release, not after a complaint.
Automation of the repetitive path
Configuration updates, image builds, registry pushes and service restarts reduced to a few commands.
Collaboration
Reference documentation
Service structure, troubleshooting guides and codebase conventions, written for the next person rather than for the ticket.
Technical debt raised as work
Ageing code is refactored and the debt is written up as stories rather than absorbed silently.
Scrum and Kanban, with estimation notes
Keeps the reference material the team estimates and plans against.
Mentoring
Walks junior developers through the deployment process so releases do not depend on one person.
Communication
Languages
- English
- Full professional
- Bengali
- Native
- Hindi
- Conversational
- Urdu
- Conversational
Working language is English; the rest are stated because a team is rarely one nationality.
Education & certification
Degrees, certificates and the competitions worth mentioning.
Academic
Education
MSc Computer Science
Sep 2020 – Sep 2021
University of South Wales · Cardiff, United Kingdom
Dissertation: implementing a secure lost & found application.
BSc Computer Science
Jan 2015 – Jan 2019
Daffodil International University · Dhaka, Bangladesh
Dissertation: data analysis on home forestation using IoT. Robotics team and competitive programming.
Before the job titles
Competitions & posts
- 2019
Hult Prize, Mumbai regional finale
Fresh-food cart delivery and marketplace, against a brief to create work for 10,000 young people. Won the campus round of 560 teams to get there.
- 2019
DIU ICT Carnival, finalist
Qinter, an application for recovering lost belongings. The idea that became the MSc dissertation two years later.
- 2018
Vice President, university software development club
Ran workshops and training on Git and GitHub, SEO, database work with Java, and web development with PHP.
- 2017
Hult Prize, campus finale
A smart gardening device, against a renewable-energy brief.
References
From the engineers who reviewed the pull requests.
I worked closely with him for over a year, and he continually impressed me. Tanveer is proactive, always willing to help, and quick to learn new concepts. One of his standout contributions was developing a tool that saved our team a lot of time — innovative thinking and dedication that improved our workflow.
Colleague
Benson L.
Senior Software Developer · OLM Systems Ltd.
An outstanding backend developer with a deep understanding of Java and Spring Boot, as well as extensive knowledge of GCP. He takes ownership of tasks — optimising database queries, designing robust APIs, and resolving complex issues with enthusiasm and precision.
Colleague
Ioan M.
Senior Software Engineer · OLM Systems Ltd.
Technically strong, focused on the end result, process oriented and down to earth. In my career I have not seen many who are well qualified, organised, a good problem solver and a team player who can make a difference in any team they work with.
Colleague
Lakshmi S.
Senior Software Developer · OLM Systems Ltd.
He combines deep technical knowledge with a practical, innovative approach. What truly stands out is his eagerness to help, making complex tasks seem manageable for the people around him.
Colleague
Maciej C.
Software Developer · OLM Systems Ltd.