Software Developer

Why a Software Developer Firebrand Apprenticeship?

Employers need Software Developer apprenticeships because...


  • Apprenticeships deliver the digital skills you need across your organisation. Whether it's hiring more skilled employees or improving the quality of existing staff's technical know-how, Firebrand’s apprenticeships bring new skills into the workplace quickly
  • Your people will engage with your business. Apprenticeships accelerate the speed and quality of key business projects by increasing the number of staff with skills to deliver them. Apprentices see they're making a difference, making them want to stay at their company for longer
  • Apprentices want to learn more. Your digital workforce need to be ready to keep up with the pace of technology change. A recent Government survey found 73% of digital apprentices plan to undertake further study within three years

Apprentices need Software Developer apprenticeships because...

  • You'll be ready for anything. IT apprenticeships teach and test the core skills that enable you to work effectively across a range of products. Once you've mastered the main concepts, you’ll extend your skills in current and future technologies used at work.
  • It makes you better at your job. Firebrand's programme helps you develop new knowledge about your job, gain new skills and embed new behaviours to help you make a greater contribution to your employer.
  • It's valued by your industry. More and more employers are recognising the value apprentices bring to their organisation. An apprenticeship badges you as a forward-thinking, highly skilled individual who is willing to keep learning - all key traits employers want to see in their digital staff

Firebrand's Software Developer apprenticeship delivers...

  • Industry-recognised quality. Our apprenticeships combine the core digital skills businesses need with the product knowledge learners want, giving apprentices a strong technical grounding and making them instantly productive
  • The skills you want. Customise programmes by adding product training and certification for apprentices to support business needs. Firebrand's programmes teach apprentices as much about successful application of systems as they do about mastering functionality
  • Great results. Firebrand's training delivers some of the best results in the sector - over 90% retention for the past two years, a 95% pass rate across all standards (national average 90%) and 46% of apprentices achieving Distinction (national average 30%).

What is a Software Developer Firebrand Apprenticeship?

How will apprentices learn?

Firebrand's apprenticeship training is delivered through a combination of market-leading residential training, online learning and targeted support from our in-house subject experts:

Residential Training

A suite of Firebrand's proprietary training courses, delivered at our state-of-the-art facility in Wyboston Lakes, Bedfordshire. Courses cover all requirements of the knowledge modules for the standard, ensuring a strong grounding in the core skills of the role.

Once all knowledge exams are complete, apprentices will have the opportunity to undertake a course of their choice, providing additional depth of knowledge and (where applicable) professional certification.

Subject Matter Experts

Firebrand's resident authorities on all areas of the IT industry will host subject-specific webinars, advise on project development and provide additional live learning and masterclasses to support all levels of learning. This gives apprentices the additional knowledge and insight needed to turn a passing grade into a Merit or Distinction.

Personal Development, Behaviour and Attitudes

We support the personal development, behaviour and welfare of all apprentices through accredited online programme Impact. This video-led modular course will help apprentices develop their awareness and understanding of challenges they may encounter in the workplace and wider society. Learning content is linked to current events to provide real-world context. On completion of Impact, apprentices receive certification that contributes to their summative portfolio of evidence, showing how they have fulfilled key behavioural development criteria of the standard.


When not undertaking formal training, apprentices will be learning at work, applying their skills to business-specific projects and gaining a deeper appreciation of their role and business through off-the-job activity. They also undertake a six-month professional behavioural programme, Impact.

What's the process?

  • Onboarding activity – supported by our Enrolment and Administration Teams, apprentices and employers will undergo all necessary checks to ensure the apprentice can succeed on programme
  • First Day of Learning webinar – this online session, led by a Learning Mentor, outlines the apprentice's journey from initial meeting to End Point Assessment and the expectations of all parties involved
  • Learning Journey – the apprentice undertakes formal and informal learning over 13 months, covering, applying and recording all the competencies required to pass their apprenticeship. Residential training, online learning and Subject Matter Expert sessions will be spaced regularly, giving apprentices time to apply one skillset effectively before learning another. Progress is reviewed during formal sessions approximately every 8 weeks.
  • End Point Assessment – the final review, conducted by an independent body, of whether the apprentice has met all the competencies required to pass the standard. This includes a reference from the employer, portfolio of evidence, synoptic project and final interview with an assessor. End Point Assessment activities are completed over approximately 12 weeks.

Who's on hand to help?

Firebrand provide wrap-round support to ensure apprentices' technical, learning and personal needs are met. Every apprentice is supported throughout their qualification by a Learning Mentor, a former industry professional who understands exactly what it's like to work in the sector and can advise on how to evidence the required knowledge, skills and behaviours through the work apprentices do every day. Our Course Instructors deliver residential training, while in-depth information on subject-specific topics and industry insight is provided by Subject Matter Experts.

What happens at the end?

An apprenticeship is a recognised benchmark of skills and knowledge that allows an apprentice to:

  • Acquire professional accreditation (e.g. BCS Register of IT Technicians (RITTech))
  • Continue their apprenticeship studies at a higher level
  • Undertake further professional training to develop additional product knowledge and skills. Visit Firebrand's commercial training pages for details of how our accelerated training could support life after an apprenticeship.

Become an IT apprentice employer now

Reviews of Firebrand Apprenticeships

Feedback shows our approach is delivering the tangible benefits outlined above for both employers and apprentices. We are proud to work with and receive great recognition from our customers. Today we're actively helping employers and apprentices acquire better skills, be more engaged and make clear contributions to their business outcomes.

Apprenticeships deliver new skills…

The best thing about my apprenticeship? Seeing the progression from how you were when you started. Working on the job, you’re gaining skills constantly – you look at how far you’ve come and what you can do now. Level 4 Software Developer apprentice

A real-world approach delivers results…

My first cohort delivered a presentation on their live project to a local MP who came in, and he was blown away by the work these apprentices were doing, given that some of them hadn't coded up until that point. This was quite early on in their apprenticeship, month 4 or 5. They had more confidence than more experienced employees and they had a much more natural pattern than other people who have been here years. That was a bit of a light bulb moment, seeing what they could achieveLine Manager, Transport for London

Hiring apprentices promotes retention…

