Technical requirements

required technical skills for L3 level

  • Language (Javascript, Typescript, Flow, ...)

    • JS Core at Advanced level (Intermediate for Front-End discipline)

    • Knowing the pros and cons of using TypeScript/Flow on the project

    • Advanced level of HTML, CSS

    • Has at least one skill at Advanced or Expert level in UPSA profile related to a candidate's primary technology stack

  • Computer science fundamentals

    At least Intermediate level:

    • Basic operations: sort, map, filter, reduce

    • Algorithms complexity basics (O(1), O(N), ...)

    • Data structures: array, stack, queue, linked-list, tree, hash table (map), set

  • Programming Paradigms (OOP, FP, FRP)

    • Has Intermediate knowledge of OOP

    • Understands main concepts of FP/FRP

    • Able to compare OOP/FP/FRP, mention pros/cons

    • OOP

      • Encapsulation

      • Abstraction

      • Inheritance

      • Polymorphism

      • Dependency injection

      • SOLID

    • FP

      • Pure functions

      • Immutability

      • Functions as first-class entities

      • Functions composition

      • High order functions

      • Recursion

      • Currying/Memoization

  • Communication protocols

    Intermediate knowledge of:

    • HTTP vs HTTPS vs HTTP/2

    • WS vs Poling

    • RESTful API

    Nice to have:

    • RPC (JSON RPC)

    • GraphQL

  • Security (XSS, CSP, SQL injections, OWASP Top 10, CORS, CSRF, Auth)

    • At least basic knowledge of different security issues and possible protections

    • XSS

    • CORS

    • SQL injections

    • Auth (JWT, OAuth, Basic, etc.) [at least on current/previous project]

    Nice to have:

    • CSP

    • CSRF

  • Performance

    Intermediate knowledge and experience of performance optimizations.

    • JavaScript Profiling and Debugging

    • Network Optimizations

    • JavaScript Performance Optimization Techniques

    • Memory Leaks (detection tools and prevention)

    • JavaScript Obfuscation and Minification

    • Framework optimization techniques (Angular, React, or others)

    • Critical Rendering Path

    • Repaint Reflow Understanding

    • RAIL

    • SVG vs canvas (with prior experience)

  • Browser API

    Intermediate understanding of:

    • Browser API (Console, Fetch, Storage, History)

    • BOM, DOM, CSSOM

  • Tools (NPM, Webpack, Chrome DevTools, ...)

    • Intermediate knowledge of build tools (webpack / rollup / gulp) and ability to setup it on new project

    • Advanced knowledge of package managers (npm / yarn)

    • Advanced knowledge of browser tools for project needs (Chrome DevTools).

  • CSS Fundamentals

    Advanced knowledge of:

    • CSS fundamentals (colors, fonts, box-model, ...)

    • CSS positioning and layout (Flex/Grid/Table/...)

    • Intermediate level of knowledge at analyzing and solving browser compatibility challenges

  • CSS (Pre/Post)processors

    • Advanced knowledge of at least one CSS pre-/post-processor (LESS, SASS/SCSS, Stylus, PostCSS)

  • CSS Methodologies

    • Advanced knowledge of at least one methodology: BEM, OOCSS, SMACSS, ITCSS, Atomic CSS

    • Able to compare methodologies mentioned above

    • Understanding of CSS-in-JS, CSS Modules

  • CSS Frameworks

    • Advanced knowledge of at least one CSS framework (Bootstrap, Foundation, Semantic UI, Bulma, etc.)

    • Able to compare some of them (pros/cons)

  • Responsive design

    Intermediate understanding of:

    • Responsive web application development using CSS media queries

    • Responsive vs Adaptive design, Mobile First approach

    • Progressive Enhancement & Graceful Degradation approaches

    • User Interface/User Experience

  • Web Animations

    • Able to implement animations via CSS and JS

    • Intermediate understanding pros/cons of animation via CSS or JS

  • Web Accessibility

    Intermediate understanding of:

    • a11y specifications

    • Semantic markup

    • services to check color-contrast

    • WAI-ARIA Authoring Practices

    • Section 508

    • Accessibility in JavaScript

  • PWA & AMP

    Intermediate understanding of:

    • Progressive Web Application

    • Accelerated Mobile Pages

    • Web manifest

  • SPA vs MPA

    • Intermediate understanding what are SPA and MPA applications, their pros/cons

    • At least basic understanding of SSR

  • Frameworks and Tools

    Advanced level of at least one:

    • for JS: (React, Angular, Vue, React Native, ...)

    • for FE: (CSS Frameworks)

    At least basic understanding of:

    • pros and cons of one more CMS / JS framework / CSS framework from the primary stack

    • different approaches how to organize modularity, state management and code reuse on the project

  • T-Shape Skills

    Will be a plus (for JS and FE disciplines):

    • Back-End development (NodeJS, C#, Java, ...)

    • Clouds (AWS, GCP, Azure, ...)

    • Automated testing (E2E)

    • DevOps

    • Mobile

    • Databases and Message queues

Last updated

Was this helpful?