This section specifies the list of technical skills expected from an A3 grade. To cover this knowledge please refer to this avaialble resources
-
Have a good understanding of HTML:
- Anatomy
- Structure
- HTML elements
- Difference between block level elements and inline elements
- HTML Styles
- Semantic HTML
- Creating Lists
- Including Images
- Displaying Data with Tables
- Linking Documents
- HTML Entities
- HTML Uniform Resource Locators
- HTML Forms
- HTML media
-
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
-
Horizontal & Vertical Align
-
CSS Outline
-
CSS Layout - The position Property
-
The z-index Property
-
Flexbox
-
-
Have a good understanding of CSS popular Framework/library (i.e. Bootstrap, MaterialUI):
- Grids and responsive design
- CSS and JavaScript components
- CSS preprocessors (i.e. scss/sass/less)
- 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 key array Methods (e.g. map, reduce, filter)
-
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
-
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
- Attends monthly Experience Engineering meetups
- 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
- 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
- Understanding processes
- 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
- 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
- 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
- Understands when to get support
- Shows initiative
- Improves accuracy for estimating size and scope of deliverables
- Participates in code reviews
- Understands how value is delivered on a project
- Has good Agile knowledge