With graduates, they come in sometimes and they just want to keep moving on to the next thing, gaining promotion after promotion. coming in at a younger age and gaining the skills within the team means he’s settled with us and hopefully we’ll get to keep him a lot longer. Team Manager, Lloyds Banking Group

Firebrand’s people know the industry inside out…

The instructors on the courses are all excellent and brilliant. They have so much experience behind them. Not only are you learning on the job, you’re listening to them and their personal experiences which are always so interesting. Level 3 Infrastructure Technician apprentice

Training for the industry is better than training to the minimum requirement…

I saw some of the work that came out of [my apprentice’s] Java course, which was very good; exactly what we needed from him. He probably picked up a few things that he won’t be using day to day, but it gives him that extra depth of knowledge which makes him more confident when he comes to use the technology. Line Manager, Lloyds Banking Group

Apprenticeships train engaged people with the right skills…

Ultimately, one of the big reasons we're doing apprenticeships is to home-grow the exact kind of person we want, with the exact kind of skills. The more effort you put in…the more likely you are to get the kind of person you know will then be able to go anywhere within your organisation. Line Manager, Transport for London

Daniel is currently on his level 4 Network Engineer apprenticeship with Firebrand, and is due to complete his programme in 2018:

Software Developer Overview

Software Developer apprentices are taught how to build and test simple, high-quality code across front end, logic and database layers. They'll be able to interpret design documentation and specifications.

To achieve their Software Developer apprenticeship, apprentices must:

  • Demonstrate competence against two knowledge modules: Software Development Methodologies and Software Language. These are assessed by examinations set by the British Computer Society and regulated by Ofqual. Apprentices must pass both modules.
  • Submit a portfolio of evidence showing how they have applied the knowledge from these modules to projects and activities in their workplace.
  • Complete their formal End Point Assessment, which comprises: a synoptic project to showcase knowledge and skills from across the apprenticeship; a review of their portfolio of evidence; and a final interview with an independent EPA assessor.

Successful Software Developer apprentices go on into roles such as a Web Developer, Application Developer, Mobile App Developer, Games Developer and Software Developer.

Technical Competencies

Upon completion of their Software Developer apprenticeship, individuals will be able to:

  • write good quality code (logic) with sound syntax in at least one language
  • develop effective user interfaces for at least one channel
  • effectively link code to the database/data sets
  • test code and analyse results to correct errors found using either V-model manual testing and/or using unit testing
  • apply structured techniques to problem solving, can debug code and can understand the structure of programmes in order to identify and resolve issues
  • create simple data models and software designs to effectively communicate understanding of the program, following best practices and standards
  • understand and create basic analysis artefacts, such as user cases and/or user stories
  • understand and utilise skills to build, manage and deploy code into enterprise environments
  • operate at all stages of the software development lifecycle, with increasing breadth and depth over time with initial focus on build and test.
  • apply good practice approaches according to the relevant paradigm (for example object oriented, event driven or procedural)
  • interpret and follow:
    • software designs and functional/technical specifications
    • company defined coding standards or industry good practice for coding
    • testing frameworks and methodologies
    • company, team or client approaches to continuous integration, version and source control
  • respond to the business environment and business issues related to software development
  • operate effectively in their own business', their customers' and the industry's environments
  • apply the maths required to be a software developer (e.g. algorithms, logic and data structures)

Technical Knowledge and Understanding

Upon completion of their Network Engineer apprenticeship, individuals will understand:

  • and operate at all stages of the software development lifecycle
  • the similarities and differences (taking into account positives and negatives of both approaches) between agile and waterfall software development methodologies
  • how teams work effectively to produce software and contributes appropriately
  • and apply software design approaches and patterns and can interpret and implement a given design, compliant with security and maintainability requirements
  • and respond to the business environment and business issues related to software development
  • and apply the maths required to be a software developer (eg algorithms, logic and data structures)

Underpinning Skills, Attitudes and Behaviours

  • logical and creative thinking skills
  • analytical and problem solving skills
  • ability to work independently and to take responsibility
  • can use own initiative
  • a thorough and organised approach
  • ability to work with a range of internal and external people
  • ability to communicate effectively in a variety of situations
  • maintain productive, professional and secure working environment

Qualifications

Apprentices will achieve one BCS Knowledge model and one vendor qualification.

Funding

£18,000

Level

This is a level 4 apprenticeship.

Professional Recognition

This apprenticeship is recognised for entry onto the register of IT technicians confirming SFIA level 3 professional competence and those completing the apprenticeship are eligible to apply for registration.

Duration

The duration of this Firebrand apprenticeship is 13 months. We recommend that apprentices are employed for a minimum of 16 months to ensure that their employment covers the End Point Assessment.

Registration to the Register of IT Technicians (RITTech)

Once apprentices have completed their apprenticeship they are officially recognised by the British Computer Society (BCS) for entry onto the Register of IT Technicians, confirming SFIA level 3 professional competence.

Read more...

Interested? Complete this form.

What are the benefits of a Software Developer apprenticeship?

Firebrand’s digital apprenticeships deliver new skills while supporting both the individual and their employer. Benefit from award-winning training supported by on-going guidance along the way with digital apprenticeships that create valuable, long-lasting employees.

Benefits to employers

Improved retention rate - 69% of companies say digital apprenticeships improve retention*. Apprentices are completely engaged by employers, knowing they’re highly valued employees. Employees find themselves in a marketplace where their hard-won digital skills are highly valuable and in demand.

Always learning - 73% of digital apprentices expect to undertake further study within two to three years*. With increasing digital transformation, apprentices continue to master new technologies and processes. Having digital workers that are focused on developing their skills will better position businesses around new technologies, like updated cloud platforms.

Tailor your training - Get business-specific skills alongside apprenticeship requirements. The flexibility of Firebrand’s delivery allows employers to select training options that align most closely with the existing technology stack to work on current projects. Where applicable, employers can embed specific vendor products, like Microsoft, into apprenticeships to deliver a greater depth of learning.

Happier employees - Apprentices feel valued with their new digital skills. 78% of digital apprentices reported improved job satisfaction, job security and career prospects*.This satisfaction increases productivity and happiness in the workplace, benefitting employers by increasing employee engagement.

