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
- Contributes to evaluation of design options and approach.
- Familiar with architectural patterns that contribute to the production of secure, reliable, manageable, and high-performance solutions.
- Contribute to architectural modelling to assist in determining solution efficacy.
- Performs estimating, prioritizing, planning of tasks to deliver according reliably and consistently to plan.
- Estimates feasibility of requests and negotiates on deliverables
Acquisition and Deployment
- Conduct research as directed on emerging application development software products, languages, automation tools, and standards in support of procurement and development efforts.
- Performs detailed technical design of proposed solutions for individual software components.
- Contributes to the determination of relevant risks and determines mitigation strategies.
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 software applications.
- Perform troubleshooting and root cause analysis in support of incident and problem management and recommend 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++
- 5 years relevant experience
- Familiar with automated software engineering concepts including CI/CD and related process used to streamline cycle time and improve product quality.
- Development web-based applications and API services.
- Familiar with security principles and concepts such as AAA, OWASP
- Experience with SQA/testing practices including functional, unit, and shift-left testing principles and methodologies.
- Familiar with threat landscape as it relates to web-based application and mitigation concepts and practices
- Minimum knowledge of cloud native development practices and design patterns using private or public cloud providers required
- Basic understanding of cloud patterns and infrastructure management using private or public cloud providers required
- Strong competency in Agile methodology to drive collaborative and adaptive solution delivery in a fast-paced IT environment
- Post-secondary degree or diploma in Computer Science, Engineering or a related field
Technical Skills
- Vue.js or any other UI libraries
- Azure DevOps
- JavaScript/Typescript
- Node.js/Express
- MS SQL Server
- NoSQL (MongoDB)
- Message Brokers (RabbitMQ)
- Docker
- Testing frameworks (jMeter, xUnit, Selenium)
- Postman
If this sounds like you and you are looking to be a part of one of Canada's largest independent mortgage finance companies, then we want to hear from you!