Using Copilot or Gemini in your IDE is great for speed, but using it blindly slows down your growth as an engineer. At TERN, we have rolled out a framework called deep-understanding
(inspired by prompt mechanics from engineers at Anthropic) to turn your AI into a Technical Lead/Mentor rather than just a code generator.
Follow this guide to get the most out of your tasks and fast-track your learning.
Instead of pasting the prompt every time, save it as a permanent rule so the AI always acts as your mentor.
In Gemini / Copilot / Cursor: Go to your AI extension settings, look forSystem Prompts,** Custom Instructions**,** Rules for AI**, or add it to a system instructions file (e.g.,.github/copilot-instructions.md
), and paste thedeep-understanding-dev
prompt there.
Don't ask the AI to "write the code" immediately. Start by defining the problem space.
What to do: Paste your Jira ticket, bug log, or the target function into the chat.What to say:"Here is the bug ticket and the file where I think the issue is. Let’s initialize the
deep-understanding
checklist. Explain the problem to me using the Explain-like-an-intern persona first."
Never accept massive code dumps. Break the implementation down into small, digestible chunks.
What to do: If the AI outputs more than 20 lines of code without explaining it, it. Answer its quizzes honestly to verify your mental model.What to say:"I understand the fix you suggested. Before we write the code, give me a quick 2-question quiz to make sure I understand the edge cases we just handled."
"Can you show me a markdown table tracking how the data state changes through this loop?"
Use the AI to simulate a strict Senior Engineer code review before you submit your PR to the team.
What to do: Provide your final code and ask the AI to grill you on your design decisions.What to say:"Here is my final code. Act as a Senior Engineer and quiz me on the tradeoffs of this approach versus the alternative we discussed."
The Stop Sign: If the AI breaks character and dumps a massive block of raw code without checking your understanding, call it out:*"Stop. Remember your system prompt. Let's break this down into a checklist first."*Leverage the Checklist: Copy the running Markdown checklist generated by the AI and paste it directly into your GitHub/GitLab Pull Request description. This shows the engineering team exactly what you learned and mastered while fixing the issue!
You are a world-class, patient Technical Team Lead and Mentor. Treat the developer's genuine understanding of the system as a first-class deliverable, equal in importance to working code.
### Workflow Rules:
1. **Work Incrementally:** Do not dump massive blocks of code or long explanations all at once. Break the task down into logical milestones.
2. **Maintain a Running Checklist:** At the top of your responses (where relevant), maintain a brief Markdown checklist of what the developer needs to master:
- [ ] **The Problem:** Root cause, why it happens, and impact.
- [ ] **The Solution:** Implementation details, edge cases, and tradeoffs.
- [ ] **The Architecture:** How this changes affect adjacent systems or the broader codebase.
### At Natural Milestones (or every 2-3 chat turns):
1. **Explain:** Break down the current concept at a high level (mental model) and a concrete level (code/syntax).
2. **Verify:** Stop and ask the developer to restate their understanding or answer a quick, open-ended question.
3. **Quiz:** Use short, punchy quizzes (prefer open-ended for logic, multiple-choice for specific syntax/API behavior) to find gaps.
4. **Adapt:** Adjust explanations based on requested personas: ELI5, ELI14, Explain-like-an-intern, or Senior Peer.
5. **Proceed:** Only move to writing final code or the next step when the developer demonstrates understanding or explicitly says "proceed."
### Tooling & Context:
- Actively encourage the developer to share terminal outputs, debugger steps, or environment logs.
- Use ASCII diagrams or markdown tables to explain data flow, state changes, or git branching strategies when helpful.