Networking and peer learning - Firebrand’s residential training centre delivers award-winning public courses to industry professionals. Learning takes place alongside individuals from different organisations with varying levels of experience. Apprentices benefit from receiving a valuable insight into how their skills are applied in different contexts.

Watch the video below to see how Firebrand's digital apprenticeships help employers hire and train current and future staff:



Benefits to apprentices

Real world skills - Apprentices benefit from learning up-to-date digital skills in a time of rapid digitalisation. They develop technical knowledge and industry insight through practical learning and real life application. Become an expert in different technologies and a valuable asset to the team.

Investment in your career - Digital apprenticeships are a career investment – with Firebrand you’re committing to the highest quality IT training. This investment is the first step toward a rewarding future with an employer as they commit time and money in the learner's skills development. Digital apprentices feel so valued in their workplace that 89% of them said that they want to stay at the same employer for the next two to three years*.

Learn while at work - An apprenticeship combines a full-time job with formal learning. New and existing staff can benefit from the opportunity to learn while continuing to work, getting new skills without having to study on evenings or weekends.

Support a career change - Digital apprenticeships provide the skills to move into new IT roles, giving more control of the learner's digital career path. Move seamlessly between roles in an organisation without experience of a particular field, or using experience of other digital roles in a related field.

Never forget again - Digital apprenticeships reinforce learning. They’re built on the principle of learning and immediately using skills that will help apprentices do their job better. Quality programmes incorporate structured training and project activity to apply and demonstrate new skills. 90% of regular learning is forgotten within 3 to 6 days, unless it’s regularly reinforced. Firebrand’s training style helps gain skills more quickly, retaining and using them more effectively.

Watch the video below to find out how digital apprenticeships with Firebrand can kickstart careers:


*according to the 2017 Apprenticeships Evaluation for the Department for Education

Read more...

Interested? Complete this form.

Software Developer curriculum

Firebrand’s apprenticeship programme covers all mandatory knowledge and skills outlined in the apprenticeship standard. Every Firebrand apprentice attends a suite of market-leading training programmes, to cover knowledge required from the apprenticeship standard. This training is then fleshed out through a package of selected online learning, which also allows apprentices to explore any topics of particular interest/importance to them in greater depth.

How are apprentices taught?

Apprentices receive a range of market-leading training as part of their qualification – typically between three and five courses per apprenticeship - giving them fundamental skills at speed.

We'll deliver all the knowledge apprentices need to learn for each knowledge module in the Standard through our Lecture | Lab | Review delivery. Apprentices then attend a Syllabus Review Session to cover the knowledge content covered in the apprenticeship standard.

The information below outlines the training curriculum delivered for each Knowledge Module through Firebrand's residential classroom-based training and online learning modules.


Knowledge Module 1: Software Development Methodologies

Upon completion of this Knowledge Module, Software Developer apprentices will:

  • Understand and apply software design approaches and patterns and can interpret and implement a given design, compliant with security and maintainability requirements
  • Understand and apply the maths required to be a software developer (e.g. algorithms, logic and data structures)

Read through the full curriculum for Firebrand's classroom-based training and supporting online learning modules below.

Topic 1: Understand the software development lifecycle

Learners will understand that software development does not occur in isolation. Learners will gain an understanding of the stages in the lifecycle of software development and how these stages are likely to be performed by professionals in related disciplines. In particular learners will understand that core function of a software developer is to implement code to a given specification which will fulfil a set of functional requirements.

1.1 The role and scope of software development and its relationship to other associated disciplines

  • Describe the stages of developing software products through a development lifecycle:
  • Requirements gathering and analysis (separating functional and non-functional requirements)
  • Software design and prototyping including design trade-offs and diagramming
  • Choice of development languages and tools
  • Appropriate testing methodologies including validation and verification of meeting the requirements gathered
  • Deployment into production and ongoing maintenance
  • Describe the relationship of software development with other disciplines such as project management, programming, testing, service management, change and configuration management

Learners will understand why it is important for software to be implemented using a structured software development methodology and the benefits of following the chosen method. Learners will be able to discuss why these benefits are important to other professionals such as project managers, and to the sponsors of the software development project, and for those who will support the software once it is has been deployed.

1.2 Explain the importance of the following in a procedural (Linear) /staged (Iterative) software development lifecycle, e.g.:

  • Standardisation
  • Methodical approach
  • Analysis of each step
  • Collation of information
  • Ensuring correct design
  • Cost control
  • Robust evaluation to aid future development

Topic 2: Understand the similarities and differences between two software developments methodologies in common use in industry

In this topic, learners will learn to describe the advantages and disadvantages of at least two software development methodologies in common use in industry. In comparing these methods, learners will be able to explain when a particular method would be preferable for a specific software implementation projects, and what the consequences of choosing the wrong method might be. The learner will also be able to describe the different team roles and responsibilities of at least two methods.

2.1 Summarise software development methodologies, application, advantages and disadvantages.

  • Principles and rationale
  • Structure and stages
  • Advantages
  • Disadvantages
  • Selection criteria
  • Team roles and responsibilities

Learners will learn the specific differences between at least two common industry software development methodologies. Learners will learn that different methods related to wider business issues beyond the scope of software implementation such as the focus on working product (Agile) over completeness of process (Waterfall).

2.2 Compare and contrast software development methodologies

  • Differences e.g. :
  • Structure
  • Phases with completion of each phase prior to moving onto the next phase of the cycle
  • Agile: Ability to work with uncertainty and volatility and focus on working products
  • Comparison e.g.:
  • Individuals and interactions over processes and tools
  • Working products over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan
  • Agile recognises that while there is value in processes and tools, there is often more value in individuals and interactions

Topic 3: Understand how to respond appropriately to the business environment and business issues related to software development

Learners will understand that software development typically takes place in a wider business which places constraints upon the software development process. The learner will be able to explain the types of constraints that may typically arise, and how they can be mitigated.

3.1 Describe the business environment related to software development

  • Business environment pressures:
  • Are there any specific project requirements such as contractual constraints – time, cost, quality, compliance, regulatory, innovation criteria?
  • Are there configuration management and change control constraints?
  • Are there opportunities to promote alternative practices – Agile over waterfall, rapid prototyping, modularity over performance

Learners will learn how to describe the business issues related to software development and how to mitigate them. In particular, learners will understand the importance of engaging with project management as business owners of the software development project.

