Senior C Developer
Location: Ottawa ON, Canada
Term: Full time, permanent
High Tech Genesis is seeking a Senior C Developer who will be responsible for creating commercial software products in collaboration with Product and Engineering Leadership.
Your role will involve gaining a deep understanding of both business and technical requirements, crafting comprehensive software technical specifications, writing and reviewing code, as well as conducting unit testing.
In addition, you may take on the leadership role of guiding a team of junior developers within an agile methodology. Together, you will work towards building innovative software products, both by creating new ones and enhancing existing ones.
- Design, develop, and maintain commercial software products using C libraries
- Collaborate with cross-functional teams to identify and prioritize project requirements
- Lead the development of new features and functionalities, ensuring they meet quality and performance standards
- Mentor and train junior software engineers on best practices and industry standards
- Act as a technical advisor to the team, providing guidance and direction on complex projects
- Troubleshoot and debug software issues, and provide solutions to improve system performance
- Participate in code reviews and ensure adherence to coding standards
- 5 years of professional expertise in the development of commercial software products, specifically emphasizing C libraries.
- Engaging in the development of cryptographic algorithms or post-quantum cryptography is an asset
- Command line compiler experience, such as GNU ARM tool chain
- Experience developing for Linux operating system
- Having additional experience in OS development, particularly in Windows, MacOS, iOS, Kotlin, and similar platforms, is considered advantageous
- Embedded 32bit ARM based programming skills a plus
- Strong understanding of software development principles and agile methodologies
- Experience with DevOps, CI/CD, Confluence, Jira, Github
- Experience working on commercial production systems
- Experience leading and mentoring teams
- Excellent problem-solving and analytical skills
- Strong communication and interpersonal skills
- Bachelor's degree in Computer Science, Computer Engineering, or a related field