Software Developer
Job Description
Responsibilities:
° Work within a Scrum team to design, implement and maintain application software and kernel drivers.
°Create proposals for technical solutions, team processes and procedures, and drive them through to adoption and implementation.
° Coach other developers with regards to code quality, security, maintainability and solution architecture.
° Write high performance, secure, reliable and maintainable code with solid unit test coverage.
° Troubleshoot issues in the lab, utilizing debugging tools for application software and kernel drivers.
Requirements:
° Bachelors or Masters in Computer Science, Computer Engineering, Software Engineering or equivalent
° Minimum of 5 years of experience in software development and 2 years experience in C++ as a senior developer
° Excellent software design and programming skills
° Linux application development experience
° First class analytical, diagnostic and problem solving skills
° Excellent verbal and written communication skills with an ability to collaborate with developers, product owners and other team members
° Passion to work in an exciting environment and deliver new technologies and products to the marketplace
° Ability to learn quickly
° Please advise in your application whether you are eligible to work in Canada
Bonus Points:
° Windows, macOS, iOS, Android cross platform application development experience
° Experience with multi-threaded high performance programming with in-depth knowledge of CPU architectures
° Experience with application frameworks (e.g. electron, Qt, nodejs)
° Working knowledge of data compression algorithms
° Knowledge and hands-on experience with hyper-visor/kernel and device driver development (Linux, macOS and/or Windows)
° Hand on experience with test automation and scripting languages (e.g. Perl and/or Python)
° Experience with Agile development approaches such as Scrum
Work in Canada
Employment Options
Base Salary
100,000 - 140,000 CAD