3.2 Understand how to respond to the business environment and business issues related to software development

  • Engagement with project management:
  • Understand how to identify potential risks and flag them
  • Understand how to identify where additional technical resource will be required
  • Support effective cost estimation
  • Accurately Forecast effort (time) required

Topic 4: Understand why teams must work effectively to produce software

Learners will learn to explain a range of common roles found within an industry software development function. One person may hold multiple roles within an organisation. Core functions of business analysis, software design, software implementation, testing and architecture will be discussed.

4.1 Describe the roles and responsibilities within the software development and implementation lifecycle

Business analysts

  • Requirements analysis and capture
  • Resource estimation and planning
  • Requirements validation (including scope, documenting assumptions and exclusions)
  • Requirements engineering
  • Requirements tracking
  • Separation of functional and non-functional requirements
  • Specification development

Designers - Design a software model that fulfil the specifications:

  • Refinements of specifications
  • Use of diagramming tools
  • Use of formal and mathematical specification approaches
  • Choice of system architectures
  • Different design approaches and trade-offs such as, but not limited to: modularity v. performance
  • Choice of structured design
  • Documentation of design

Developers

  • Implementation choices – development language and tools
  • Debugging methods
  • Performance measurement
  • Validation and verification – ensuring the code meets the design specification

Testers

  • Quality assurance
  • Black-box and white-box testing
  • Formal proof models
  • Static and dynamic analysis tools

Technical architects

  • Deployment choices and architectures
  • Configuration management and change control

Learners will learn that software development in industry is seldom an individual effort and that to be an effective software development professional, it is important to work as a member of a development team. This will require the learner to understand the wider business context and how they can engage with it through their peers and managers.

4.2 The importance of working as a member of an effective development team

Describe how key roles and responsibilities can be used to form teams. Key Roles e.g.

  • Project manager
  • Business analysts
  • Designers
  • Developers
  • Testers
  • Technical architects

Describe factors that influence effective team working and their importance including internal and external factors e.g.:

  • Communication
  • Composition
  • Interpersonal relationships
  • Maturity of the team
  • Skill set
  • Leadership style
  • Resources
  • Climate and environment of the organisation
  • Sponsor
  • Software Process Management (3h 43minutes)*
  • Secure Software Development (3h 15minutes)*
  • Design Patterns (3h 13minutes)*
  • Clean Architecture: Patterns, Practices and Principles (2h 12minutes)*

Total time: 12 hours 23 minutes

*Preparation for Accelerated Learning Classroom attendance/experience


Knowledge Module 2: Software Language

Upon completion of this Knowledge Module, Software Developer apprentices will:

  • Understand and can operate at all stages of the software development lifecycle
  • Understand the similarities and differences (taking into account positives and negatives of both approaches) between agile and waterfall software development methodologies
  • Understand how teams work effectively to produce software and contributes appropriately

Read through the full curriculum for Firebrand's classroom-based training and supporting online learning modules below.

Programming in C#

  • Reviewing C# Syntax
  • Create Methods, Handle Exceptions, and Monitor Applications
  • Develop the Code for a Graphical Application
  • Create Classes and Implement Type-safe Collections
  • Create a Class Hierarchy by Using Inheritance
  • Read and Write Local Data
  • Access a Database
  • Access Remote Data
  • Design the User Interface for a Graphical Application
  • Improve Application Performance and Responsiveness
  • Integrate with Unmanaged Code
  • Create Reusable Types and Assemblies
  • Encrypt and Decrypt Data

MOC 20480C: Programming in HTML5 with JavaScript and CSS3

Module 1: Overview of HTML and CSS

This module reviews the basics of HTML and CSS, and introduces the tools that this course uses to create HTML pages and style sheets.

Lessons

  • Overview of HTML
  • Overview of CSS
  • Creating a Web Application by Using Visual Studio 2017

Lab: Exploring the Contoso Conference Application

  • Exploring the Contoso Conference Application
  • Examining and Modifying the Contoso Conference Application

After completing this module, students will be able to:

  • Explain how to use HTML elements and attributes to lay out a web page.
  • Explain how to use CSS to apply basic styling to a web page.
  • Describe the tools that Microsoft Visual Studio provides for building web applications.

Module 2: Creating and Styling HTML Pages

This module introduces HTML5, describes its new features, demonstrates how to present content by using the new features in HTML5, and how to style this content by using CSS.

Lessons

  • Creating an HTML5 Page
  • Styling an HTML5 Page

Lab: Creating and Styling HTML5 Pages

  • Creating HTML5 Pages
  • Styling HTML pages

After completing this module, students will be able to:

  • Describe the purpose of and new features in HTML5, and explain how to use new HTML5 elements to lay out a web page.
  • Explain how to use CSS to style the layout, text, and background of a web page.

Module 3: Introduction to JavaScript

This module introduces JavaScript programming and DOM.

Lessons

  • Overview of JavaScript
  • Introduction to the Document Object Model

Lab: Displaying Data and Handling Events by Using JavaScript.

  • Displaying Data Programmatically
  • Handling Events

After completing this module, students will be able to:

  • Describe basic JavaScript syntax
  • Write JavaScript code that uses the DOM to alter and retrieve info from a web page

Module 4: Creating Forms to Collect and Validate User Input

In this module, you will learn how to define input forms by using the new input types available in HTML5. You will also see how to validate data by using HTML5 attributes. Finally, you will learn how to perform extended input validation by using JavaScript code, and how to provide feedback to users when their input is not valid or does not match the application’s expectations.

Lessons

  • Creating HTML5 Forms
  • Validating User Input by Using HTML5 Attributes
  • Validating User Input by Using JavaScript

Lab: Creating a Form and Validating User Input

  • Creating a Form and Validating User Input by Using HTML5 Attributes
  • Validating User Input by Using JavaScript

After completing this module, students will be able to:

  • Create input forms by using HTML5
  • Use HTML5 form attributes to validate data
  • Write JavaScript code to perform validation tasks that cannot easily be implemented by using HTML5 attributes

Module 5: Communicating with a Remote Server

In this module, you will learn how to access a web service by using JavaScript code and to incorporate remote data into your web applications.

