Self-directed project
AI-Assisted Code Modernization with IBM
Junior Software Engineer · Software Engineering · August 2026
Based on a public IBM case study · not affiliated with IBM
Built and verified a complete modernization of the KM-Waechter service: fixed the wear calculation, handled missing service readings safely, corrected the nightly report’s average and crash path, and swept the helper modules to catch a hidden mileage-conversion bug. Also added a data-driven breakdown-risk analysis that follows the fleet history data rather than the obvious but unsupported mileage/age assumption, and documented the agent review process in NOTES.md.
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 conversion bug that no test directly covered.
- Kept the 15000 km interval and 80% threshold unchanged in both code and settings.cfg.
- Wrote a data-driven analyze.py that explicitly rejects the misleading odometer_km/age_years assumption and ranks risk using the stronger signals.
- Documented the agent review in NOTES.md and verified the final state with all 11 acceptance checks passing.
- Leakage-Free Feature Engineering
- Honest Model Evaluation
The deliverable
The work I submitted20 tasks
12 tasks · 2.1k characters · 8 written answers · 68 words
- Division Predict70 characters
- Diagnose Line130 characters
- Diagnose Why69 characters
- Scope Prompt66 characters
- Audit Findings158 characters
- Audit Why92 characters
- Acceptance Checklist181 characters
- Template Repo Click82 characters
- Bob Trial Click448 characters
- Bob Ready60 characters
- Verify Report71 characters
- Exec Pitch655 characters
- Division Predict1 word
- Diagnose Line10 words
- Diagnose Why12 words
- Scope Prompt1 word
- Audit Findings1 word
- Audit Why13 words
- Acceptance Checklist29 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.