🎯 Part 9 β€” Final Evaluation, Readiness, and Expectations

This section defines what β€œready” actually means, how interns will be evaluated, and how to behave in a real engineering team.


← Part 8: Full Project Handbook Home β†’

0. What β€œReady” Actually Means

Being β€œready” is not:

Being ready means:

You can take a task and complete it independently.

Real Definition

Understand problem β†’ Break it down β†’ Implement β†’ Debug β†’ Deliver

1. Core Skills Required

These are non-negotiable.

Technical Skills

You must be able to:

Git Skills

You must be able to:

Debugging Skills

Debugging is the most important skill.

You must be able to:


2. Evaluation Criteria

Project Completion

Area Expectation
API All endpoints work correctly with proper status codes
Database Data persists after container restarts
Docker Full system starts with docker compose up --build
Testing test_api.py passes; error cases are covered

Code Quality

Good Bad
Clean structure (routes/services/schemas/db) Everything in one file
Readable variable and function names x, temp, data2
Proper input validation with Pydantic No validation at all
Parameterised SQL queries String-concatenated SQL

Debugging Ability

You will be tested on:

Git Workflow

You must:


3. Final Test (Mandatory)

Build the following from scratch without copying blindly. You must understand each step well enough to explain it.

API

Database

Docker

Testing


4. Real-World Scenarios

You will encounter situations like these. Know how to handle them.

Scenario 1: API Works Locally but Fails in Docker

Expected approach:

Scenario 2: Database Is Not Saving Data

Expected approach:

docker exec -it <postgres_id> psql -U postgres -d appdb

Then run:

-- See all rows in the users table (useful for verifying inserts worked)
SELECT * FROM users;

Scenario 3: Container Keeps Restarting

Expected approach:

Scenario 4: Git Conflict During Pull Request

Expected approach:


5. Engineering Expectations

Ownership

You are responsible for your code.

That means:

Consistency

Follow:

Thinking Before Coding

Before writing code, ask:

Debug Mindset

Observe β†’ Isolate β†’ Fix β†’ Verify

6. Common Failure Behaviors

Avoid these.

Guessing

Do not randomly change code hoping something will fix the problem.

Instead:

Copy-Paste Coding

Do not copy code without understanding it.

If you use code from documentation or examples, you must be able to explain:

Ignoring Errors

Errors are clues. Do not skip or silence them.

Read every error message carefully. The first and last lines of a stack trace contain the most information.

Skipping Git Workflow

Always:


7. Self-Check Before Saying β€œDone”

Ask yourself:

System

Code

Debugging

Delivery


8. What Makes You Stand Out

Level Behaviour
Good intern Completes assigned tasks
Great intern Understands the full system, not just their piece
Exceptional intern Debugs independently, improves code quality, asks precise questions

9. Growth Path

After completing this handbook, aim to:


Final Summary

If you can:

Then:

You are ready to contribute.


Final Note

This handbook is not something to read once.

It is something to:


← Part 8: Full Project Handbook Home β†’