Key Responsibilities
- Design, develop, and optimize high-performance software in C for Linux-based environments.
- Architect and implement complex systems with a focus on scalability, reliability, and maintainability.
- Work with a wide range of networking protocols and ensure robust communication between distributed systems.
- Lead and mentor a team of software engineers, providing technical guidance and fostering professional growth.
- Collaborate with cross-functional teams to define requirements, develop solutions, and ensure timely delivery.
- Drive best practices in coding, testing, and deployment.
Qualifications
- Bachelor’s degree or higher in Computer Science, Computer Engineering, or a related field.
- 8+ yearsof professional experience in software development.
- Expert proficiency in C programming.
- Strong knowledge of networking protocols (TCP/IP, UDP, HTTP, etc.) and network programming concepts.
- Extensive experience with Linux operating systems and Linux programming.
- Proven ability in system architecture and design.
- Strong leadership skills with experience managing or mentoring engineering teams.
- Excellent problem-solving skills and ability to work under minimal supervision.
Preferred Qualifications
- Experience with distributed systems and high-availability architectures.
- Familiarity with open-source contributions or community involvement.
- Knowledge of security best practices in system and network programming.
The Canada base salary range for this full-time position is expected to be between $112,100 - $137,700 annually. Wage ranges are based on various factors including the labour market, job type, and job level. Exact salary offers will be determined by factors such as the candidate’s subject knowledge, skill level, qualifications, and experience.