Lessons

  • Async programming in JavaScript
  • Sending and Receiving Data by Using the XMLHttpRequest Object
  • Sending and Receiving Data by Using the Fetch API

Lab: Communicating with a Remote Data Source

  • Retrieving Data
  • Serialising and Transmitting Data
  • Refactoring the Code by Using the jQuery ajax Method

After completing this module, students will be able to:

  • Handle asynchronous JavaScript tasks using the new async programing technologies
  • Send data to a web service and receive data from a web service by using an XMLHttpRequest object
  • Send data to a web service and receive data from a web service by using the Fetch API

Module 6: Styling HTML5 by Using CSS3

In this module, you will examine the properties and values defined in several of these modules, the new selectors defined in CSS3, and the use of pseudo-classes and pseudo-elements to refine those selections.

Lessons

  • Styling Text by Using CSS3
  • Styling Block Elements
  • Pseudo-Classes and Pseudo-Elements
  • Enhancing Graphical Effects by Using CSS3

Lab: Styling Text and Block Elements by Using CSS3

  • Styling the Navigation Bar
  • Styling the Register Link
  • Styling the About Page

After completing this module, students will be able to:

  • Use the new features of CSS3 to style text elements
  • Use the new features of CSS3 to style block elements
  • Use CSS3 selectors, pseudo-classes, and pseudo-elements to refine the styling of elements
  • Enhance pages by using CSS3 graphical effects

Module 7: Creating Objects and Methods by Using JavaScript

This module describes how to write well-structured JavaScript code by using language features such as namespaces, objects, encapsulation, and inheritance. These concepts might seem familiar if you have experience in a language such as Java or C#, but the JavaScript approach is quite different and there are many subtleties that you must understand if you want to write maintainable code.

Lessons

  • Writing Well-Structured JavaScript Code
  • Creating Custom Objects
  • Extending Objects

Lab: Refining Code for Maintainability and Extensibility

  • Object Inheritance
  • Refactoring JavaScript Code to Use Objects

After this module, students will be able to:

  • Write well-structured JavaScript code
  • Use JavaScript code to create custom objects
  • Implement object-oriented techniques by using JavaScript idioms

Module 8: Creating Interactive Pages by Using HTML5 APIs

This module describes how to create interactive HTML5 web applications that can access the local file system, enable the user to drag-and-drop data onto elements in a web page, play multimedia files, and obtain geolocation information.

Lessons

  • Interacting with Files
  • Incorporating Multimedia
  • Reacting to Browser Location and Context
  • Debugging and Profiling a Web Application

Lab: Creating Interactive Pages with HTML5 APIs

  • Dragging and Dropping Images
  • Incorporating Video
  • Using the Geolocation API to Report the User's Current Location

After completing this module, students will be able to:

  • Access the local file system, and add drag-and-drop support to web pages.
  • Play video and audio files in a web page, without the need for plugins.
  • Obtain information about the current location of the user.
  • Use the F12 Developer Tools in Microsoft Edge to debug and profile a web application.

Module 9: Adding Offline Support to Web Applications

In this module, you will learn how to use these technologies to create robust web applications that can continue running even when a network connection is unavailable.

Lessons

  • Reading and Writing Data Locally
  • Adding Offline Support by Using the Application Cache

Lab: Adding Offline Support to Web Applications

  • Caching Offline Data by Using the Application Cache API
  • Persisting User Data by Using the Local Storage API

After completing this module, students will be able to:

  • Save data locally on the user's device, and access this data from a web application
  • Configure a web application to support offline operations by using the Application Cache

Module 10: Implementing an Adaptive User Interface

In this module, you will learn how to build a website that adapts the layout and functionality of its pages to the capabilities and form factor of the device on which it is being viewed. You will see how to detect the type of device being used to view a page, and learn strategies for laying out content that effectively targets particular devices.

Lessons

  • Supporting Multiple Form Factors
  • Creating an Adaptive User Interface

Lab: Implementing an Adaptive User Interface

  • Creating a Print-Friendly Style Sheet
  • Adapting Page Layout to Fit Different Form Factors

After completing this module, students will be able to:

  • Describe the requirements in a website for responding to different form factors
  • Create web pages that can adapt their layout to match the form factor of the device on which they are displayed

Module 11: Creating Advanced Graphics

This module describes how to create advanced graphics in HTML5 by using Scalable Vector Graphics (SVG) and the Microsoft Canvas API. You will learn how to use SVG-related elements such as and to display graphical content on a web page. You will also learn how to enable the user to interact with SVG elements through the use of events such as keyboard events and mouse events. The Canvas API is somewhat different than SVG.

Lessons

  • Creating Interactive Graphics by Using SVG
  • Drawing Graphics by Using the Canvas API

Lab: Creating Advanced Graphics

  • Creating an Interactive Venue Map by Using SVG
  • Creating a Speaker Badge by Using the Canvas API

After completing this module, students will be able to:

  • Use SVG to create interactive graphical content
  • Use the Canvas API to generate graphical content programmatically

Module 12: Animating the User Interface

This module describes how to enhance web pages by using CSS animations. You will learn how to apply transitions to property values. Next, you will learn how to apply 2D and 3D transformations to elements. At the end of this module, you will learn how to apply keyframe animations to elements.

Lessons

  • Applying CSS Transitions
  • Transforming Elements
  • Applying CSS Keyframe Animations

Lab: Animating the User Interface

  • Applying CSS Transitions
  • Applying Keyframe Animations

After completing this module, students will be able to:

  • Apply transitions to animate property values to HTML elements
  • Apply 2D and 3D transformations to HTML elements
  • Apply keyframe animations to HTML elements

Module 13: Implementing Real-time Communication by Using Web Sockets

This module introduces web sockets, describes how they work, and explains how to create a web socket connection that can be used to transmit data in real time between a web page and a web server.

Lessons

  • Introduction to Web Sockets
  • Using the WebSocket API

Lab: Performing Real-time Communication by Using Web Sockets

  • Receiving Messages from a Web Socket
  • Sending Messages to a Web Socket
  • Handling Different Web Socket Message Types

After completing this module, students will be able to:

  • Describe how using web sockets helps to enable real-time communications between a web page and a web server
  • Use the Web Sockets API to connect to a web server from a web page, and exchange messages between the web page and the web server

