Location: North York, Ontario
Employment Type: Contract
Contract Duration: 1 year (Potential end date: May 19th, 2023 with the possibility of extension)
Job Title: Software Analyst
To perform design, analysis, programming, testing and integration activities in the development of software for train control systems of Rail Signaling Solutions, achieving Customer Satisfaction of the delivered solution/product.
Duties and Responsibilities:
- Understands the customer's needs and through life cycle concerns whatever the used means (e.g. advanced studies, simulations, mock-ups, models, prototypes, etc.).
- Contributes to the formalization of 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.
- Reviews code, test procedures and test results
- Analyses and implements correction for defect reports
- Perform engineering testing in the field and investigates problems in the field.
- Assists functional manager in providing training to the staff.
- Contributes in co-engineering activities with the Systems Engineering team in order to ensure system-software consistency and the right refinement of software components and compliance with the software architecture.
- Solves tasks in the best technical and timely manner. Looks for opportunities and make suggestions for improvements.
- Can also spend a part of his/her time in Work Package Management (WPM) within his/her technical domain.
- University degree in Computer sciences, Engineering or a closely related field.
- Minimum 2 years relevant working experience in development of software for embedded systems using programming languages such as C and C++
Knowledge and Skills Required:
- Have C programming/software development skill and work experience
- Have stable work experience (3-5 years per assignment)
- Embedded or real time software development experience is an asset
- Railway system or aerospace system working experience is an asset
- Intermediate level 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
- 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)
- Experience in working within an team using Agile Methodologies
- Practical experience in using typical programs which are part of Microsoft Office Suite
- Practical experience with source control, IDE and requirements management tools.
- Intermediate level experience in development of software for mission critical /near real time systems.
- Knowledgeable of object oriented techniques, multithreading, socket programming
- Familiar with software building tools like gmake, MSBuild
- Intermediate level knowledge of railway signaling techniques including of SelTrac CBTC
- Intermediate level experience in development of software in Java, C-Sharp, Assembly and Python programming languages will be considered an asset
- Intermediate level experience in using scripting languages such as Perl, Ruby etc.
- Intermediate level experience in Modelling and SimulationAble to program on various operating platforms (i.e. Windows, QNX, Linux, Unix etc
- Hybrid (1 day per week in office)