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-code modernization for a fleet service system: fixed the wear calculation so near-due cars are flagged correctly, handled missing service readings without false positives or crashes, corrected the nightly report’s averaging and mileage conversion, and added the missing regression test. Also produced a data-driven breakdown-risk analysis that follows the fleet history data rather than the naive mileage/age assumption, and documented the review process clearly 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 hidden fleet_utils.km_to_miles conversion bug that no test directly covered
- Handled missing last_service_km consistently in both needs_service and fleet_summary to prevent false flags and crashes
- Wrote a data-driven analyze.py that explicitly rejects odometer_km and age_years as predictors and prioritizes km_since_service, avg_daily_km, and load_factor
- Documented the agent review process in NOTES.md with concrete checks and acceptance criteria
- Leakage-Free Feature Engineering
- Honest Model Evaluation
The deliverable
The work I submitted19 tasks
11 tasks · 2.6k characters · Python · 8 written answers · 170 words
- Division Predict70 characters
- Diagnose Line130 characters
- Diagnose Why216 characters
- Scope Prompt66 characters
- Audit Findings158 characters
- Audit Why253 characters
- Acceptance ChecklistPython · 549 characters
- Template Repo Click82 characters
- Exec Pitch793 characters
- Bob Bonus195 characters
- Repo URL63 characters
- Division Predict1 word
- Diagnose Line10 words
- Diagnose Why39 words
- Scope Prompt1 word
- Audit Findings1 word
- Audit Why39 words
- Acceptance Checklist78 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.