Digital Industries Trailblazer Apprenticeship. Software Developer - Occupational Brief



Similar documents
Digital Industries Trailblazer Apprenticeship. Network Engineer - Occupational Brief

Digital Industries Apprenticeship: Occupational Brief. Cyber Security Technologist. April 2016

Digital Industries Apprenticeship: Assessment Plan. Infrastructure Technician. March 2016

Qualification details

Financial Services Core Competences

Digital Industries Apprenticeship: Assessment Plan. Cyber Security Technologist. April 2016

Actuarial Trailblazer Apprenticeship Approach to Assessment: Summary

Middlesbrough Manager Competency Framework. Behaviours Business Skills Middlesbrough Manager

Relationship Manager (Banking) Assessment Plan

JOB DESCRIPTION SYSTEMS DEVELOPMENT OFFICER - Grade 6

Employability Skills Summary

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

DIGITAL INDUSTRIES TRAILBLAZER APPRENTICESHIP STANDARDS SUBMISSION TO BIS

Digital Industries Trailblazer Apprenticeship: Approach to Assessment

Pathways to Digital Employment

Website (Digital) & Mobile Optimisation. 10 April G-Cloud. service definitions

JOB DESCRIPTION APPLICATION LEAD

Pearson BTEC Nationals in Creative Digital Media Production from 2016

Schedule A. MITA Career Level based on Responsibility Level (SFIA v5 Responsibility Levels)

D 1. Working with people Develop productive working relationships with colleagues. Unit Summary. effective performance.

INFORMATION TECHNOLOGY & MEDIA SERVICES

Course Overview and Approximate Time Allotments. First Semester

KS3 Computing Group 1 Programme of Study hours per week

JOB AND TASK DESCRIPTION

Chartered Manager Degree Apprenticeship Assessment Plan

Pearson BTEC Level 3 National Foundation Diploma in Computing Specification

Java Programming (10155)

ROLE PROFILE. Performance Consultant (Fixed Term) Assistant Director for Human Resources

Qualification details

MITA Career Level based on Responsibility Level (SFIA v5 Responsibility Levels)

Schedule A. MITA Career Level based on Responsibility Level (SFIA v5 Responsibility Levels)

one year courses cosmetic and fragrance marketing & management

DRAFT 8 th January 2015 Senior Chef Apprenticeship in Culinary Arts Standard Assessment Plan. Introduction

Net Developer Role Description Responsibilities Qualifications

UNDERGRADUATE PROGRAMME SPECIFICATION

Orange Unified School District Video Game Design II Year Course

Java Application Developer Certificate Program Competencies

PROGRAMME SPECIFICATION

STAGE 1 COMPETENCY STANDARD FOR ENGINEERING ASSOCIATE

Social Media and Digital Marketing (England)

School of Computer Science

JOB DESCRIPTION. Provide technical support and maintenance for college IT systems and key applications.

The Proposed Quality Competency Framework for the Future Quality Professional

Job description - Fundraising Database Reporting and Solutions Analyst

Setting Standards Achieving Success

STAGE 1 COMPETENCY STANDARD FOR PROFESSIONAL ENGINEER

one year courses digital image creation for luxury brands

GCE APPLIED ICT A2 COURSEWORK TIPS

To introduce software process models To describe three generic process models and when they may be used

National Occupational Standards. Compliance

The ICMCI CMC Competence Framework - Overview

Chapter 8 Approaches to System Development

Volunteer Managers National Occupational Standards

Programming and Software Development CTAG Alignments

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville

CS Standards Crosswalk: CSTA K-12 Computer Science Standards and Oracle Java Programming (2014)

EMC Publishing. Ontario Curriculum Computer and Information Science Grade 11

International Engineering Alliance. Glossary of Terms Ver 2: 15 September 2011

Manager, Procurement and Contracts

Digital Asset Manager, Digital Curator. Cultural Informatics, Cultural/ Art ICT Manager

LOUGHBOROUGH UNIVERSITY

PPM Competency Profiling

What is a life cycle model?

Team Leader Business Information Data Warehouse Business Information Data Warehouse

Job Description. Technical Architect (BISRID_55) Band: 9 ( 38,050-43,483)

Software Engineering. Software Development Process Models. Lecturer: Giuseppe Santucci

January Communications Manager: Information for Candidates

TAE40110 Certificate IV in Training and Assessment Press Crtl + Click to go to link Table of Contents Employment opportunities...

