Senior SW Development Engineer

  • Nokia
  • Burnaby, British Columbia, Canada
  • Jul 31, 2022

Job Description

About Nokia
We create the technology to connect the world. Only Nokia offers a comprehensive portfolio of network equipment, software, services and licensing opportunities across the globe. With our commitment to innovation, driven by the award-winning Nokia Bell Labs, we are a leader in the development and deployment of 5G networks. Our communications service provider customers support more than 6.4 billion subscriptions with our radio networks, and our enterprise customers have deployed over 1,300 industrial networks worldwide. Adhering to the highest ethical standards, we transform how people live, work and communicate. A truly global company, we are 166 nationalities working in more than 118 countries. Come create the technology to create the world.

About Network Infrastructure
Network Infrastructure, includes IP Routing, Optical Networks and Fixed Networks, as well as Alcatel Submarine Networks business, currently reported under "Group Common." This business group will respond to the ever-increasing demand for higher capacity, greater reliability, faster speeds and lower costs.

Job Position Description:
The Software Engineer will join a team in ION R&D with a mandate to develop low level software code to support H/W and S/W development as well as production testing. The team's role is to develop "microcode" software as well as SW drivers and API's for Network Processors.

The Software Engineers will, among other things, take part in the infrastructure development, and design software components used by infrastructure. The Software Engineers will also design and create building blocks upon which various applications/feature-setswill be built upon, as well as design basic forwarding modules and scripts used for building and compiling design and run simulations. Additionally, the Software Engineer will take part in Software Design including delivering forwarding software for provisioning of forwarding entities written in programming languages like C, C++ and python and ensure that the code compiles to meet performance and scale targets.
Job Responsibilities & Competencies
  • Contribute to forwarding software architecture evolution for high-speed Network Processors.
  • Own the design and delivery of software modules within Network Processor Software Development Kits (SDK).
  • Integrate Network Processor Software Developoment Kit into routing and switching stacks.
  • Validate Network Processing functions at unit, integration, and system levels.
  • Work with Product Management to translate market requirements into Network Processor Software design and implementation.
  • Support Quality Assurance functions to successfully complete qualification of multi-generational networking products.
  • Contribute to continuous evolution of Network Processor architecture and design to meet growing feature set, speeds, feeds, power, and cost requirements.
  • Work across team and geographical boundaries to build high quality networking products that capture current and next generation markets.


Qualifications: (Education, Technical Skills/Knowledge)

Required Qualifications:
• Minimum Masters or Bachelor's degree in Electrical Engineering, Telecommunication Engineering, or Computer Engineering with 2+ years of related up to date experience.
• Experience in C/C++ is essential.
• Understanding of writing code on low level direct hardware access using device data sheets for accessing embedded controller and their peripherals and associated low level interface protocols; examples include JTAG, SPI, I2C
• Comfortable working with S/W development environment tools and Linux.
• Well-organized, methodical individual able to work in an environment with time-constraints.
• Fluent, both written and orally, in English. Comfortable explaining problems to both H/W and S/W teams.

Desired Qualifications:
• Knowledge of real time OS and embedded UNIX and using its debug capabilities.
• Comfortable reading product hardware schematics and performing digital circuit analysis. Experienced in analyzing and debugging failures.
• Understanding of script languages like TCL or PERL for test sequencing
• Experience with boot loaders, e.g. u-boot, multi-core processors, PCIe
• Detail-oriented person with an ability to develop comprehensive code to thoroughly exercise H/W functionality of an assigned product.
• Flexible, creative individual who is able to debug product problems in an environment where debug tools are not always well-developed.
• Familiarity with version-control tools like git, and CVS.

Nokia is an equal opportunity employer that is committed to diversity and inclusion. At Nokia, employment decisions are made regardless of sex, gender identity or expression, sexual orientation, race, ethnic origin, color, creed, religion, national origin, citizenship, age, marital status, physical or mental disability, genetic information or ancestry, protected Veteran or military status, or other characteristics protected by law.

Imagine creating technology that has the potential to change the world. Working with us, you will have a positive impact on people's lives and help to overcome some of the world's most pressing challenges. We act inclusively and respect the uniqueness of people. Nokia culture welcomes people as their true selves. Come create the technology to connect the world.