From Sept 2023 to presentAssignment

Senior software engineer — Adservio

for RATP · Interface between a CMMS and its external providers

On this page

Context

Around a CMMS (Hexagone) revolve many external providers who want to use and process its data. My role: act as the intermediary, giving each of them read and write services suited to their needs. Other processes are scheduled shell scripts (cron) that run at precise frequencies, produce CSV files and drop them into a directory on the target server. This interface layer decouples the core system from its users: each provider gets what it needs, in the form that suits it (API or file). I maintain and evolve these 4 production applications (third-party application maintenance), with full autonomy over analysis, code and quality, and I take part in the team's daily meetings.

What I did

  • Full autonomy over needs analysis, development and the quality of what is delivered
  • Taking part in the daily meetings and team follow-up
  • Tailored read and write APIs for each external provider
  • Scheduled processes (shell scripts, cron) generating CSV files dropped on the target server, at a defined frequency
  • Fixing production bugs; analysing and estimating incident tickets
  • Evolving and optimising features
  • Detailed technical specifications and interface contracts
  • Post-mortems and improvement of incident-management procedures

Results

  • 4 applications maintained in production
  • External providers served through read/write APIs and scheduled CSV exports
  • Incident procedures improved to cut wasted time

Tech stack

  • Java 11/17
  • Spring
  • Apache Camel
  • OAuth
  • Oracle / PL/SQL
  • Shell (cron)
  • Jenkins
  • Dynatrace
  • JUnit