JOB DESCRIPTION ASSISTANT PRINCIPAL FUNDING & PERFORMANCE REVIEW

Customer Relationship Management (CRM) and Data Officer. Reference No: Grade:

CTI Higher Certificate in Information Systems (Engineering)

Chapter 13: Program Development and Programming Languages

Faculty of Education, Health and Sciences. PROGRAMME SPECIFICATION BSc Psychology Online. Valid from September

Skills for Employment Investment Project (SEIP)

Job Description and Person Specification. Post Number: HCI.C24 JE Ref: JE028

Position Description. Department: Quantitative Research Direct Reports: Project Manager/Researcher Senior Researcher

Job Grade: Band 5. Job Reference Number:

EDI Level 3 NVQ in Customer Service

Job Description. Industry business analyst. Salary Band: Purpose of Job

School of Computing and Technology

SOFTWARE REQUIREMENTS

CHAPTER 3 : AGILE METHODOLOGIES. 3.3 Various Agile Software development methodologies. 3.4 Advantage and Disadvantage of Agile Methodology

ICT Qualifications Mandatory Review

ADVANCED SCHOOL OF SYSTEMS AND DATA STUDIES (ASSDAS) PROGRAM: CTech in Computer Science

Digital Marketplace Services Service Definition

Relationship Manager (Banking) Assessment Plan

Course Title: Software Development

UNDERGRADUATE PROGRAMME SPECIFICATION

JOB DESCRIPTION. Job Title: SQL Server Database Developer/DBA

Job Description. Applications Analyst (BI) (BISRID_033)

Reports to: Information Technology Leader. Position Applications Developer Team Lead HSF080 HSF062

ONE YEAR COURSES FASHION IMAGE & STYLING INTENSIVE

Suite Overview...2. Glossary...8. Functional Map.11. List of Standards..15. Youth Work Standards 16. Signposting to other Standards...

January Brand and Campaigns Executive: Information for Candidates

Transcription:

Digital Industries Trailblazer Apprenticeship Software Developer - Occupational Brief

Table of Contents Contents 1 Software Developer Trailblazer Apprenticeship Introduction... 1 2 Software Developer Trailblazer Apprenticeship Occupational Competence... 4 3 Software Developer Trailblazer Apprenticeship Occupational Behaviours... 10

1 Software Developer Trailblazer Apprenticeship Introduction This document defines the occupational brief for Software Developer. It is recognised that people work in a variety of context but this standard allows for a full range of skills across a variety of businesses and industries to demonstrate full competence, confidence and transferability. Therefore, the primary role of a Software Developer should enable them to to be able to build and test simple, high-quality code across front end, logic and database layers. A developer will typically be working as part of a larger team, in which they will have responsibility for some of the straightforward elements of the overall project. The Developer will need to be able to interpret design documentation and specifications. However, the customer requirements will typically be defined and agreed by more experienced or specialist members of the team, such as a Business Analyst or Technical Architect. The employer, apprentice and provider should cover the standards criteria to ensure all areas of the outcomes are covered in the apprentice job role. Parties should then identify tasks and select relevant projects that will meet the outcomes and complete an assessment plan. Typical Job Roles The Software Developer standard is designed for typical roles such as: software developer software engineer software programmer Assessment Formative assessment should take place throughout the apprenticeship and be recorded in the e-portfolio. This will culminate in a Summative Portfolio being submitted based on relevant assessment/projects selected by the apprentice, employer and provider. The Knowledge certificate will be modulated and incorporate any vendor or professional qualification. All of the modules will need to be completed prior to taking the synoptic project. Page 1

The final synoptic project will be undertaken away from the main place of work and will be a pre defined project set by employers that will be graded by an Independent Moderator based on criteria defined by the employers to achieve a pass, merit or distinction. This will be achieved by reviewing the project with a discussion between apprentice and moderator. Vendor Certification Certification is claimed at the end of the apprenticeship when all components are complete. The relevant documents will then be required to be uploaded onto the ACE system for confirmation prior to the apprenticeship certificate being issued. The following vendor certification and exams are examples of those valued by employers for software development: Technology Platform Certification & exam options Oracle Java SE7 Oracle Certified Associate, Java SE 7 Programmer Exam: Java SE 7 Programmer I (1Z0-803) Oracle Certified Professional, Java SE 7 Programmer Exam: Java SE 7 Programmer II (1Z0-804) Microsoft.Net Microsoft Certified Technology Associate (MTA) with the following developer exams available: Exam 98-361: Software Development Fundamentals Exam 98-362: Windows Development Fundamentals Exam 98-363: Web Development Fundamentals Exam 98-372:.NET Fundamentals Exam 98-375: Application Developer Page 2

