I'm mentoring a junior developer or intern on a web project. They're enthusiastic and proactive—they created their own React and Tailwind CSS repository from a UI design—but they're still struggling with several parts of building and shipping a complete application. They're unsure how the frontend and backend communicate through APIs and environment variables, especially compared with a traditional PHP monolith, and they've had repeated problems deploying the project to Vercel. They also say that attempts to fix one bug often create more problems, so they're asking for frequent one-on-one guidance. What's a good way to support someone at this stage without doing the work for them or making mentoring overwhelming? Are there useful exercises, resources, or a step-by-step roadmap for moving from a basic UI to a working, deployed full-stack feature?
4 Answers
A useful first exercise is to have them draw or explain what happens when a user performs one action, such as logging in. Walk through the browser, frontend code, API request, server, database, response, and UI update. This exposes gaps in understanding much faster than immediately reviewing code. Start with the system’s foundation before adding more screens or abstractions.
Don’t assume that not knowing deployment or frontend-backend integration means they lack foundational ability. Those may be new professional skills, especially for someone in their first role. Set clear learning milestones, explain the concepts without treating them as obvious, and use scheduled office hours instead of being constantly available. Encourage them to collect questions, investigate first, and then bring a concise summary to the session.
Give them one deliberately small vertical slice: a React form that sends a POST request, validates data on the server, writes one record to a database, displays the response, and gets deployed. Keep the implementation simple and avoid adding authentication or complex architecture until that path works. For every support request, ask for the expected result, actual result, relevant error or log, two possible causes, and what they already tried. That turns “everything broke” into a focused debugging problem.
This also makes it easier to tell whether the issue is a missing concept, a bad assumption, or just a small implementation mistake instead of jumping straight into fixing the code for them.
Documentation and tests can be good learning assignments. Have them update the project README with setup steps, environment variables, local development instructions, deployment steps, and common errors. Writing a few unit or integration tests also forces them to understand what each part is supposed to do. Review the documentation as part of the work, while still letting them own the implementation.

Understanding APIs is important, but it doesn’t have to be assumed knowledge on day one. It can be taught with a small example and built up gradually.