Module 14: Performing Background Processing by Using Web Workers

This module describes how web workers operate and how you can use them in your web applications.

Lessons

  • Understanding Web Workers
  • Performing Asynchronous Processing by Using Web Workers

Lab: Creating a Web Worker Process

  • Improving Responsiveness by Using a Web Worker

After completing this module, students will be able to:

  • Explain how web workers can be used to implement multithreading and improve the responsiveness of a web application
  • Perform processing by using a web worker, communicate with a web worker, and control a web worker

Module 15: Packaging JavaScript for Production Deployment

Tools such as Node.js, Webpack, and Babel enable the use of new language features along with support for different browsers in order to avoid harming the user experience. In this module we will introduce the theory behind these tools, when we need to used them, and the different options for use.

Lessons

  • Understanding Transpilers And Module bundling
  • Creating Separate Packages for Cross Browser Support

Lab: Setting Up Webpack Bundle for Production

  • Creating and Deploying Packages using WebPack

OCA Java SE 8 Programmer

Java Basics

  • Define the scope of variables
  • Define the structure of a Java class
  • Create executable Java applications with a main method; run a Java program from the command line; including console output.
  • Import other Java packages to make them accessible in your code
  • Compare and contrast the features and components of Java such as: platform independence, object orientation, encapsulation, etc.

Java Data Types

  • Declare and initialise variables (including casting of primitive data types)
  • Differentiate between object reference variables and primitive variables
  • Know how to read or write to object fields
  • Explain an Object's Lifecycle (creation, "dereference by reassignment" and garbage collection)
  • Develop code that uses wrapper classes such as Boolean, Double, and Integer.

Operators and Decision Constructs

  • Use Java operators; including parentheses to override operator precedence
  • Test equality between Strings and other objects using == and equals ()
  • Create if and if/else and ternary constructs
  • Use a switch statement

Arrays

  • Declare, instantiate, initialise and use a one-dimensional array
  • Declare, instantiate, initialise and use multi-dimensional array

Loops

  • Create and use while loops
  • Create and use for loops including the enhanced for loop
  • Create and use do/while loops
  • Compare loop constructs
  • Use break and continue

Methods and Encapsulation

  • Create methods with arguments and return values; including overloaded methods
  • Apply the static keyword to methods and fields
  • Create and overload constructors; including impact on default constructors
  • Apply access modifiers
  • Apply encapsulation principles to a class
  • Determine the effect upon object references and primitive values when they are passed into methods that change the values

Inheritance

  • Describe inheritance and its benefits
  • Develop code that demonstrates the use of polymorphism; including overriding and object type versus reference type
  • Determine when casting is necessary
  • Use super and this to access objects and constructors
  • Use abstract classes and interfaces

Handling Exceptions

  • Differentiate among checked exceptions, unchecked exceptions, and Errors
  • Create a try-catch block and determine how exceptions alter normal program flow
  • Describe the advantages of Exception handling
  • Create and invoke a method that throws an exception
  • "Recognise common exception classes (such as NullPointerException, ArithmeticExcpetion, ArrayIndexOutOfBoundsException, ClassCastException)"

Java API Classes

  • Manipulate data using the StringBuilder class and its methods
  • Creating and manipulating Strings
  • Create and manipulate calendar data using classes from java.time.LocalDateTime, java.time.LocalDate, java.time.LocalTime, java.time.format.DateTimeFormatter, java.time.Period
  • Declare and use an ArrayListof a given type
  • Write a simple Lambda expression that consumes a Lambda Predicate expression
  • C# Beginners Tutorial*
  • C# from Scratch (3h 11minutes)*
  • Object-Orientated Programming Fundamentals in C# (4h 22minutes)*
  • C# Fundamentals with Visual Studio 2015 (5h 21minutes)*
  • C# Equality and Comparisons (4h 51minutes)*
  • C# Collection Fundamentals (5h 56minutes)*
  • HTML5 Fundamentals (3h 47minutes)*
  • HTML5 Fundamentals (2h 13minutes)*
  • Semantic HTML (1h 49minutes)*
  • Javascript from Scratch (1h 52minutes)
  • Introduction to CSS (2h 9minutes)
  • Front End Web Development: Get Started (3h 47minutes)
  • Front End Web Development: HTML5, CSS and Javascript (3h 4minutes)
  • Microsoft Professional Program for Front End Web Development
  • HTML5 Fundamentals (3h 47minutes)*
  • HTML5 Fundamentals (2h 13minutes)*
  • Semantic HTML (1h 49minutes)*
  • Building HTML5 and Javascript Applications (4h 50minutes)*
  • Java Fundamentals: The Java Language (7h 45minutes)*
  • Java Fundamentals: The Core Platform (7h 25minutes)
  • Java Fundamentals: Collections (4h 2minutes)
  • Java Fundamentals: Generics (3h 53minutes)

Total time: 70 hours 21 minutes

*Preparation for Accelerated Learning Classroom attendance/experience


Additional Courses

Choose from one of Firebrand's accelerated courses listed below to add to this apprenticeship programme. These courses are delivered when apprentices have submitted evidence to their End Point Assessment gateway.

There are some course combinations for this programme which mean you can select more than one course - we'll discuss this with employers on a case-by-case basis.

These additional courses support apprentices in achieving a Distinction grade at End Point Assessment.

Read more...

Interested? Complete this form.

When do Software Developer apprentices train?

Firebrand’s apprenticeship programmes are based around a core suite of residential training programmes delivering fundamental knowledge and skills to support on-the-job activity. All training courses are held at our dedicated training centre in Wyboston Lakes, Bedfordshire.

Basing delivery around our public training schedule allows Firebrand to offer apprenticeship delivery on an open cohort basis. However, where an employer can provide enough apprentices to form a closed cohort (typically between 8 and 15 apprentices per cohort) we can schedule closed-cohort training at our delivery centre. We run both open- and closed-cohort training for current employers; the delivery option selected depends on business needs, in terms of both required skills and operational logistics.

Below we've listed the course dates for the training delivered at Firebrand's training centre against this programme.

When

Start

Finish

Days

Status

Finished

Running

Open

Open

Open

Start

Finish

Days

Status

Limited availability

Open

Start

Finish

Status

Location

27/8/2018 (Monday)

