Job Search and Career Advice Platform

Enable job alerts via email!

Software Engineer - Data Communication

Huawei Canada

Ottawa

On-site

CAD 80,000 - 100,000

Full time

Today
Be an early applicant

Generate a tailored resume in minutes

Land an interview and earn more. Learn more

Job summary

A leading technology firm in Ottawa seeks a skilled Software Engineer to pioneer software technologies in data communication. You will explore advanced architectures, solve complex technical challenges, and optimize software performance. The ideal candidate holds a Bachelor’s degree in a related field with proficiency in C/C++, and experience in embedded software development. Creative problem-solving skills are essential. This is a permanent position offering a chance to work at the forefront of innovation.

Qualifications

  • Experience in embedded software development.
  • Familiarity with all stages of software life cycle and development tools.
  • Strong research and problem-solving skills.

Responsibilities

  • Explore advanced technologies for building software architecture.
  • Solve challenges in micro-kernel OS and NoSQL databases.
  • Optimize performance and resource consumption.

Skills

C
C++
Linux
Java
Go
Python
Lua
Shell

Education

Bachelor’s degree in Computer Science, Electrical Engineering or related field
Job description

Huawei Canada has an immediate permanent opening for a Software Engineer.

About the team:

The YunShan Software Lab pioneers advanced software technologies and architectures that address the most pressing pain points, complex issues, and challenges in data communication device software. This lab is at the forefront of innovation and tackles some of the most challenging and exciting problems in data communication software.

About the job:
  • Explore and leverage advanced technologies to build the next-generation elastic, composable and service-oriented software architecture for Huawei’s data communication products (switch/router/IOT).
  • Solve technical challenges in the areas, including but not limited to, micro-kernel OS, compiler techniques, programming language and runtime, NoSql DB, concurrency control, high performance execution, trusted execution, high availability and virtualization.
  • Optimize runtime performance and resource consumption, improve development process and software quality.
  • Help migrate legacy code to new software architecture.
  • Design, code, test and collaborate with others.
Job requirements
About the ideal candidate:
  • Bachelor’s degree or above in Computer Science, Electrical Engineering or related field.
  • Working knowledge of C, C++ and Linux.
  • Experience in embedded software development.
  • Familiarity with all the stages of software life cycle, development tools and build process.
  • Understanding of operating system fundamentals, CPU architecture and data networking.
  • Proficiency in other programming languages (Java/Go/Python/Lua/Shell/etc…) is an asset.
  • Strong ability to research complex topics, distill knowledge into concrete solutions.
  • Creative analytical skills and excellent troubleshooting/debugging skills.
Get your free, confidential resume review.
or drag and drop a PDF, DOC, DOCX, ODT, or PAGES file up to 5MB.