This section specifies the list of technical skills expected from an A5 grade. To cover this knowledge please refer to this avaialble resources
- Extensive knowledge of HTML5 attributes/tags to structure a page appropriately (including semantic html)
- Have a extensive understanding of key Javascript concepts, including:
- Closures
- Functional programming
- Key ES6 syntax (spreading, destructuring, fat arrow, let, const, var, async/await/promises)
- Have a good understanding of testing
- TDD
- Jest
- Code coverage and unit tests coverages
- Have a good understanding of React + hooks + react-testing-library, and basic understanding or awareness of additional frameworks like Angular or VueJS.
- Basic knowledge or appreciation of Typescript
- Basic knowledge of document structure (mainly json)
- Have a good 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
- Good knowledge of building a Rest API (GET/POST/PUT/DELETE/UPDATE) using a Nodejs framework such as (Expressjs, Hapi)
- Basic knowledge of debugging NodeJs application using node inspect, reading logs, etc
- Writing tests and code coverage
- TDD
- Jest
- Code coverage and unit tests coverages (i.e. Instanbul)
- AWS Certified Cloud Practitioner Certification
- Attends monthly Experience Engineering meetups
- Contributes to monthly team meetups (as a speaker, host or organiser)
- Supports junior colleagues with their careers, as a reviewer
- Engages with reviewer at least once a month and sets up a career development plan
- Expands knowledge of specific topics
- Seeks out opportunities to enhance talents and 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
- Leads by example
- Initiates change
- Grows teams
- Understands what drives people
- Develops processes
- Starts leading teams and initiatives
- Mentors and coaches junior colleagues
- Effective pair programming with other developers, both 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 and fosters an environment of teamwork and cooperation instead
- Has awareness of team morale and can take steps to improve morale
- Has positive impact on team productivity
- Understands when to get support
- Takes initiative to find and fix defects
- Able to delegate
- Estimates size and scope of deliverables effectively
- Contributes to code reviews
- Understands how value is delivered on a project
- Has thorough Agile knowledge