Follows the SDLC, Software Development Lifecycle using Software Engineering best practices as described in the OSI documented processes and training.
Follows the coding standards and best practices to write high quality source code in C and C++.
Participates in peer reviews of the source code and ensures all development is maintained in the version control repository.
Prepares software specifications and manages requirements for new software features.
Produces software detailed designs and makes regular updates to the design documents when changes are made.
Maintains the code by correcting defects (bugs) and troubleshooting system problem reports and customer tickets.
Demonstrates full ownership for their work, resolving road blocks, and communicates deadlines and technical challenges to their Technical Lead or Manager.
Produces software estimates and participates in technical work breakdown and defining scope.
Identifies, analyses, and resolves diverse software technical challenges.
Commits to project objectives and meeting the project schedule and budgets.
Provides technical expertise and reviews of documentation including the publications developed by the Technical Publication group.
Produces software technical documentation which supports the project or department needs.
May take on additional responsibilities as a Technical Lead, delegating work, tracking work, building teams moral, helping to move team road blocks and reporting on behalf of the team to the Project Manager.
May participate in the concept phase including the creation of prototypes or use cases.
May support the Test Team activities including running test procedures and supporting lab setup or deployment may assistance is required.
Provides support to multidisciplinary teams and sales teams as a subject matter expert.
Provides technical guidance and mentoring to new staff including participation in onboarding and the buddy program.
May be required to travel to customers sites and shore installation and testing facilities, to meet project demands. And customer expectations.
May interface and provide support and assistance to customers while visiting sites or ships.
Demonstrates professionalism when interfacing with customer and prioritizes customer requests.
Makes recommendations for changes to software development guidelines, tools and standards, and assists in the creation and rollout of new improvements.
Commits to prioritizing and correcting Usability, Safety and Security concerns.
Complies with OSI’s established ISO-9001-compliant development guidelines and standards.
Follows and ensures workplace operating and environmental, health and safety procedures and guideline compliance.KNOWLEDGE & QUALIFICATIONS
Education: Degree in Computer Science, Software, Electrical or Computer Engineering, Engineering Physics or Mathematics.
Experience: 4-6 years’ experience in a software environment; experience in developing real-time interfaces to external systems; experience working in an ISO 9001 compliant software engineering environment would be an asset; experience in the defense or aerospace domains is an asset
Technical Skills: Experience in C/C++ development under Windows Role & responsibilities