Fundamentals Exam 98-374: Gaming Development Fundamentals Exam 98-373: Mobile Development Fundamentals Exam 98-349: Software Testing Fundamentals. BCS registration On completion the apprentice will be recognised by BCS for entry onto the register of IT technicians confirming SFIA level 3 professional competence. Apprentices should contact xxxxxxx to apply for registration. Page 3

2 Software Developer Trailblazer Apprenticeship Occupational Competence The trailblazer standard for Software Developer is included for reference in Appendix A. The competence outcomes for Software Developer from the standard are detailed below The table below lists each of the competence outcomes to be covered in the Software Developer Trailblazer Apprenticeship. It is not intended that the list is used as an exhaustive pro-forma curriculum. Each provider will have their own approach to designing and delivering the programme, but it is intended to guide providers and employers in implementation the apprenticeship defined in the standard. Table 1 Competencies for Software Developer Trailblazer Apprenticeship Description Topics to be included Typical tools, languages & processes a. Logic: writes good quality code (logic) with sound syntax in at least one language Apprentices should be competent in developing good quality code. The overarching goal when writing code is to achieve the desired functionality. But all code should be easy to read and understand, with good naming, indentation and commenting. Wellwritten software is easier to understand, debug, maintain and will have fewer errors. Apprentices should develop a solid foundation in current programming concepts and methodologies, with a focus a. Fundamentals of good coding: development paradigms and software programming languages Software development tools (IDEs) writing programs and methods language-specific idioms logic and flow-of-control b. Elements of programming - variables; assignment statements; data types; conditionals; loops; arrays; and input/output, including graphics and sound. c. Functions - modular programming dividing a program into components that can be independently A wide range of software development tools including : Integrated Development Environments (IDE s) Version control systems Configuration management tools Page 4

Description Topics to be included Typical tools, languages & processes on problem solving. debugged, maintained, and reused. d. Algorithms and data structures - classical algorithms for sorting and searching, and fundamental data structures, including stacks, queues, and symbol tables. b. User interface: can develop effective user interfaces for at least one channel The fundamental concepts of humancomputer interaction, the development practices leading to a high-quality user interface, and the programming techniques required to construct a graphical user interface. a. User interface design - how to design good user interfaces for different domains and applications. b. User interface coding and implementation - techniques for building user interfaces, including prototypes, input models, output models, layout, constraints, etc. c. Evaluating user interface usability - techniques for evaluating and measuring interface usability, including heuristic evaluation, predictive evaluation, and user testing. UI prototyping tools UI design tools c. Data: can effectively link code to the database/data sets Apprentices should be able to link to a range of database types and embed data queries within their code. a. Data types b. Database fundamentals for exploiting already created databases Databases SQL Page 5

Description Topics to be included Typical tools, languages & processes c. Using data in applications d. Making a database connection e. SQL and embedded SQL d. Test: can test code and analyse results to correct errors found using either V-model manual testing and/or using unit testing Apprentices need to test their code to identify errors as soon as possible in the coding process. Unit testing is the practice of testing the components of a program automatically, using a test program to provide inputs to each component and check the outputs. The tests are written by the programmers who have developed the code, either before or at the same time as the rest of the software. Nearly all programming languages have at least one commonly used test framework that can run code segments, feed inputs, and check the results. a. Software development and testing models (e.g. V model, waterfall model etc) b. Approaches to debugging and testing code during development (manual, unit testing) c. Unit testing and debugging strategies d. Design, and develop manual and unit tests e. Testing code segment functionality against requirements f. Assessing test results against expected results and acceptance criteria g. Test-driven development Debugging tools Unit test tools (e.g. Junit etc) e. Problem solving: can apply structured techniques to problem solving, can debug code and can understand the structure of programmes in order to identify and resolve issues Understand and develop appropriate structured approaches to problem solving for specific application domains. a. Structured problem solving methods b. Problem identification and analysis (e.g. debugging etc) Problem solving tools and techniques Page 6

