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 a complete modernization and bug-fix pass for KM-Waechter: corrected wear calculations, handled missing service readings safely, fixed the nightly report’s average and crash path, and repaired the quiet mileage-conversion helper bug. Also added a data-driven breakdown-risk analysis that follows the fleet_history.csv signals rather than the misleading mileage assumption, with clear verification notes documenting what the AI agent missed and how the fixes were checked.
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 the same division bug in both km_wachter.py and fleet_report.py, showing they swept beyond the obvious file
- Identified and fixed the quiet fleet_utils.km_to_miles conversion bug that no test directly covered
- Wrote a sensible analyze.py that explicitly rejects odometer_km and age_years as predictors and ranks risk from the stronger usage signals
- Leakage-Free Bug Diagnosis
- Directed AI Code Review
- Data-Driven Risk Analysis
The deliverable
The work I submitted20 tasks
12 tasks · 5.3k characters · JavaScript · 8 written answers · 86 words
- Division Predict70 characters
- Diagnose Line130 characters
- Diagnose Why120 characters
- Scope Prompt66 characters
- Audit Findings158 characters
- Audit Why173 characters
- Acceptance Checklist147 characters
- Bob Trial Click74 characters
- Bob Ready60 characters
- Template Repo Click152 characters
- Exec PitchJavaScript · 3.6k characters
- Bob Bonus561 characters
- Division Predict1 word
- Diagnose Line10 words
- Diagnose Why20 words
- Scope Prompt1 word
- Audit Findings1 word
- Audit Why27 words
- Acceptance Checklist25 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.