Programming foundations

Ship faster with AI coding assistants

Use Copilot/Cursor/Claude Code effectively: specify, review, test and not blindly trust generated code.

~6 focused hours·beginner

Tools: GitHub Copilot, Cursor, Claude Code, code review checklists

Market relevance — share of job ads asking for this
What employers mean

You should be able to…

  1. Write a clear, scoped prompt/spec before letting an AI assistant generate code
  2. Review every AI-generated diff line by line before committing, not just accept-all
  3. Catch when an assistant hallucinates an API, library version or config that doesn't exist
  4. Use an assistant to write tests for existing code, then verify the tests actually fail on a bug
  5. Break a large feature into small, reviewable AI-assisted commits instead of one giant diff
  6. Explain in a review what an AI-generated PR does and why, in your own words

Needs first: Collaborate with Git and GitHub

Learn — free, link-checked

The few resources that matter

Practice

AI-Assisted Refactor with a Paper Trail

Take an existing messy script or small repo (your own or a public one) and use an AI coding assistant to refactor it into typed, tested modules over a series of small PRs. For each PR, write a short note on what you asked for, what the assistant got wrong or hallucinated, and what you changed before merging.

Done when
  • At least 4 PRs, each scoped to one change, each merged only after human review
  • A NOTES.md log documenting at least 2 cases where you corrected AI-generated code
  • Test coverage for the refactored modules did not regress (measured before/after)
  • Final code has no leftover AI-invented APIs or config that don't actually exist
Prove it

Evidence a recruiter can check

  • Public GitHub repo with the before/after code and PR history
  • NOTES.md documenting AI mistakes caught and corrected during the refactor
  • Before/after test coverage numbers showing the refactor didn't break anything
Interview

Questions you'll get asked

  1. Tell me about a time an AI coding assistant generated something wrong — how did you catch it?
  2. How do you decide when to write code yourself vs delegate it to an assistant?
  3. What's your process for reviewing a large AI-generated diff before merging?
  4. How would you prompt an assistant to refactor a function without changing its behavior?
  5. How do you verify AI-generated tests are actually testing the right thing?
  6. What guardrails would you put in place before letting an agent run shell commands in CI?
See where you stand for Forward Deployed Engineer (AI)