Milestone map
3 milestones
Complete a Structured Curriculum and Build a Running Program
6–12 weeks (1–2 hrs/day)
Choose a programming language and a structured free curriculum (CS50P, freeCodeCamp Python, the official Python tutorial, or equivalent). Complete all core exercises. Then build one self-contained program that does something you actually want — a script that automates a task you do manually, a command-line tool, or a simple game. The program must run without errors on someone else's machine following your instructions.
Proof required
Submit: a GitHub repository (public or shared) containing your program's source code and a README with installation instructions and example output; a screenshot or video of the program running; and a completion certificate or progress screenshot from the curriculum you chose. The README must allow a stranger to run the program without asking you questions.
What gets checked
Common mistakes
Resources
Foundationstart here
Depthgo deeper
What a verifier looks for
You'll sign in first, then come straight back here.
Build a Self-Proposed Project for a Real User
4–8 weeks (2–3 hrs/day)
Identify a real problem someone (yourself, a friend, a colleague, a community) has, and build a program that solves it. The program must go beyond scripts: it should handle multiple inputs, store or retrieve data (a file, a database, or an API), and produce useful output. Get the program into someone else's hands and document their feedback. Write a 200-word reflection: what you tried to build, what you cut, and what you learned that you could not have learned from exercises.
Proof required
Submit: the GitHub repository with source code and README; evidence of the real user (a message, a screenshot of them using it, or their written feedback); and your 200-word reflection naming what you cut from the original plan and one thing you would do differently now.
What gets checked
Common mistakes
Resources
Foundationstart here
Depthgo deeper
What a verifier looks for
You'll sign in first, then come straight back here.
Defend Code and Design Choices to an Experienced Developer
1–2 weeks (scheduling and completing the session)
Arrange a live 45-minute code review with a developer who has at least 3 years of professional experience and does not know your project already. Walk them through your M2 project: explain your design choices, show the code, and answer their questions without referring to notes for the logic. The reviewer will ask 'why did you choose X over Y?' and 'how does this part actually work?' questions you cannot pre-script. Document the session: who reviewed it, their qualification, what they specifically suggested changing, and what you did or plan to do about it.
Proof required
Submit a session record containing: the reviewer's name and a verifiable credential showing 3+ years of professional programming experience (LinkedIn or GitHub profile URL); a summary of at least two specific design questions they raised; and a 200-word reflection on the most important thing the review changed about how you think about code.
What gets checked
Common mistakes
Resources
Foundationstart here
Depthgo deeper
What a verifier looks for
You'll sign in first, then come straight back here.