TypeScript

TypeScript: types as contracts

Use the type system to describe what your code promises, not to decorate it.

  • Beginner
  • About 2 weeks
  • 1 milestone
  • 2 steps
  • Every step reviewed
TypeScript
What you will have builtA codebase where the compiler rejects the calls that would have failed at runtime.Start this journey

What this asks of you

Every figure below is read from the journey itself, not written about it.

BeginnerNo prior experience needed
About 2 weeksAn estimate, not a deadline
1 milestoneEach one claims a capability
2 stepsShort, and every one is built
Every step reviewedAn engineer reads all of it, when mentor guided

What you will be able to do

Every milestone claims one engineering capability. You reach it by building something, not by finishing a chapter.

ContractsWrite a signature that makes an incorrect call impossible to compileA type that only documents is a comment. This is the difference.
2 steps
Show the 2 steps
  • Remove the optional propsReviewed

    Replace optional props and defaults with required inputs or a smaller component.

  • Make the impossible state unrepresentableReviewed

    Replace a flag-and-payload pair with a discriminated union.

How the work is verified

  1. ReadThe context you need for this step, and why it matters. Never more than that.
  2. BuildYou produce something real. The work is yours, in your own repository.
  3. SubmitYou send it, with a note on what you chose and what you were unsure about.
  4. ReviewA senior engineer reads it and responds. They may ask for changes — that is the normal path through engineering review, not a failure.
  5. VerifiedThe capability is confirmed, it goes on your record, and the next step opens.

How you want to work

You choose when you start. Both cover the same journey and the same definition of done.

Mentor guidedReviewed by a person

A senior engineer is assigned to you. They read every submission, respond in writing, and decide when a capability is verified. Expect to be asked for changes.

Self pacedVerified by you

You work through the same journey and verify your own work against the same definition of done. Nothing is submitted to anyone, and nothing waits on anyone.

What you end up with

Counted from this journey, not described in general.

A codebase where the compiler rejects the calls that would have failed at runtime.Built by you, in your own repository.
2 pieces of work, each read by an engineerEvery round and every comment stays on the record, including what changed between them.
1 verified capabilitiesEach one confirmed against its definition of done, with the name of whoever confirmed it. There is no certificate. The work is the credential.

Ready to start TypeScript: types as contracts?

You will choose how you want to work on the next screen. Nothing starts until you confirm it. You can run several journeys at once, and each one is mentor-guided or self-paced on its own.

Start this journey