The Role
This position is responsible for the design, execution, assessment, security, and troubleshooting of software programs and applications.
This includes configuring, coding, developing, and documenting software specifications throughout the project life cycle.
In addition, the Software Engineering stream provides day-to-day operations and production support, including off-hours problem resolution of supported applications.
Strategy and Planning
- Evaluates priorities, design goals, risks, options, and compromises and recommends most suitable approach.
- Familiar with architectural patterns that contribute to the production of secure, reliable, manageable, and high-performance solutions.
- Perform architectural modelling to assist in determining solution efficacy.
- Performs estimating, prioritizing, planning, and coordinating of work to reliably and consistently deliver according to plan.
Acquisition and Deployment
- Direct research on emerging application development software products, languages, and standards in support of procurement and development efforts.
- Performs detailed technical design of proposed solutions.
- Evaluates relevant risks and determines mitigation strategies.
- Identify requirements and manage the procurement process and vendor selection for new technologies.
Operational Management
- Develop and review software programs, code, and unit tests for new and existing applications and systems, ensuring functional and non-functional requirements are met.
- Develop, and maintain supporting documentation as required. Gather statistics and prepare and write reports on the status of the programming process for discussion with management and / or team members.
- Recommend, schedule, and perform software improvements and upgrades for optimal performance of company workstations.
- Perform troubleshooting and root cause analysis in support of incident and problem management. Recommended options to address identified issues.
- Participates in development, implementation, and maintenance of plans to ensure continuation of critical operations in the event of a disaster or interruption.
- Provides ongoing system maintenance and monitoring to ensure adherence to SLAs.
What You Bring To The Team
- 6-9 years relevant experience
- Experience in automated software engineering concepts including CI / CD and related process used to streamline cycle time and improve product quality.
- Development of web-based applications and API services.
- Experience in micro services and distributed system architectures.
- Experience in AAA (authentication, authorization, access control) principles and the use of OpenID Connect, SAML, OAuth and related technologies.
- Architectural practices with specific emphasis on modelling and design
- Functional, unit, and shift-left testing principles and methodologies.
- Secure coding, design and related practices used to reduce the risk of unauthorized access and information disclosure.
- Post-secondary degree or diploma in Computer Science, Engineering, or a related field
Technical Skills
- NET / .NET Core / / MVC, Azure DevOps, JavaScript / Typescript, / Express, MS SQL Server, NoSQL (MongoDB), Message Brokers (RabbitMQ), Docker, Testing frameworks (jMeter, xUnit, Selenium), Postman
30+ days ago