09 Aug
|
Artech
|
Montreal
Key Responsibilities
Software Development
- Analyze product requirements and translate them into technical solutions.
- Design, develop, test, and maintain software applications using modern software engineering practices.
- Produce high-quality, secure, and maintainable code following coding standards and cybersecurity best practices.
- Develop automated unit and integration tests.
- Participate in design reviews, code reviews, and testing activities.
- Document software architecture, implementation, and test results.
- Estimate development effort and deliver features within Agile sprint cycles.
Collaboration & Technical Leadership
- Work closely with software architects, hardware engineers, QA teams, product management, and technical writers.
- Collaborate with internal and external stakeholders to refine product requirements.
- Mentor junior developers and contribute to technical best practices.
- Participate in architectural discussions and technical design reviews.
DevOps & Software Quality
- Design, improve, and maintain CI/CD pipelines and build automation.
- Support software quality initiatives through automated testing, static analysis, secure coding, and threat modeling.
- Troubleshoot and resolve software issues across distributed systems and connected devices.
Required Qualifications
- Bachelor's degree in Computer Science, Software Engineering, Computer Engineering, or a related discipline.
- 8–10+ years of professional software development experience.
- At least 5 years in a senior software engineering or technical leadership role.
- Robust experience with object-oriented software design and UML.
- Extensive experience developing applications on Linux (user-space).
- 5+ years of career development using C/C++ and/or C#.
- 5+ years of UI development using WPF, UWP, or WinUI.
- Experience using AI-assisted development tools such as GitHub Copilot, ChatGPT, or similar code-generation and review tools.
- Strong scripting experience with Bash, Python, Lua, or similar languages.
- Experience estimating work for Agile projects and participating in sprint planning.
- Experience with unit testing frameworks and automated testing.
- Strong debugging and troubleshooting skills.
- Experience developing multi-threaded, multi-process, or distributed applications.
- Experience with communication protocols and web services.
- Excellent analytical, communication, and collaboration skills.
- Bilingual (English/French) is preferred.
📌 Senior Software Designer (Montreal)
🏢 Artech
📍 Montreal