Technical proficiency
Check depth in Dart and Flutter internals: widget lifecycle, custom RenderObjects, isolates, async streams, and state management choices such as Riverpod, Bloc, or Provider.
Evidence to listen for
- Command of the languages, frameworks, and data tools the role actually uses
- Understands correctness, performance, and failure modes, not just syntax
- Has opinions on testing and can justify them
- Reads and reasons about code they did not write
Five-point scoring guide
Cannot work independently; fundamentals are missing.
Weak fundamentals; output needs heavy review.
Competent for the role; needs guidance on complex or unfamiliar work.
Strong practitioner; handles hard problems with little guidance.
Explains rebuild behaviour, keys, and BuildContext pitfalls precisely, and justifies their state management pick against alternatives they have used.