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 fix for KM-Waechter: corrected the wear calculation so near-threshold cars are flagged, handled missing service readings safely, fixed the fleet report’s average and crash path, and added the missing test. Also produced a data-driven breakdown-risk analysis that follows the supplied fleet history rather than assuming older or higher-mileage cars are riskiest.
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 suppressed near-threshold wear to 0%.
- Kept the 15000 km interval and 80% threshold unchanged while explicitly rejecting the agent’s threshold change.
- Wrote a sensible breakdown-risk analysis that prioritizes km_since_service, avg_daily_km, and load_factor instead of the misleading mileage assumption.
- Documented the review process in NOTES.md with concrete checks, including added tests and configuration verification.
- Leakage-Free Bug Diagnosis
- Bounded AI Prompting and Audit
The deliverable
The work I submitted19 tasks
11 tasks · 2.5k characters · JavaScript · 8 written answers · 162 words
- Diagnose Line131 characters
- Diagnose WhyJavaScript · 284 characters
- Scope Prompt66 characters
- Audit Findings158 characters
- Audit Why358 characters
- Acceptance Checklist341 characters
- Bob Trial Click200 characters
- Template Repo Click152 characters
- Exec Pitch594 characters
- Bob Bonus186 characters
- Repo URL57 characters
- Diagnose Line11 words
- Diagnose Why44 words
- Scope Prompt1 word
- Audit Findings1 word
- Audit Why54 words
- Acceptance Checklist49 words
- Bob Trial Click1 word
- 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.