Location: North York, ON – Hybrid (Monday & Tuesday on-site)
Contract Duration: 12 months with a possibility of extension
Working Hours: 40 hours per week (M-F)
Job Title: Software Analyst
Key Accountabilities / Key Areas of Responsibility
- Contributes modifications to the mission/function description, architectural & algorithms design and the refinement of functional and non-functional requirements.
- Designs, codes, debugs, write test procedures and tests software code, chairs design reviews for components of medium complexity or criticality.
- Produces and executes integration tests on simulated or target hardware test benches.
- Produces, under supervision, detailed impact analyses of changes to multiple software components.
- Reviews code, test procedures and test results.
- Identifies the root cause and implements corrections for software defects.
- Perform engineering testing in the field and investigates problems in the field.
- Contributes to co-engineering activities with the Systems Engineering team to ensure system-software consistency and the right refinement of software components and compliance with the software architecture.
- Proposes solutions appropriate for the phase of the project and the duration of the planned activity.
Key Requirements:
- Minimum 3 years relevant working experience
- University degree in Computer sciences, Engineering or a closely related field.
- Intermediate level engineering analysis skills, able to diagnose issues based on field logs and correlate events to failures
- Able to handle assignments within a medium to large scale software application
- Able to propose and implement solutions aligned with the scope proposed in engineering impact analyses, and which follow established design patterns
- Knowledgeable of the software development processes
- Able to quickly integrate with the team and work independently
- Knowledge of software development environment (Microsoft Visual Studio, desktop simulator, target simulator etc.)
- Experience in working within a team using Agile Methodologies
- Working level knowledge of the Microsoft Office Suite
- Practical experience with source control, IDE and requirements management tools (e.g. Eclipse, Jira, Git, ClearCase, ClearQuest, Doors, etc.)
Required Competencies
- Intermediate level experience in development of software for embedded systems using programming languages such as C and C++
- Intermediate level experience in using scripting languages such as Perl, Ruby etc.
- Intermediate level experience in Modelling and Simulation
- Able to program on various operating platforms (i.e. Windows, Linux, Unix etc.)
Must Have’s
- 3+ years of software development experience with C, C++ embedded systems background
- Have experience with full cycle software development
- Bachelors degree in Computer Sciences , electrical engineering
Bonus Competencies
- Understanding of control theory (PID, PD, Fuzzy Logic, Adaptive controllers etc.)
- Understanding of the Graph theory