Skip to content

Latest commit

 

History

History
134 lines (115 loc) · 4.29 KB

A4.md

File metadata and controls

134 lines (115 loc) · 4.29 KB

This section specifies the list of technical skills expected from an A3 grade. To cover this knowledge please refer to this avaialble resources

Frontend

  • Knowing the HTML5 attributes/tags to structure a page appropriately (semantic html)

  • Have a good understanding of CSS:

    • Selectors
    • Creating Style Rules
    • Styling Text
    • Sizing Elements
    • Color Values(HSL/RGBA/HSLA)
    • Backgrounds
    • Borders
    • Margins
    • Padding
    • Height, Width and Max-width
    • Box Model
    • CSS Outline
    • CSS Layout - The position Property
    • he z-index Property
    • Horizontal & Vertical Align
    • Flexbox
    • Rounded Corners
    • Gradients
    • Shadow Effects
    • 2D Transforms
    • 3D Transforms
    • Transitions
    • Grid
  • Have a good understanding of CSS Framework/library (i.e. Bootstrap, MaterialUI):

    • Grids and responsive design
    • CSS and JavaScript components
    • CSS preprocessors (i.e. scss/sass/less)
    • Horizontal & Vertical Align
    • Flexbox
  • Have a good understanding of Javascript

    • HTML DOM manipulation using JavaScript

    • Data Types

    • Difference between const and let and their usage

    • How to use and create JavaScript Functions

    • Objects

    • Array and how to use array Methods

    • How to use sets and maps

    • Callbacks.

    • What is asynchronous in javascript

    • JavaScript Promises

    • JavaScript Async

    • Error handling

  • Basic knowledge of OOP key concepts

    • Classes
    • Inheritance
  • Have a good understanding of Reactjs:

    • Class component life cycle (only introduction given most of the react paradigms are moving to functional components)
    • Functional component
    • React state managment - (local state i.e. useState)
    • Building content with JSX
    • Communicating with props
    • Handling user inputs with forms and events
    • Making API requests with React (i.e. fetch, axios)
    • React hooks:
      • useState
      • useEffect
      • useRef
  • React Routing

  • State management (e.g. Context API, Redux, Redux Dev Tools)*

  • Error handling

  • Have good understanding of TDD:

    • Core concepts
    • Existing Types of Testing and the Powerful Assert Statement
    • Automated Unit Testing Basics
    • Unit Testing best practices
    • Writing Tests for TDD
    • The Red-Green-Refactor cycle in practice
    • The concept of mocking
    • Best practices of test-driven
    • How to update unit test after refactoring legacy code bases
    • Understand the concept of continue integration

Backend

  • Have basic understanding and working with NodeJS
    • Building a basic app with a node framework (Express, Hapi, etc)
    • Building a basic REST API with node framework (Express, Hapi, etc)
    • Persist data with DB (e.g. MongoDB, Firestore)
    • Error handling

Practice

  • Attends monthly Experience Engineering meetups

Self development

  • Engage with reviewer at least once a month and set up a career development plan
  • Identify relevant skills that can be improved with additional training

Leadership skills

  • Able to demonstrate problem solving skills, identify and communicate problems with the product team and process, e.g. raise a concern about inefficient standups at the retro
  • Leading by example
  • Initiating change
  • Understanding what drives people
  • Develops processes

Mentorship skills

  • Mentors and coaches junior colleagues
  • Effective pair programming with other developers, more junior and more senior
  • Supports onboarding of new team members to Experience Engineering team and project team

Communication skills

  • Good written and spoken communication
  • Proactive communicator
  • Able to ask for help when needed
  • Communicates with peers effectively and in a timely manner
  • Can explain work to peers and non-technical stakeholders
  • Able to demo work to technical and non-technical audience

Team skills

  • Displays empathy towards colleagues, e.g. checks in with a colleague who may be struggling, or, give unprompted positive feedback to a colleague
  • Avoids blame
  • Has awareness of team morale

Delivery skills

  • Understands when to get support
  • Takes initiative to find and report defects
  • Estimates size and scope of deliverables effectively
  • Contributes to code reviews

Business knowledge

  • Understands how value is delivered on a project
  • Has thorough Agile knowledge