Self-directed project
AI-Assisted Code Modernization with IBM
Junior Software Engineer · Software Engineering · September 2026
Based on a public IBM case study · not affiliated with IBM
Built and verified a full legacy-code modernization for KM-Waechter: fixed the wear calculation, handled missing service readings safely, repaired the nightly report’s average and crash path, corrected the hidden mileage-conversion helper bug, and added the missing test. Also delivered a data-driven breakdown-risk analysis that follows the fleet history rather than the naive mileage/age assumption, with acceptance checks and notes documenting what the AI agent got wrong and how it was validated.
Graded against
- Fix and extend the repo with the agent35%
- Diagnose the bug20%
- Direct and audit the AI agent25%
- Explain it like an engineer20%
Passed · pass mark 60/100
What stood out6
- Correctly identified the whole-number division bug and explained why it suppresses nearly-worn cars
- Caught the agent’s unsafe fallback for missing readings and insisted on a safer handling path
- Found and fixed the quiet km-to-miles conversion bug in the helper module
- Wrote a data-backed analyze.py that explicitly rejects the misleading mileage/age assumption
- Leakage-Free Bug Diagnosis
- Directed AI Code Review
The deliverable
The work I submitted20 tasks
12 tasks · 2.4k characters · 8 written answers · 84 words
- Division Predict71 characters
- Diagnose Line130 characters
- Diagnose Why172 characters
- Scope Prompt66 characters
- Audit Findings158 characters
- Audit Why158 characters
- Acceptance Checklist140 characters
- Bob Trial Click74 characters
- Bob Ready60 characters
- Template Repo Click82 characters
- Verify Report71 characters
- Exec Pitch1.2k characters
- Division Predict1 word
- Diagnose Line10 words
- Diagnose Why25 words
- Scope Prompt1 word
- Audit Findings1 word
- Audit Why23 words
- Acceptance Checklist22 words
- Bob Trial Click1 word
Summarised on purpose — the submitted code and writing stay private so this page cannot be reused as an answer key. The full submission sits behind the verified certificate.