Job Summary
Reporting to the Manager, Information Architecture, this software developer role will participate in development projects and work closely with the IT Systems team to provide software solutions. The Software Developer I will implement and maintain software programs in support of business and educational delivery needs at CNC . The software developer I assists in the upkeep of the catalogue of custom developed and third-party software to maintain high business value, ensure information security, and to ensure interoperability between various systems.
Specific Duties
Builds software modules, which are later reviewed by the Software Developer II, in support of development projects and in alignment with specifications created by the Software Developer III
Assists in the design of web, desktop and console applications in support of business and educational delivery requirements and in alignment with IT Services architectural goals
Writes efficient and maintainable code, markup and queries to build software applications
Plans and coordinates testing, changes, upgrades, and deployments to fulfill specified requirements
Trains users on newly developed software
Perform database administration such as security configuration, backup restoration, and creation of maintenance plans
Create, maintain, and troubleshoot SQL queries, tables, views, stored procedures and triggers in a relational database
Participate on committees and working groups as a subject matter expert
Identifies areas for improvement within existing programs and subsequently implements those improvements
Advocates for the use of available information technology to automate and standardize business practices
Enterprise systems user account management activities, such as setting up user accounts and passwords, and retrieving user information
Ensures the confidentiality, security, and stewardship of data, including compliance with freedom of information and protection of privacy legislation
Consistently and clearly document information systems
You will be part of a team actively engaged in contributing to and accomplishing the vision, mission, and goals of the College and in supporting the aspirations and needs of our learners.
You will promote a positive work atmosphere by interacting and communicating in a professional manner that demonstrates mutual respect with students and colleagues.
Perform other related duties as assigned.
Skills \& Qualifications
Bachelor’s degree (or higher) specializing in Computer Science or Software Engineering from a recognized institution.
Minimum of one year current experience in software design and development or equivalent education and experience.
Experience in post-secondary education or the public sector is preferred
Experience using Microsoft development and web tools such as Visual Studio, SQL Server Management Studio, and Microsoft Internet Information Server
Experience with ASP .Net, C#, Razor pages, Blazor pages, ASP .Net Web APIs, Javascript, CSS , JQuery and Knockout.js
Understanding of Azure AD and Azure development tools
Ability to create an efficient database design from a logical data model and application specifications
Understanding of normalization, referential integrity and table relationships in Microsoft SQL Server databases
Ability to predict growth based on application and data usage patterns and implement database changes to accommodate the growth
Understanding of Azure app registration
Ability to read and execute basic shell scripts such as batch files and PowerShell to automate administrative tasks
Ability to use source control to resolve conflicts and revert changes
Ability to investigate and record operational requirements and problems
Understanding of deeper security topics such as how encryption and authentication work in principle
Ability to collect clear, accurate and thorough systems requirements
Familiarity with structured approaches to system configuration management
Ability to prepare and distribute progress reports
Experience leading projects
Demonstrated commitment to service excellence and teamwork
Ability to work effectively and cooperatively with a diverse group of individuals or departments
Excellent communication skills, both written and verbal