Consulting mission · Banking · Legacy maintenance
Keytrade Bank — Web Platforms Maintenance
Maintenance of several banking web platforms: public website, customer extranet and administrative intranet, within a legacy PHP environment subject to strict operational constraints.
Associated experience
Blubird
Backend PHP Developer / Consultant · 2018 — 2019
View related experienceProject context
Keytrade Bank is a Belgian online bank providing digital banking services and online trading tools.
During this mission, I joined a small PHP development team responsible for maintaining several web platforms used by the bank.
These platforms were distinct but interconnected: the public website, used as a marketing and onboarding portal for potential clients; the extranet, a private web application used by bank customers once their account was created; and the intranet, an internal administrative interface used by bank employees to manage certain customer operations.
The financial transaction systems themselves were managed by other internal systems and were not part of the applications I worked on.
System architecture
The applications were built using PHP 5.6, with a customized version of PHP compiled and certified for the bank’s security requirements.
The systems relied on a legacy architecture without a modern framework and were maintained within a traditional monolithic codebase.
Core components included PHP backend applications, MySQL databases, internal deployment infrastructure and integration with other internal banking systems.
My role
I worked as a backend developer integrated as support for the PHP maintenance team.
The mission primarily focused on maintenance and debugging activities.
- Fixing bugs across the public website, extranet and intranet applications
- Investigating production issues reported through the internal ticketing system
- Implementing small corrections and improvements
- Supporting the existing team in maintaining legacy PHP systems
Team structure
The PHP development team was relatively small.
Additional roles existed outside the team, including a QA team responsible for validation, without direct day-to-day collaboration, and a release manager responsible for SVN merges and release validation.
Developers were not authorized to perform production merges themselves.
- A technical lead acting as both architect and department coordinator
- One freelance consultant
- Myself as a consultant through Blubird
- A QA team responsible for validation
- A release manager responsible for SVN merges and release validation
Technologies used
Backend
- PHP 5.6 with a custom security-certified build
Database
- MySQL
Version control
- SVN
DevOps
- Jenkins, legacy version used for deployments
Project management
- Jira
Development practices
The development process followed a relatively traditional workflow.
The process was not Agile in the modern sense and followed more of a continuous maintenance workflow.
- Centralized control of merges in SVN
- Code reviews performed manually by the release manager
- Jenkins-based deployment process
- Ticket-driven bug fixing and maintenance
Technical challenges
Legacy PHP codebase
The applications were built on a large legacy codebase with limited architectural structure.
Understanding the system and implementing fixes required careful navigation of the existing code to avoid introducing regressions.
Security constraints
Due to the banking environment, the PHP runtime itself was a custom compiled and security-certified build.
This imposed additional constraints on the development environment and deployment processes.
Outcomes / impact
My work supported the stability of several web platforms used by Keytrade Bank by fixing bugs and maintaining existing functionality.
The mission helped reduce the workload on the small internal PHP team responsible for these systems.
Personal learnings
Although the mission was short, it provided exposure to the internal workings of a banking organization.
Key takeaways included discovering the operational environment of a digital bank, understanding the constraints that regulated sectors can impose on technology evolution, and working within a legacy PHP codebase maintained under strict operational procedures.
The experience also highlighted the gap that can exist between modern development practices and legacy systems maintained in highly regulated environments.