Interested in a simple Skills Scan and Learning Progress Tracker tool for the Software developer standard?
Knowledge
K1: all stages of the software development life-cycle (what each stage contains, including the inputs and outputs)
K2: roles and responsibilities within the software development lifecycle (who is responsible for what)
K3: the roles and responsibilities of the project life-cycle within your organisation, and your role
K4: how best to communicate using the different communication methods and how to adapt appropriately to different audiences
K5: the similarities and differences between different software development methodologies, such as agile and waterfall.
K6: how teams work effectively to produce software and how to contribute appropriately
K7: software design approaches and patterns, to identify reusable solutions to commonly occurring problems
K8: organisational policies and procedures relating to the tasks being undertaken, and when to follow them. For example the storage and treatment of GDPR sensitive data.
K9: algorithms, logic and data structures relevant to software development for example:- arrays- stacks- queues- linked lists- trees- graphs- hash tables- sorting algorithms- searching algorithms- critical sections and race conditions
K10: principles and uses of relational and non-relational databases
K11: software designs and functional or technical specifications
K12: software testing frameworks and methodologies
Skills
S1: create logical and maintainable code
S2: develop effective user interfaces
S3: link code to data sets
S4: test code and analyse results to correct errors found using unit testing
S5: conduct a range of test types, such as Integration, System, User Acceptance, Non-Functional, Performance and Security testing.
S6: identify and create test scenarios
S7: apply structured techniques to problem solving, debug code and understand the structure of programmes in order to identify and resolve issues
S8: create simple software designs to effectively communicate understanding of the program
S9: create analysis artefacts, such as use cases and/or user stories
S10: build, manage and deploy code into the relevant environment
S11: apply an appropriate software development approach according to the relevant paradigm (for example object oriented, event driven or procedural)
S12: follow software designs and functional or technical specifications
S13: follow testing frameworks and methodologies
S14: follow company, team or client approaches to continuous integration, version and source control
S15: communicate software solutions and ideas to technical and non-technical stakeholders
S16: apply algorithms, logic and data structures
S17: interpret and implement a given design whist remaining compliant with security and maintainability requirements
Behaviours
B1: Works independently and takes responsibility. For example, has a disciplined and responsible approach to risk and stays motivated and committed when facing challenges
B2: Applies logical thinking. For example, uses clear and valid reasoning when making decisions related to undertaking work instructions
B3: Maintains a productive, professional and secure working environment
B4: Works collaboratively with a wide range of people in different roles, internally and externally, with a positive attitude to inclusion & diversity
B5: Acts with integrity with respect to ethical, legal and regulatory ensuring the protection of personal data, safety and security.
B6: Shows initiative and takes responsibility for solving problems within their own remit, being resourceful when faced with a problem to solve.
B7: Communicates effectively in a variety of situations to both a technical and non-technical audience.
B8: Shows curiosity to the business context in which the solution will be used, displaying an inquisitive approach to solving the problem. This includes the curiosity to explore new opportunities, techniques and the tenacity to improve methods and maximise performance of the solution and creativity in their approach to solutions.
B9: Committed to continued professional development.
Duty 1
DUTY: Take and interpret given software development requirements to estimate effort to deliver the work product to enable accurate costs to be established.
K1
K2
K3
K6
K7
S7
S11
S17
B1
B2
B8
Duty 2
DUTY: Break software development activities down into logical units of work to enable sequencing and ensure the best possible structuring of activities to deliver a high quality product right first time.
K1
K3
K6
K7
K9
S1
S7
S8
S16
S17
B1
B2
Duty 3
DUTY: Report progress accurately throughout the development life-cycle stages to ensure adequate audit trails of key worksteps such that the organisation can demonstrate how the product has been created for quality and commercial purposes.
K1
K2
K3
K4
K6
K8
S15
B4
Duty 4
DUTY: Identify and report any impediments to software development activities and propose practical solutions.
K7
K10
S7
S9
B1
B5
B6
B7
B8
Duty 5
DUTY: Convert customer requirements into technical requirements, both functional and non-functional to ensure that customers' expectations are accurately reflected in the software products developed.
K1
K2
K3
S2
S9
S11
S12
S14
S17
B1
B2
B3
B4
B6
B7
B8
Duty 6
DUTY: Identify and select the most appropriate technical solution, taking into consideration coding best practice and appropriate quality standards.
K7
K9
K10
K11
S1
S8
S9
S11
S12
S16
S17
B5
B6
B8
B9
Duty 7
DUTY: Communicate software development solutions to a range of internal or external stakeholders to ensure clear understanding of requirements and how they have been met or adjusted.
K1
K2
K3
K4
K6
S15
B1
B4
B6
B7
Duty 8
DUTY: Consider security implications of proposed design to ensure that security considerations are built in from inception and throughout the development process.
K7
K8
K11
S1
S2
S3
S8
S11
S17
B5
B8
Duty 9
DUTY: Write logical and maintainable software solutions to meet the design and organisational coding standards (Software Development Lifecycle -Implementation and Build phase).
K9
K11
S1
S2
S3
S8
S10
S11
S12
S16
B2
B3
Duty 10
DUTY: Apply security best practice to the software solution throughout the software development life-cycle.
K7
K8
S8
S11
S12
B5
Duty 11
DUTY: Create and maintain appropriate project documentation to explain the development process and resources used.
K1
K3
K5
K8
S9
B2
B3
Duty 12
DUTY: Apply appropriate recovery techniques to ensure the software solution being developed is not lost (Software Development Lifecycle -Implementation and Build phase).
K7
B1
B9
Duty 13
DUTY: Implement appropriate change control to ensure that software development changes may be tracked and quality risks managed.
K1
K2
K3
K5
K6
K8
B2
Duty 14
DUTY: Undertake unit testing of solutions, with appropriate levels of test code coverage, to identify and, where necessary, resolve issues (Software Development Lifecycle -Implementation and Build phase).
K9
K11
K12
S4
S5
S6
S7
S13
B6
Duty 15
DUTY: Perfom testing of the software solution to ensure a high quality output (Software Development Lifecycle -Test phase).
K9
K11
K12
S4
S5
S6
S13
B3
B8
B9
Duty 16
DUTY: Deliver a suitably documented deployable solution to the customer for their use (Software Development Lifecycle -Deploy phase).
K1
K2
K3
K5
S2
S8
S9
S10
S15
B3
Duty 17
DUTY: Support delivery of one or more software deployment phases, such as trials and final release, to ensure that software developer outcomes are deployed correctly.
K2
K5
K6
K8
S5
S6
S10
B1
B4
B7
Duty 18
DUTY: Provide support during software trials and after final release to ensure that customers understand and can correctly apply the product, and risks are mitigated.
K2
K5
B4
B9
Duty 19
DUTY: Respond appropriately to given Service Level Agreements (SLAs) to ensure that time and resources invested in software development activity are allocated appropriately to deliver good customer service.
K1
K2
K3
K5
K6
K7
K8
S14
B1
B6
B8
B9
Duty 20
DUTY: Apply suitable 'bug fix', appropriate to the severity and priority of the software development issue identified.
K12
S4
S7
S13
B6
Duty 21
DUTY: Practice continuous self learning to keep up to date with technological developments to enhance relevant skills and take responsibility for own professional development.