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 full legacy-service repair for KM-Waechter: fixed the wear calculation with true division, handled missing service readings safely, corrected the nightly report’s average and crash path, preserved the 15,000 km / 80% rules, and added the missing regression test. Also produced a data-driven breakdown-risk analysis that ranks cars by km_since_service, avg_daily_km, and load_factor rather than the misleading mileage/age assumption.
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 floor-division line as the cause of the 0% wear bug and explained why 14,900 km was being truncated to zero wear
- Caught the agent’s unauthorized threshold change and the missing proving test during the audit
- Wrote NOTES.md with concrete verification steps and a clear explanation of what the agent got wrong
- Built an analysis that follows the data: km_since_service is emphasized while odometer_km and age_years are explicitly treated as weak signals
- Leakage-Free Bug Diagnosis
- Verified Acceptance Checking
The deliverable
The work I submitted18 tasks
10 tasks · 2.1k characters · 8 written answers · 230 words
- Bob Trial Click136 characters
- Diagnose Line130 characters
- Diagnose Why287 characters
- Audit Findings158 characters
- Audit Why518 characters
- Acceptance Checklist98 characters
- Template Repo Click82 characters
- Exec Pitch423 characters
- Bob Bonus252 characters
- Repo URL59 characters
- Bob Trial Click1 word
- Diagnose Line10 words
- Diagnose Why49 words
- Audit Findings1 word
- Audit Why86 words
- Acceptance Checklist17 words
- Template Repo Click1 word
- Exec Pitch65 words
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.