Software Developer
Job description:
Software Developers design, develop, test, debug, maintain, document, and implement software applications or specialized utility programs. They are responsible for enhancements to existing packaged applications or pre-engineered templates and identify security risks, create requirements to capture security issues, and perform initial threat modeling.
Minimum Educational Qualifications:
A bachelor’s degree, usually in computer science, computer systems engineering, software engineering, or mathematics, or completion of a college program in computer science is usually required. A master’s or doctoral degree in a related discipline may be required.
Experience:
2-4 Years
Career Progression:
The career path of a Software Developer typically starts with an Associate position (Junior Software Developer), and then progresses to Software Developer, followed by Software Architect, Software Manager, and can move into senior management as Chief Technology/ Chief Information Officer.
About the Assessment Tool:
The platform measures skills that are organized around 6 general areas of competence: Business Analysis and Management, Design and Architecture, Development and Implementation, Testing and Quality Assurance, Security and Standards, and Administration and Support. Not all sections within these competencies are relevant to the chosen occupation as there are several common – and some unique – competencies for each of the 5 occupations.
The user is asked to select their proficiency level as it relates to the stated competency. There are three proficiency levels to choose from: Levels 1, 2, and 3.
Level 1: Basic Level
The individual has some knowledge and experience to carry out standard, routine tasks under supervision. They can follow instructions, complete assigned tasks, manage their work, and assist other colleagues.
Level 2: Intermediate Level
The individual has the knowledge and experience to carry out both standard and non-standard tasks with minimal supervision. They can plan activities, make key decisions and work independently.
Level 3: Advanced Level
The individual has the knowledge and experience to carry out complex and specialized tasks confidently and consistently without any supervision. They apply specialized knowledge to design and implement strategies and provide guidance and supervision on the activity to others.
These levels are related to job proficiency and do not describe learning levels that are usually associated with training programs or the levels indicated in specific IT certificates or certifications. In addition, these levels do not link to organizational hierarchical levels that define competency levels based on responsibilities and accountabilities.
The results also show the criticality ratings for each competency. This describes the relative value or importance of each competency as identified by employers, HR professionals, and subject matter experts. Typically, the size of the organization, business or industry type, the specific skill and demand gap, etc. may influence the value/importance of each competency identified. The criticality rating may be based on the need and requirement for the specific job in question. Not Applicable means that a particular competency is not currently necessary for an individual to perform their job effectively. Desirable means that a particular competency would be beneficial, but not essential, for an individual to perform their job effectively. Essential means that a particular competency is necessary for an individual to perform their job effectively.
The following table outlines the recommended proficiency levels across the six competency areas based on primary and secondary research and the criticality ratings for each competency.
Competency Area 1: Business Analysis and Management | Recommended Proficiency | Criticality Rating |
1.1 BUSINESS ENVIRONMENT ANALYSIS | Level 2 | |
1.2 BUSINESS NEEDS ANALYSIS | Level 2 | |
1.3 DATA ANALYTICS | — | |
1.4 EMERGING TECHNOLOGY SYNTHESIS | Level 2 |
Competency Area 2: Design and Architecture | Recommended Proficiency | Criticality Rating | ||||
2.1 DATA DESIGN | Level 1 | |||||
2.2 SOFTWARE DESIGN | Level 2 | |||||
2.3 SOLUTION ARCHITECTURE | Level 2 | |||||
2.4 SYSTEM INTEGRATION | Level 1 | |||||
2.5 USER EXPERIENCE DESIGN | Level 1 | |||||
2.6 USER INTERFACE DESIGN | Level 2 |
Competency Area 3: Development and Implementation | Recommended Proficiency | Criticality Rating | ||||
3.1 APPLICATIONS DEVELOPMENT | Level 2 | |||||
3.2 APPLICATION INTEGRATION | Level 2 | |||||
3.3 CLOUD COMPUTING | — | |||||
3.4 SOFTWARE CONFIGURATION | Level 2 | |||||
3.5 DATA ENGINEERING | — | |||||
3.6 DATA VISUALIZATION | — |
Competency Area 4: Testing and Quality Assurance | Recommended Proficiency | Criticality Rating | ||||
4.1 SOFTWARE TESTING | Level 2 | |||||
4.2 TEST PLANNING | Level 1 | |||||
4.3 USABILITY TESTING | — |
Competency Area 5: Security and Standards | Recommended Proficiency | Criticality Rating | ||||
5.1 DATA ETHICS | — | |||||
5.2 AUDIT AND COMPLIANCE | — | |||||
5.3 CYBER AND DATA BREACH INCIDENT MANAGEMENT | — | |||||
5.4 CYBER FORENSICS | — | |||||
5.5 CYBER RISK MANAGEMENT | — | |||||
5.6 QUALITY STANDARDS | Level 1 | |||||
5.7 SECURITY ADMINISTRATION | — | |||||
5.8 SECURITY GUIDANCE | — | |||||
5.9 SECURITY GOVERNANCE | — |
Competency Area 6: Administration and Support | Recommended Proficiency | Criticality Rating | ||||
6.1 APPLICATIONS SUPPORT | Level 2 | |||||
6.2 DATABASE ADMINISTRATION | Level 2 | |||||
6.3 INFRASTRUCTURE SUPPORT | — | |||||
6.4 NETWORK ADMINISTRATION | — | |||||
6.5 PERFORMANCE MANAGEMENT | Level 1 | |||||
6.6 PROBLEM MANAGEMENT | Level 2 | |||||
6.7 USER SERVICE SUPPORT | — |
Software Developer Resources
Regulation and Certifications:
This occupation is not regulated in Canada. However, software engineering is a discipline of professional engineering which is regulated. The following are some of the certifications and/or certificate programs that may be useful for this occupation:
Certified Software Development Professional (CSDP) – IEEE Computer Society
Microsoft Certified Azure Developer Associate
Microsoft Technology Associate (MTA) – Software Development
AWS Certified Developer – Associate
Oracle Certified Professional, Java EE 7 Application Developer
Scrum Alliance Certified Scrum Developer (CSD)
Citrix Certified Associate-Virtualization (CCA-V)
Popular Courses and Learning Streams
The following is a curated collection of available resources that may be useful for this occupation:
“The Complete JavaScript Course 2022: From Zero to Expert!”, Udemy
“Introduction to Software Engineering”, Coursera + IBM
“Clean Code: Writing Code for Humans”, Pluralsight
Introduction to Computer Science and Programming Using Python”, edX + MIT
“Java Object-Oriented Programming”, LinkedIn Learning
Locally Available Certificates, Diplomas, and Degrees
The following is a list of certificates, diplomas, and degrees available from Nova Scotia universities and colleges that may be useful/necessary for this occupation:
Certificates:
Full Stack Application Development Graduate Certificate, Nova Scotia Community College
IT Programming for Internet of Things Graduate Certificate, Nova Scotia Community College
IT Programming for Artificial Intelligence Graduate Certificate, Nova Scotia Community College
Diplomas:
IT Programming Diploma, Nova Scotia Community College
Undergraduate Programs:
Bachelor of Computer Science, Dalhousie University
Bachelor of Applied Computer Science, Dalhousie University
Bachelor of Science with Major in Computing Science, Saint Mary’s University
Bachelor of Science/Arts with Major in Computer Science, St Francis Xavier University
Bachelor of Computer Science, Acadia University
Bachelor of Computer Science with Software Development Defined Option, Acadia University
Bachelor of Science with Major in Computer Science, Mount Saint Vincent University
Graduate Programs:
Master of Computer Science, Dalhousie University
Master of Applied Computer Science, Dalhousie University
Master of Digital Innovation, Dalhousie University
Master of Science in Computing and Data Analytics
Master of Applied Computer Science, St Francis Xavier University