System On Chip Embedded Software Engineer

Nokia
Plano, United States of America
1 month ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English

Job location

Plano, United States of America

Tech stack

API
Software Applications
Automation of Tests
C++
Software Debugging
Middleware
Embedded Software
Hardware Design
Python
Real-Time Operating Systems
Software Engineering
SystemC
System on a Chip
SystemVerilog
Data Logging
Information Technology
Programming Languages

Job description

Within the system-on-chip team, there is a wide range of SW activities that are crucial to make the chip's features shine in the final product. As an embedded software engineer, you will work alongside the design and validation engineerscand leverage their expertise to meet the team's goals.

You will contribute to the SDK (Software Development Kit) of the chip during the complete journey from concept to product, including low level drivers (interactions with the chip's register map), toolchain (compiler and other debugging tools), hardware models and other real-time software

Your responsibilities:

  • You will define a user-friendly interface towards application software and middleware, and implement a translation of the chip's register map into that API, including:
  • Handling the initialization and configuration of the chip
  • Handling the interrupt tree
  • Performing sanity checks and error logging
  • Implementing layers of protection and debug features
  • You will design and implement software models (from high-level to cycle-accurate -based on our need) that allow RTL validations and early testing. These models mimic the RTL behavior, from high level to cycle-accurate, based on the need for detail.
  • You might contribute to the development of our hardware-specific compiler tool in order to provide a translation between high-level packet-processing languages into chip configuration, including:
  • Syntax analysis of high-level packet-processing programming languages
  • Perform optimizations or circumvent limitations based on the capabilities of our chip
  • Define high-level architectural definitions of our chip that will be provided to application SW teams
  • You will provide support to application SW teams on how to use the hardware more efficiently. You will implement features with a close link to the hardware implementation
  • You will support/drive bring-up activities to demonstrate and derisk architectural, design and implementation choices in early development stages, including the development of automated test systems on prototypes and emulators.
  • You will provide support to application and middleware SW teams in their feature development and support the introduction of the product into the field.
  • You will contribute to the support and maintenance of the software products after the release, The length of the recruitment process may vary depending on the specific role's requirements. We strive to ensure a smooth and inclusive experience for all candidates. Discover more about the recruitment process at Nokia. We are an Equal Opportunity Employer and do not discriminate against any employee or applicant for employment because of race, color, sex, age, national origin, religion, sexual orientation, gender identity, status as a veteran, and basis of disability or any other federal, state or local protected class.

Requirements

  • You hold a Master's degree in (applied) engineering sciences: Electrical engineering or Computer Science
  • You have a broad interest in the telecom sector.
  • Agility in learning is key
  • Experience with C/C++, Python, virtual platform development., * Previous work experience in a similar field is welcome, but the position is open for junior engineers or more senior SW engineers
  • Experience with telecommunication protocols and/or physical layer technologies is a plus
  • Experience with System C, SystemVerilog, TLM2 is a plus
  • Experience with compiler development and general compiler internals is a plus
  • Experience with hardware emulation is a plus
  • Good communication skills and a strong independent thinker

Advancing connectivity to secure a brighter world.

Benefits & conditions

In the context of those responsibilities, you will cooperate with system architects, hardware design engineers, application engineers, project managers... Concretely, you will be required to:

  • Work with the SoC designers and understand the functionalities of the chips.
  • Work with the hardware teams and understand capabilities and limitations of boards.
  • Work with the SW teams and understand how the chip will be used in the final product, as well as find the optimal boundaries between software - hardware domains.

For the produced software, we will expect you to be an advocate of software quality, participate in code reviews, write code that is self-explanatory, maintainable and debuggable.

We expect you to be continuously looking for improvements in all areas of your work and the team's work. And most of all, we expect you to become not just a cog in the wheel, but one of the engines that helps the wheel drive. In return, next to an attractive compensation package, you will be a part of a great team with strong opportunities for personal development and technical skill broadening.

Apply for this position