31/8/2018 (Friday)

Finished

Book now

11/2/2019 (Monday)

15/2/2019 (Friday)

Limited availability

Book now

25/3/2019 (Monday)

29/3/2019 (Friday)

Open

Book now

6/5/2019 (Monday)

10/5/2019 (Friday)

Open

Book now

17/6/2019 (Monday)

21/6/2019 (Friday)

Open

Book now

Start

Finish

Status

Location

27/8/2018 (Monday)

31/8/2018 (Friday)

Finished

Book now

11/2/2019 (Monday)

15/2/2019 (Friday)

Limited availability

Book now

25/3/2019 (Monday)

29/3/2019 (Friday)

Open

Book now

6/5/2019 (Monday)

10/5/2019 (Friday)

Open

Book now

17/6/2019 (Monday)

21/6/2019 (Friday)

Open

Book now

Start

Finish

Days

Status

Running

Open

Open

Start

Finish

Days

Status

Finished

Open

Open

Start

Finish

Days

Status

Finished

Open

Open

Start

Finish

Days

Status

Finished

Open

Open

Start

Finish

Days

Status

Finished

Open

Open

Start

Finish

Days

Status

Open

Open

Start

Finish

Days

Status

Open

Open

Open

Start

Finish

Days

Status

Finished

Open

Open

Start

Finish

Days

Status

Open

Open

Open

Read more...

Interested? Complete this form.

Who can enroll on a Software Developer apprenticeship?

Apprentices don’t need lots of experience to enroll on a digital apprenticeship with Firebrand. Our digital apprenticeship programmes give individuals all the skills needed to be a digital expert in their new role.

We've provided answers to common questions from both employers and apprentices to help establish whether an individual is eligible to enroll on a programme:

Is there an upper age limit for someone that wants to go on an apprenticeship programme?

Individuals can enroll as long as they’re over 16 - there’s no upper age limit. With a desire to learn and a real interest in IT, Firebrand will teach individuals everything else they need to know to succeed.

What's the minimum educational criteria for entry onto Firebrand's apprenticeship programme?

We recommend having five GCSEs, including English and Maths, though we'll help apprentices meet the minimum criteria before the apprenticeship starts. However, there are alternatives open to apprentices if the criteria hasn’t been met.

I have someone that I want to put on an apprenticeship but they have no GCSEs in English and Maths. Can they still enroll on an apprenticeship programme?

Individuals can enroll on an apprenticeship without GCSEs. They'll need to achieve a Level 2 or above in a Functional Skills test prior to the apprenticeship. We'll arrange the delivery of the test to apprentices before they start.

My potential apprentice has an IT based degree. Are they eligible?

Individuals need to be learning new digital skills, not re-learning old ones. Firebrand’s digital programmes may not be suitable if candidates have extensive work experience or an IT-based degree in the area that is being upskilled.

My apprentice doesn't want to learn through residential training. Can we still use Firebrand as a provider?

Firebrand’s apprenticeship programmes are based around a core suite of residential training programmes delivering fundamental knowledge and skills to support on-the-job activity.

Our block-release approach allows apprentices to acquire an entire skillset in one out-of-office period, rather than gaining skills incrementally in a day-release model. Residential training allows apprentices to immerse themselves in a specific product and understand how it can be effectively applied to tasks in their workplace, making them instantly more skilled and productive on their return.

Read more...

Interested? Complete this form.

How much does a Software Developer apprenticeship cost?

The total cost of this apprenticeship programme is £18,000. How much you pay as an employer will depend on whether your business pays into the Apprenticeship Levy. Read below for to learn more about how apprenticeships are paid for.

Firebrand’s approach to apprenticeships and the breadth and depth of our course content means we deliver knowledge beyond the standard for every apprentice. Apprentices on our standard programmes receive exactly the same training, from the same skilled instructors, as industry professionals attending on a commercial basis; this is reinforced by more than 3000 online learning course options and support from Learning Mentors and Subject Matter Experts with senior-level industry experience. Set against the funding cap, this overall training package represents exceptional value for money.

Our standardised cost model accommodates a high degree of flexibility, allowing employers to adjust the content of their training package to include required skills or products. We'll work with employers to make sure their package is comprehensive, covering business training needs while minimising any incremental costs incurred through change requests.

Are employers or apprentices charged for the accommodation at Firebrand's residential training centre?

There's no additional charge for accommodation and food provided as part of our residential training delivery.

How does the Apprenticeship Levy work?

Where employers have an annual paybill over £3million, they'll pay 0.5% of that total paybill into the Apprenticeship Levy. Payments are made on a monthly basis, and they’ll show in the company's Apprenticeship Service account as soon as they’re made.

Through co-investment from the government, Levy-paying businesses receive an extra 10% top-up in their Apprenticeship Service accounts. This means every £1,000 will be increased to £1,100 in value. See how Levy payments work below:

If an employer's annual paybill is under £3million, the government pays for 90% of the total training costs, meaning you can access award-winning accelerated IT training at a fraction of the cost when you invest in apprenticeships. See how non-Levy payments work below:

Read more...

Interested? Complete this form.

How are Software Developer apprentices assessed?

An End Point Assessment (EPA) is the final step in the apprenticeship journey for employers and apprentices. The assessment allows apprentices to demonstrate that they've developed all the competencies (skills), knowledge and behaviours outlined in the Standard to prove they're able to do the job they've been training for throughout their programme.

Who delivers End Point Assessments?

EPAs are delivered by independent End Point Assessment providers. The British Computer Society (BCS) is the organisation that assesses all Firebrand apprentices - it's the Chartered Institute for IT and is the professional body for the digital industries. All successful apprentices appear on the BCS Professional Register for IT Technicians (RITTech) free of charge, and are entitled to use the RITTech letters after their name.

The EPA lets apprentices map out their digital skills by looking at examples of their best work. It’s designed to bring together all the completed work and skills they’ve learned into one portfolio. Upon completing their EPA, apprentices receive a grade for their hard work, either Pass, Merit or Distinction. The EPA is a chance for apprentices to prove to their employer, themselves and the assessor that they have certain knowledge and skills which have been officially recognised.

What’s included in the EPA?

Summative Portfolio

