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 an end-to-end modernization of the KM-Waechter service: fixed the wear calculation, handled missing service readings safely, corrected the nightly report’s average and crash path, repaired the hidden mileage-conversion bug, and added the missing regression test. Also delivered a transparent breakdown-risk analysis in analyze.py that ranks cars by risk using the factors the data actually supports, with acceptance checks and audit notes confirming the work.
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
- Caught and fixed the quiet fleet_utils.km_to_miles inversion that no test directly covered
- Kept the 15000 km interval and 80% threshold unchanged in both code and settings.cfg
- Wrote a breakdown-risk analysis that follows the data instead of the tempting mileage/age assumption
- Documented the review process and verification steps clearly in NOTES.md
- Leakage-Free Feature Engineering
- Honest Model Evaluation
The deliverable
The work I submitted20 tasks
12 tasks · 2.9k characters · Python · 8 written answers · 150 words
- Division Predict75 characters
- Diagnose Line130 characters
- Diagnose Why228 characters
- Scope Prompt66 characters
- Audit Findings158 characters
- Audit Why433 characters
- Acceptance ChecklistPython · 214 characters
- Template Repo Click152 characters
- Verify Report70 characters
- Bob Bonus303 characters
- Exec Pitch986 characters
- Repo URL58 characters
- Division Predict1 word
- Diagnose Line10 words
- Diagnose Why40 words
- Scope Prompt1 word
- Audit Findings1 word
- Audit Why63 words
- Acceptance Checklist33 words
- Template Repo 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.