This specialism course is focused on setting you up to land a Frontend Developer job. We go deeper into building frontend applications, design and popular frameworks that you'll meet in your career such as React.
| Name | Weeks |
|---|---|
| Collaboration via GitHub | 1 |
| Using AI in Development | 1 |
| Advanced JavaScript | 4 |
| React | 5 |
| Specialist Career Training | 2 |
| Agile Teamwork | 1 |
| Final Project | 5 |
Total: 19 weeks
- How to write a good commit message and submit easy to understand PRs
- Understand why we use branches and the different types
- Practice using branches and handling changes between local and remote
- Understand what a merge conflict is and how to resolve them
- How to save temporary changes without committing them (ie. git stash)
- How to "remove" commits using reset (soft vs hard), revert, cherry-pick and rebase
- Be prepared to collaborate successfully using GitHub on your final project
- How to use git tags and semantic versioning
- Know the main git workflows (feature-branch, gitflow, forking) and when to use each
- Use AI to support your development tasks such as refactoring and reviewing code.
- Explore prompting techniques to understand complex code, code snippets and tough technical concepts.
- Evaluate AI-generated code for correctness, expected outcomes, security and maintainability.
- Use AI to support learning new programming languages, frameworks and tools.
- Identify and integrate AI into appropriate parts of the software development workflow.
- Describe ethical, legal and risk considerations of using AI in professional software development.
- Explore the possible futures of how AI is changing the role and expectations of developers in the industry.
- Retrieve and work with data from remote servers
- Process and display complex data in user-friendly interfaces
- Create responsive web applications that react to user input
- Build complex websites in a scalable and maintainable way
- Understand when and why to use React to build modern web applications
- Build user interfaces using reusable, component-based architecture
- Manage data and interactivity using props, state, and hooks
- Handle user input, forms, and events in React applications
- Load and display data from external APIs
- Structure complex, multi-page applications with routing and shared state
- Understand what a Component Library is, along with the pros and cons
- Build, deploy, and share a production-ready React app using Next.js
⚠️ "Learning goals" section is empty inshared-modules/specialist-career-training
- Understand conceptual differences between Agile, Scrum & Kanban
- Understand what Scrum looks like in day to day life as a developer
- Understand how to interact with Scrum ceremonies (e.g. standup, planning, estimating/prioritising, retrospectives)
- Practice skills used by developers such as understanding requirements, breaking down technical tasks, and common workflows for reviewing, testing and deploying.
- Understand how these skills and practices impact and support agility
- Be able to organise a very well structured project in collaboration with other developers for the final project
- Collaborate effectively in a team setting
- Read and extend/improve other peoples code
- Give and receive constructive PR feedback
- Plan, communicate and coordinate technical tasks / solutions upfront before implementation
- Develop self-guided learning skills (e.g. learn to read documetation for a new tool or API)
- Interpret a problem statement and specs/wireframes/prototypes into buildable requirements
- Break down bigger problems into smaller, actionable written tasks
- Work in iterative sprints and achieve deadlines
- Ask for help effectively and at the right time (e.g. describing problems to mentors, asking online, and knowing the power and limitations of using AI)
- Deploy a completed project you are proud to showcase on your portfolio