This section specifies the list of technical skills expected from an A3 grade. To cover this knowledge please refer to this avaialble resources
-
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
- 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
- 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
- Initiating change
- Understanding what drives people
- Develops 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
- Able to demo work to technical and non-technical audience
- 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
- Takes initiative to find and report defects
- Estimates size and scope of deliverables effectively
- Contributes to code reviews
- Understands how value is delivered on a project
- Has thorough Agile knowledge