Frontend
Senior developer expectations
This is a non-exhaustive list but outlines some key areas a senior Frontend developer should have work experience in or have a strong understanding of:
- Arrow functions vs normal functions
- Modules
- using Module.export and exports
- understading the difference between both
- Ecma module system
- Asynchronous programming: blocking vs non-blocking code
- Promises
- Callbacks
async
/await
- TypeScript
- TypeScript Utilities
- Generics in typescript
- Node.js architecture
- V8 engine
- event queue
- event loop
- thread pool
- garbage collector
- memory management
- Handling callback hell
- Event driven programming model
- Authentication & authorization
- Debugging frontend applications
- Dev tools, Redux dev tools, React dev tools, etc.
- Testing React applications
- Jest
- React Testing Library
- Faker
- Mock Service Worker
- Other testing libraries
- Object
- Object deconstruction and implications
- Object spread operator
- Object.assign
- Object.freeze
- deletions
- Use of
ENV
variables this
objectsetImmediate
vsprocess.nextTick
vssetTimeout(fn, 0)
. Link- Handling JWTs tokens
- Handling CORS
- Frontend Architectures
- Push vs pull
- MVC
- Flux
- MVVM
- Websockets and real-time communication
- Package managers
- NPM
- Yarn
- PNPM
- Understand their differences
- Deployment and DevOps:
- Containerization with Docker
- CI/CD: Github actions, AWS Codepipeline
- Monitoring and logging in production
- New Relic
- Datadog
- Sentry
- Server Side Rendering (SSR)
- Static Site Generators
- State management in React
- Redux
- Context API
- Apollo
- Recoil
- Zustand
- etc
- Caching
- Browser cache
- Server response cache
- CDN cache
- etc
- API State management
- Tanstack Query
- RTK Query
- Zustand
- etc
- Asset bundlers
- Webpack
- Rollup
- Vite
- NextJS
- Turbopack
- Preprocessors and compilers
- Babel
- TypeScript
- SASS
- LESS
- Stylus
- PostCSS
- Frameworks and their difference on how they manage state and rerenders.
- React
- React Native
- Vue
- Angular
- Svelte
- Canvas
- Web workers
- WebRTC
- WebAssembly
- Web Components
- Atomic Design
- CSS
- CSS Animations
- CSS in JS
- CSS modules
- Styled components
- CSS frameworks
- Bootstrap
- Tailwind
- Material UI
- etc