Senior Software Engineer
Indexed description
Title: Senior Software Engineer
Location: Waterloo, ON (2x onsite per week)
Duration: Fulltime, permanent
Salary range: $90,000 - $105,000
Job Description:
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 & Planning
- Assess priorities, design objectives, risks, available options, and trade-offs to recommend the most effective solution.
- Apply architectural patterns and best practices to develop secure, reliable, scalable, and high-performing applications.
- Participate in architectural modeling and solution design to evaluate and validate proposed approaches.
- Estimate, prioritize, plan, and coordinate work activities to ensure projects are delivered on time and according to plan.
Acquisition & Deployment
- Research emerging technologies, development tools, programming languages, and industry standards to support development initiatives.
- Develop detailed technical designs for proposed software solutions.
- Identify potential risks and recommend appropriate mitigation strategies.
- Assist with defining requirements, evaluating vendors, and supporting the selection of new technologies and software solutions.
Operational Management
- Design, develop, test, and maintain software applications and systems while ensuring business and technical requirements are met.
- Create and maintain technical documentation, including design specifications, procedures, and support materials.
- Track development activities and prepare status updates for management and project teams.
- Recommend, plan, and implement software enhancements and upgrades to improve system stability and performance.
- Troubleshoot application and system issues, conduct root cause analysis, and recommend effective solutions.
- Participate in incident, problem, and change management activities to support business operations.
- Contribute to business continuity and disaster recovery planning to ensure critical systems remain available during unexpected events.
- Perform ongoing system monitoring and maintenance to ensure applications meet performance expectations and established service level agreements (SLAs).
- Provide production support for supported applications, including off-hours support when require
REQUIRED SKILLS AND EXPERIENCE
• 5+ years as a full stack developer in an Agile environment
• .NET/.NET Core/APS.NET
• Javascript/typescript
• Vue 2 or 3
• Node.js/express
• mongoDB
• RabbitMQ
• Docker
• Test frameworks like jMeter and Cypress
• Azure DevOps, CI/CD, Container-based Deployments
• Strong Experience with rest APIs
NICE TO HAVE SKILLS AND EXPERIENCE
• Test frameworks like jMeter and Cypress
• Postman
• HTML, CSS
•SQL Database Experience
We may use artificial intelligence tools to assist with the screening, assessment, or selection of potential applicants for this position.
Create a free Caio profile to unlock more results and save your role and location preferences.
Unlock free search