While working in a new role, Firebrand Learning Mentors will help apprentices collect evidence of their best work. This is called the Summative Portfolio and it’s submitted as evidence of their digital skill development. The Summative Portfolio can be written, image-based, audio or video – whatever medium helps apprentices get the point across best.

Synoptic Project

Apprentices complete a Synoptic Project as part of the EPA. ‘Synoptic’ means a general summary so it’s a learner's chance to test their new knowledge. The Synoptic Project applies new learning to problems outside a normal working environment. Apprentices spend three to five days away from work completing different skill-related projects. Firebrand Learning Mentors will then help submit the best project to the BCS as part of their overall portfolio.

Employer reference

All employers are required to write unique references for their apprentices. They should demonstrate how they've applied the knowledge, competencies and behaviours in the projects they've been given at work. Firebrand will work with employers with guidance and a template to help them complete this throughout the apprenticeship programme. It's a great opportunity for employers to detail the rewarding relationship they’ve built with the learner, which is a reflection on their time as a valuable member in the team.

Interview

All completed work is sent to the BCS, along with an employer’s reference. Apprentices then finish the EPA with an interview from an assessor at the BCS. This is a chance for apprentices to discuss all their completed projects and explain how they’ve developed the skills to meet the digital apprenticeship standard.

How do employers support?

Employers help prepare the apprentices for EPA, while also reinforcing their new digital skills. By writing a reference, employers get to detail what value-adding projects apprentices are working on and the benefits of their new professional relationship.

Engaging in regular one-to-one’s also keeps employers informed and lets apprentices provide updates on what skills they’ve learnt and how they plan to use them in their role

How does Firebrand support?

Firebrand’s Learning Mentors guide apprentices and employers along the way. The Learning Mentors make sure the learner’s EPA submission is the highest quality of work possible.

While also supporting the employee's learning, Firebrand provide various resources for employers, like a template for their employer reference. This makes the process easier and lets employers focus on writing the best reference they can.

Benefits of RITTech registration for individuals and employers

RITTech is recognised by employers and recruiters, demonstrating a higher level of skills and professionalism across digital and technology industries. With 'RITTech' after their name, it proves individuals are competent at what they do (RITTech is only awarded to people working at a SFIA Level 3 or above standard) and it shows they care enough to apply to be on this register.

RITTech status demonstrates quality and professionalism for the individual, who they work for and to their customers. Employees with RITTech have proven they care about what they do, and the people who employ them will care as well. Some organisations even use attainment of RITTech as part of their professional development measures.

Source: British Computer Society

Find out more about the End Point Assessment (EPA).

Read more...

Interested? Complete this form.

What does a Software Developer apprentice's journey look like?

Employers should know what’s happening at every step of the apprenticeship. That’s why Firebrand have identified how their employees learn and at which point they’ll get to apply their new digital skills.

How does Firebrand support learning?

Firebrand includes residential training, online training and plenty of work-based support from a dedicated Learning Mentor. Residential and online training is spaced throughout the programme to ensure the apprentice has time to learn and apply skills before moving onto something new.

How do I ensure my employees are always learning?

Firebrand schedules training carefully so that the learner gains skills they can use immediately at work. Residential courses happen from month 3 and are usually an average of 2 months apart. In between, there’s online learning and Learning Mentors activities (e.g. behavioural modules, Functional Skills). All apprentices complete several work-based projects for their portfolio. Learning Mentors support them with writing up each project over a 12-week period.

Help along the way

There are three main sets of people who support apprentices – Firebrand’s Learning Mentors, Course Instructors and Subject Matter Experts. All of them have different responsibilities, but the benefit of Firebrand’s model is that apprentices get really good technical expertise, plus strong guidance on how to complete their apprenticeship successfully.

Apprentices meet their Learning Mentors on the first day and discuss the full apprentice programme in depth. The Learning Mentors begin understanding the learner’s personal approach, level of knowledge and learning style.

Learning Mentors help if the learner is stuck on something. They use their industry experience to guide apprentices in the right direction, helping them solve tasks from a different perspective. While also providing support, Learning Mentors check to see if the required standards are being met when completing work-based projects.

Learning with Firebrand

Apprenticeships combine a full-time job with formal learning. Firebrand’s formal training includes between three and five specialist IT courses. These courses are decided by the employer during the on-boarding process.

When apprentices are on a Firebrand course, they’ll be in Wyboston Lakes, Bedfordshire at Firebrand’s all-inclusive training centre. They’ll receive accommodation, food and a free shuttle bus from the train station. They then return to work and apply what they’ve learnt, tailoring new knowledge to their organisation’s technologies.

Coming to the end

As apprentices reach the end of the apprenticeship, Firebrand’s Learning Mentors will help them get ready for the EPA.

See the End Point Assessment (EPA) section for more information.

Read more...

Interested? Complete this form.

How do Software Developer apprentices progress?

The pace of digital transformation means there’s always going to be new technologies and smarter processes in businesses.

Progress to the next level and learn even more new digital skills. Progression is a natural step in the IT industry and it keeps employee's skills refreshed.

Develop and reinforce technical knowledge by advancing to a higher-level apprenticeship or training on Firebrand’s public courses. Gain certifications on public courses from vendors like Microsoft, AWS and CompTIA.

Level 3

For apprentices at the end of their Level 3 apprenticeship, advancing to Level 4 is the next natural step. Learn further digital skills while in a more specific IT related role. Specialised Level 4 roles include being a Data Analyst, Cyber Security Technologist or Network Engineer.

Rather than just understanding an organisation’s technologies, learn to master them. Level 4 apprentices apply previous skills with new technical knowledge to gain greater responsibility in a digital role.

Take a look at our Level 4 apprenticeships to continue developing your IT career.

Level 4

After a Level 4 apprenticeship, apprentices can enhance certain specific skillsets and gain further product knowledge by taking Firebrand’s public courses. Public courses are the best option after successfully completing a Level 4 qualification. They align individual courses with desired IT skills.

There’s no limit to the number courses that apprentices can take. Continue learning with Firebrand and gain the certifications needed to move into top IT roles at twice the speed. Continue building a professional career in the right way with recognised industry qualifications

Start choosing certifications from over 700 public training courses.

Interested? Complete this form.

Call us to discuss your Firebrand Apprenticeship Now
0800 081 6022