Understands the fundamentals of Algorithms & Complexity at a basic level. Applies simple concepts in work tasks using TypeScript/Python. Follows recommendations from senior developers when solving problems.
Roles · Fullstack Developer · Junior
What a Junior } should know
22 core skills, 65 in total. Expectations per skill, and what changes at the next level.
This page lists what a Junior } is expected to know and do, skill by skill. Core skills are the ones a manager and peers assess in a review cycle; the rest count only in self-assessment. Main areas: Programming Fundamentals, Frontend Development, Database Management.
Core skills for a Junior
Grouped by area. The label on the right is the expected depth: Awareness, Working, Advanced or Expert.
Programming Fundamentals · 7
Understands the fundamentals of Async Programming at a basic level. Applies simple concepts in work tasks using TypeScript/Python. Follows recommendations from senior developers when solving problems.
Understands the fundamentals of Code Quality & Refactoring at a basic level. Applies simple concepts in work tasks using TypeScript/Python. Follows recommendations from senior developers when solving problems.
Understands the fundamentals of Data Structures at a basic level. Applies simple concepts in work tasks using TypeScript/Python. Follows recommendations from senior developers when solving problems.
Understands the fundamentals of Design Patterns at a basic level. Applies simple concepts in work tasks using TypeScript/Python. Follows recommendations from senior developers when solving problems.
Understands the fundamentals of OOP & SOLID Principles at a basic level. Applies simple concepts in work tasks using TypeScript/Python. Follows recommendations from senior developers when solving problems.
Understands the fundamentals of Type Safety & Type Systems at a basic level. Applies simple concepts in work tasks using TypeScript/Python. Follows recommendations from senior developers when solving problems.
Frontend Development · 13
Understands bundling principles in fullstack applications and can analyze bundle size through webpack-bundle-analyzer. Applies basic optimizations: dynamic imports for code splitting, tree-shaking unused code, dependency optimization.
Writes basic React/Vue component tests for fullstack applications with Testing Library: rendering, text verification, button clicks. Tests components with API request mocks and understands the principle of testing behavior, not implementation.
Understands Core Web Vitals metrics (LCP, FID, CLS) and their impact on fullstack application UX. Measures metrics through Lighthouse and Chrome DevTools, fixes basic issues: image optimization, lazy-loading, preventing layout shift.
Implements basic data fetching patterns in fullstack applications: fetch/axios for REST API, handling loading/error states, displaying data in components. Understands the request lifecycle from client through server to database and back.
Uses design system components to build fullstack application UI: buttons, forms, cards from documentation. Follows composition and reuse principles, correctly passes props and applies component variants.
Applies modern CSS for fullstack application styling: Flexbox and Grid for layouts, CSS variables for theming, media queries for responsiveness. Understands cascade and specificity, builds layouts from designs with pixel-perfect accuracy.
Uses Next.js at a basic level. Creates simple components from designs. Understands basic concepts and follows component guidelines.
Builds simple React components integrated with backend APIs. Understands JSX, props, and state for full-stack feature development. Follows component patterns established by the team for consistent UI layers.
Understands SSR and SSG concepts in fullstack development: difference between server and client rendering, hydration, static generation. Creates simple pages with getServerSideProps/getStaticProps in Next.js, understands when each approach is appropriate.
Manages fullstack application state at a basic level: useState/useReducer for local state, context for global data (theme, user). Understands the difference between server and client state in full stack context.
Builds fullstack application UI components with Tailwind CSS from designs, using utility classes for typography, spacing and colors. Applies responsive prefixes for adaptivity and follows project design tokens.
Works with Vite in fullstack projects: understands dev server with HMR, basic configuration for React/Vue. Can set up proxy for API requests to backend, import assets and use environment variables for different environments.
Implements basic accessibility in fullstack applications: semantic HTML, alt texts, color contrast, focus states. Uses ARIA attributes for custom components and tests keyboard navigation in main user scenarios.
Database Management · 1
Writes basic SQL queries (SELECT, JOIN, WHERE, GROUP BY). Understands that queries can be slow. Knows that EXISTS is usually faster than IN for subqueries.
Cloud & Infrastructure · 1
Understands basic networking concepts spanning frontend and backend — HTTP/HTTPS protocols, CORS, DNS resolution, and reverse proxy basics. Follows team guidelines for configuring API routing, SSL termination, and debugging end-to-end network connectivity issues.
Additional skills
Not assessed by the team, but part of the self-assessment and the development plan.
What changes at Mid-level
65 skills get a higher expectation or become core when moving from Junior to Mid-level. The biggest jumps first.
- Micro Frontends: Awareness → Working · becomes core
- Algorithms & Complexity: Awareness → Working
- Async Programming: Awareness → Working
- Bundle Optimization: Awareness → Working
- Code Quality & Refactoring: Awareness → Working
- Component Testing: Awareness → Working
- Core Web Vitals: Awareness → Working
- Data Fetching: Awareness → Working
- Data Structures: Awareness → Working
- Design Patterns: Awareness → Working
} in the open competency matrix: 65 skills across 5 levels. The matrix is free for individuals and stays free.