Embedded Software Engineer

Embedded Software Engineer

u-blox

Tampere or Athens

Job Description

As an Embedded Software Engineer in the Embedded Operating System team, you will work to bring the company’s in-house operating system to new generations of positioning receivers. You will be involved in full development cycle of the positioning receivers utilizing the OS, from participating in studies and requirement engineering, to implementation, verification, delivery and maintenance.

In your daily work, you will be using Agile approach, collaborating with other developers through Teams, Confluence, Jira, Gitlab, wiki and Jama. You will mainly program in C but will also use assembler for ARM (Thumb2), Python, Perl, and C++.

To be successful in this role, you need to be comfortable in finding your way in a complex codebase, identifying main components and discerning interfaces from their implementation. You should be experienced with code reviews and collaboration on a shared codebase. Proficiency with embedded system design specifics (SW, HW) and OS internal mechanisms: drivers, networking, memory management, persistent storage, task scheduling and IPC, etc., is required. In addition, a good general understanding of digital electronics is beneficial, as well as being able to read schematics and use soldering iron. Experience with using on-chip debugger, oscilloscope and logic analyser is necessary.

There shall be occasional travel to other u-blox sites within Europe.

Your Responsibilities

  • Operating System (OS) development for new and existing platforms of u-blox positioning products
  • Hardware and Software verification, OS verification
  • Development and maintenance of software tools and scripts
  • Documentation, knowledge sharing
  • Support for other development teams in OS-related topics

Your Skills and Experience

  • BSc., MSc or another degree in computer science, electrical engineering or equivalent studies
  • 5+ years of experience with Embedded Systems and low-level programming
  • C/C++, Assembly, Python, Perl (optional)
  • Excellent verbal and written communication skills (English)
  • Problem solving skills and critical thinking
  • You have experience in at least 3 of the following areas:
    • Solid usage of git, compilers, toolchains, make/cmake
    • Embedded driver and OS development, kernel development, IPC, memory management
    • Confident user of Linux (kernel, device driver and other development experience is a bonus)
    • Debugging, JTAG, gdb, openOCD
    • Digital electronics, PCB design and experience with lab equipment

Bonus Points

  • CI/CD experience
  • Security, embedded security
  • Hardware emulation experience

Apply Now

Don't forget to mention EuroTechJobs when applying.

Share this Job

More Job Searches

Multiple Countries      C++ Developer      Developer      Embedded Software Engineer      Hardware and Telecoms      Linux and Unix      Perl Developer      Python Developer      u-blox     

© EuroJobsites 2024