drjobs
LEAD SOFTWARE ENGINEER
drjobs LEAD SOFTWARE ENGINEER العربية

LEAD SOFTWARE ENGINEER

Employer Active

1 Vacancy
The job posting is outdated and position may be filled
drjobs

Job Alert

You will be updated with latest job alerts via email
Valid email field required
Send jobs
drjobs

Job Alert

You will be updated with latest job alerts via email

Valid email field required
Send jobs

Job Location

drjobs

Geisenheim - Germany

Monthly Salary

drjobs

Not Disclosed

drjobs

Salary Not Disclosed

Vacancy

1 Vacancy

Job Description

Req ID : 1684630

For our TOPCON Positioning Solutions BU Germany we are looking for a

Lead Software Engineer (C++/Real Time Systems)

Functional duties:

Functional duties:

  • Hybrid work in an international (Germany, Italy, Russia, USA) team of developers on the firmware based on RTEMS RTOS intended to geodetical-grade GNSS receivers with a rich functionality.
  • Working during normal CET working hours
  • Attending physical office will
    be required occasionally (the schedule is defined based on the local office
    policy and agreement with the technical team leader)
  • Requirement analysis,designing solutions, effort estimation, actual implementation
  • Program architecture development, support of existing implementation and adding new functionality
  • Work is possible either on Linux or Windows development machine

Depending on the skills and individual preference working on tasks ranging from business logic development to low level system programming, for example:

  • System and application development for Sparc LEON architecture using RTEMS 5 and targeting proprietary ASIC with multiple cores

  • Extending programmable API intended for customers and external software developers

  • Collaboration with teams of our Linux system developers, DSP FreeRTOS developers, microcontrollers firmware developers on delivering functionality

  • Supporting settings storage subsystem

  • Supporting networking functionality

  • Adding functionality to u-boot bootloader including device initialization

  • Working on firmware update feature in u-boot

  • Support of multicore execution

  • Implementing reliable recovery bootloader to put into ASIC fuses

  • Support of drivers for NAND, SD, CAN, Ethernet, USB controllers

  • Work with HW teams on testing procedures for various HW subsystems

  • Development of data and message exchange library between LEON, ARM and CEVA cores (OpenAMP-based).

  • Development application-specific message exchange protocols (IMU, digital radio and others)

  • Development of internal messaging APIs to communicate with peripheral devices via SPI, i2c buses (like IMU).

  • Diagnosis of HW issues in cooperation with our ASIC developers and other HW developers

  • Working on various runtime defects (work with stack traces, hardware breakpoints and hardware debuggers)

  • Performance optimization

  • Providing help for engineers working on implementing the mathematical algorithms in code

Requirements:

  • Experience working in a team in a shared code ownership environment, responsibility and wide knowledge of the programming
  • Long term commitment to the work
  • University degree Software, Electrical, Computer Engineering ore related
  • Good English or good Russian. Based on the location: basic German or basic Italian.
  • Experience in C++ development from 5 years.
  • Experience with basic development tools and version control (git + pull requests), issue-tracking, continuous integration, continuous delivery, refactoring, and static and runtime code checking.
  • Ability to understand existing program architecture and existing source code
  • Ability to extend the extend the existing code
  • Experience with bare-metal and/or RTOS (RTEMS, FreeRTOS) development
  • Ability to read digital schematics
  • Experience working with oscilloscope and hardware debuggers (JTAG)

Nice to haves:

  • Understanding GNSS
  • Experience with microcontrollers and/or FPGA programming
  • Interrupt-driven programming, understanding multitasking in microcontrollers and in RTOS, understanding how cashes work
  • Understanding basic program architecture principles (coupling vs cohesion, composition, inheritance), OOP principles (SOLID), design patterns
  • Experience with code optimization (performance, memory consumption)
  • Experience troubleshooting run-time issues in embedded systems
  • Experience developing programming APIs and documenting them.
  • Development for Sparc architecture
  • Experience with RTEMS
  • Experience with RTC programming, working with SPI, i2c, UART, CAN
  • Experience with OpenAMP, mailbox
  • Knowledge of networking protocols like UDP, TCP/IP, FTP
  • Experience with data transmission protocols
  • HDL, FPGA
  • DSP (Blackfin, CEVA)
  • Automated unit testing
  • Static code analysis cmake
  • Advanced ++, including ++ templates
  • Some experience with Linux development

Tasks

  • Hybrid work in an international (Germany, Italy, Russia, USA) team of developers on the firmware based on RTEMS RTOS intended to geodetical-grade GNSS receivers with a rich functionality.
  • Working during normal CET working hours
  • Attending physical office will
    be required occasionally (the schedule is defined based on the local office
    policy and agreement with the technical team leader)
  • Requirement analysis,designing solutions, effort estimation, actual implementation
  • Program architecture development, support of existing implementation and adding new functionality
  • Work is possible either on Linux or Windows development machine

Requirements

Requirements:

  • Experience working in a team in a shared code ownership environment, responsibility
    and wide knowledge of the programming
  • Long term commitment to the work
  • University degree Software, Electrical, Computer Engineering ore related
  • Good English or good Russian. Based on the location: basic German or basic Italian.
  • Experience in C++ development from 5 years.
  • Experience with basic development tools and version control (git + pull
    requests), issue-tracking, continuous integration, continuous delivery,
    refactoring, and static and runtime code checking.
  • Ability to understand existing program architecture and existing source
    code
  • Ability to extend the extend the existing code
  • Experience with bare-metal and/or RTOS (RTEMS, FreeRTOS) development
  • Ability to read digital schematics
  • Experience working with oscilloscope and hardware debuggers (JTAG)

Employment Type

Full Time

Company Industry

About Company

Report This Job
Disclaimer: Drjobpro.com is only a platform that connects job seekers and employers. Applicants are advised to conduct their own independent research into the credentials of the prospective employer.We always make certain that our clients do not endorse any request for money payments, thus we advise against sharing any personal or bank-related information with any third party. If you suspect fraud or malpractice, please contact us via contact us page.