Description Topics to be included Typical tools, languages & processes c. Programme structure d. Application of problem-solving techniques to programming activities f. Design: can create simple data models and software designs to effectively communicate understanding of the program, following best practices and standards Software design is where the application software is designed to satisfy the requirements identified in the requirements specification. These are transformed into a System Design that accurately describes the design of the system and that can be used as an input to guide software development.. a. Software design methodologies (e.g., structured or object-oriented) b. Software design concepts c. Standard design notation such as UML and agile user story management d. Data modelling e. Software modelling - Analysis v, design models f. Designing software solutions to meet requirements Software design tools Data modelling tools g. Analysis: can understand and create basic analysis artefacts, such as user cases and/or user stories Systems analysis is important in helping understanding the intended use of the proposed software system through the use of standard analysis models. These include use case modelling and activity diagrams. a. Overview of analysis models b. Identification and representation of required functionality (e.g. use cases, etc) c. Identification and representation of activity workflow (e.g. activity diagrams, etc) Software analysis tools Use case development tools Activity diagram tools h. Deployment : can understand and utilise skills to build, manage and deploy code into enterprise environments Deploying, updating and managing a. Software deployment strategies Software deployment tools Page 7

Description Topics to be included Typical tools, languages & processes software is an important stage in transitioning software to users. It also includes developing appropriate user documentation and planning for user training and data migration. b. Software deployment planning c. Software build for deployment to different environments d. User documentation e. User training f. Data migration i. Development lifecycle: can operate at all stages of the software development lifecycle, with increasing breadth and depth over time with initial focus on build and test. The software development life cycle (SDLC), includes phases for the specification, design, development, testing and operation of software systems. Apprentices should be able to operate as a software developer with a good understanding of the other phases of the SDLC and the deliverables that are produced at each stage. a. The phases of the software development life cycle (SDLC) b. SDLC models (waterfall, agile, test-led etc) c. SDLC activities and deliverables d. Software quality across SDLC Software development lifecycle methods and tools (e.g. RUP) j. Can apply good practice approaches according to the relevant paradigm (for example object oriented, event driven or procedural) Apprentices should identify and follow standards and good practice that can improve programming efficiency, style and quality. a. Programming standards, both organisational and external b. Generic best practices c. Best practice approaches of different paradigms and languages In company standards for software coding External standards for software coding Page 8

Description Topics to be included Typical tools, languages & processes k. Can 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 Apprentices need to be able to adapt to the employers domain and context for software development and interpret and follow the software development approach being implemented. a. Read software designs and functional/technical specifications, especially those based upon the employer domain and context b. Identify, interpret and follow coding standards c. Identify, interpret and follow best practice coding approaches for specific paradigms and languages d. Identify, interpret and follow company, team or client approaches to continuous integration, version and source control Best practice frameworks and standards Page 9

3 Software Developer Trailblazer Apprenticeship Occupational Behaviours Behaviours are incorporated into the summative portfolio and synoptic project and explored in the interview. Table 2 Occupational Behaviours for Software Developer Trailblazer Apprenticeship Description Attributes to be explored Assessment techniques a. Thinking and problem-solving Apprentices should demonstrate the ability to use both logical and creative thinking when undertaking work tasks, recognising and applying techniques from both. Apprentices should show that they recognise problems inherent in, or emerging during, work tasks, and can tackle them effectively. a. Logical thinking: Understanding initial premise(s) and preconditions Analysing situations from known facts Recognising the conclusion to be reached Proceeding by rational steps Evaluating information, judging its relevance and value Supporting conclusions, using reasoned arguments and evidence b. Creative thinking: Looking at situations from a fresh perspective Exploring ideas and possibilities Making connections between different aspects Questioning assumptions Behavioural questioning, e.g. : Tell me about how you approached this task How did you recognise the problem? Give me an example of thinking differently about a task. Describe a decision that you made using a logical approach. Page 10

Description Attributes to be explored Assessment techniques b. Customer, stakeholder and client relationships Generating solutions that may be imaginative or unconventional Devising new approaches Adapting ideas and approaches as conditions or circumstances change c. Problem-solving: Analysing situations Defining goals Developing solutions Prioritising actions Dealing with unexpected occurrences Apprentices should demonstrate the ability to manage relationships with work colleagues (including superiors), customers/clients and other stakeholders, so as to gain their confidence, keep them involved and maintain their support for the task/project in hand. Apprentices should show that they understand how to establish and maintain productive working relationships, and can use a range of a. Managing relationships: Understanding the value and importance of good relationships Adopting a way of working that maintains and improves relationships Involving other people in decisions and actions Influencing others by listening to and incorporating their ideas and views Acknowledging other people s accomplishments and strengths Overcoming barriers that prevent productive Process questioning, e.g. : What are the most important ways that you have found to manage relationships in your work? Who do you manage relationships with? What do customers and clients respond to well? In what ways do you try to make relationships with customers and clients more productive? Page 11

Description Attributes to be explored Assessment techniques different techniques for doing so. action Managing conflict constructively Promoting teamwork by encouraging others to participate b. Customer/client relationships: Establishing contact with customers/clients and keeping in touch Keeping customers/clients informed ( no surprises ) Understanding their requirements, including constraints and limiting factors Setting reasonable expectations Involving them in decisions and actions ( coproduction ) Interacting positively with them Communicating in different ways Providing a complete answer in response to queries ( transparency, full disclosure ) Actively seeking feedback c. Stakeholders: Understanding who they are and what their stake is Prioritising stakeholders in terms of their importance, power to affect the task and interest What are the main differences between customers/clients and other stakeholders? How do you manage the various stakeholders? Page 12

Description Attributes to be explored Assessment techniques in it Using stakeholders views to shape projects early on Gaining support from stakeholders, e.g. to win resources Agreeing objectives Managing expectations c. Communication skills Apprentices should demonstrate the ability to communicate effectively with a range of people at work, one-to-one and in groups, in different situations and using a variety of methods. Apprentices should show that they recognise the limits of various methods of communication, the factors that may disrupt it, and the importance of checking other people s understanding. a. Intention/purpose: b. Method: Understanding the purpose of communicating in a particular situation or circumstance (e.g. inform, instruct, suggest, discuss, negotiate etc.) Checking that the person/people with whom one is communicating also understand the purpose Being sensitive to the dynamics of the situation Being aware of anything that might disrupt the effectiveness of the communication (e.g. status, past history) Knowing the range of possible communication methods (e.g. spoken, written, graphical, multimedia) Choosing a good, appropriate method for the Observation, e.g.: Examples of written, graphical and multimedia communication in the summative portfolio and synoptic project How the apprentice communicates verbally and nonverbally during the course of the interview, including listening and responding Funnelling questioning, e.g. : Tell me about a time when you needed to communicate something important, e.g. to Page 13

Description Attributes to be explored Assessment techniques situation Being aware of the limitations of the chosen method, and the possible risks of miscommunication (e.g. ambiguity) Taking account of the affective dimensions of the method (e.g. body language, tone of voice, eye contact, facial expression etc.) c. Execution: Expressing oneself clearly and succinctly, but not over-simplifying Checking that the other person/people understand what is being expressed Taking account of the potential barriers to understanding (e.g. filtering, selective perception, information overload) Modifying the purpose and methods of communication during a situation in response to cues from the other person/people Colleagues Superiors Customers/clients What worked well in this situation? What didn t work as well as you had hoped? What did you learn about communication from this situation (or any other)? d. Business and commercial understanding Apprentices should demonstrate an understanding of what their current job is, the skills, knowledge and behaviours it requires and how they fulfil the job role. Apprentices should recognise how the a. The job: Understanding the scope of the job role Knowing what skills, knowledge and behaviours are needed to do the job well Being aware of their own strengths in the job Factual questioning, e.g.: What are the main risks in your work? How does the regulatory environment affect what you do? Page 14

Description Attributes to be explored Assessment techniques organisation as a whole works and their contribution to it, and understand the opportunities and constraints in the wider business environment. role, and any areas for improvement Appreciating who else is important, for them to do their job and fulfil the role effectively (e.g. colleagues, managers, other stakeholders) Being aware of potential risks in the job role (e.g. security, privacy, regulatory) Using personal attributes effectively in the role, e.g. entrepreneurship Understanding how the job fits into the organisation as a whole Knowing what the next steps in their career might be b. The organisation: Understanding the goals, vision and values of the organisation Knowing how they contribute to these in their own work Being aware of the commercial objectives of the tasks/ projects they are working on Understanding the importance of meeting or exceeding customers requirements and expectations Being in tune with the organisation s culture Knowing how the organisation works, including What are the organisation s commercial goals? What factors are shaping your industry at the moment? Process questioning, e.g. : What are the key things that make a difference to how well you do your job? How do other people you work with, including customers and clients, affect the way you work? Page 15

Description Attributes to be explored Assessment techniques its informal culture, internal networks etc. c. The environment: Being aware of the position of the organisation in the economy and its contribution to society Understanding the key external factors that shape the way the organisation function, e.g. regulation Knowing how the organisation can gain advantage in the industry, e.g. through innovation, technology, customer service etc. Page 16