Lead Embedded developer (Linux, FPGA, STM32)

Job description

Railnova is opening a new position for Lead Embedded developer. As we are growing, we are building a small team of 3 for the embedded function; at the crossroad with the Railster our hardware product, and our different software solutions for predictive maintenance in the railway industry. Do you like trains? Electronics? Linux? Do you have experience in leading a team? This role is an opportunity for you if you are looking to move into a challenging technical environment and grow a small team into a key business partner. You will start by learning from the Hardware and Software teams, to discover our products and interfaces. Once onboard, it will be your turn to support them, develop your embedded team, and start assisting the clients as well.  

 

What you will be doing  

You will mostly work on Railster OS, a custom Linux distribution for our Zynq (ARM+FPGA) based boards. In this context you will :

  • Lead the Embedded developer Team on achieving Railster OS release objectives

  • Have direct management responsibility for a team of 3 embedded developers

  • Interact with the electronic team, the cloud software team and the customer project teams to define and organize the prioritie.

  • Spend approx 50% of your time, writing and developing reviewing code and 50% managing the team, communicating and writing specifications.

  

Detailed tasks to give you a better idea of the team responsibilities are:

  • Write new and modify existing applications to monitor the device itself, and gather data from all sorts of trains worldwide

  • Make the required software integration for new hardware revisions of the devices

  • Investigate hardware issues and propose software workaround to keep our installed fleet up & running

  • Regularly apply security and improvement updates to 3rd party packages

  • Modify Linux device drivers and userspace hardware utilities

  • Peer-review code changes and issues with your team and the other departments

  • Support our project management and sales teams to offer new functionality to our customers

  • Support our after-sales and QoS (Quality of Service) team to help diagnose and fix issues remotely

  • Write documentation and release notes for new versions of Railster OS.

Requirements

  • Solid programming skills in C, shell script and Python for POSIX systems
  • Bonus point for experience with Lua or other programming languages

  • Bonus point for experience with reactive programming (Rx)

  • Understanding of cross-compilation toolchains and build systems, such as Buildroot, Yocto or PTXdist

  • Knowledge of the Linux kernel configuration (KConfig) and device tree language
    • Bonus point for experience with bootloaders such as U-Boot or Barebox

  • Relevant experience working with requirements, specifications and documentation of complex technical systems.

  • Safety and system-related engineering experience will be preferred (CENELEC EN50126, EN50128, EN50129 or equivalent).

  • Excellent communication and problem-solving skills

  • Unix or Linux knowledge.

  • Excellent communication skills.

  • Experience with IP networking (TCP, UDP, FTP, HTTP, MQTT, modbus, OPC-UA, ...) and analysis tools (tcpdump, wireshark)

  • Experience in working with the clients

  • Experience in leading/growing a team

  • Bonus point for experience working with FPGAs and associated device drivers

  • Bonus point for experience with web servers and web applications, such as Django

  • Bonus point for experience with SQL and data analysis in Python

  • Bonus point for experience with electronic instrumentation (oscilloscopes, logic analyzers, ...)

  • Bonus point for experience with digital electronics, reading schematics and datasheets

  • Bonus point for experience with microcontroller programming, preferably with an embedded OS like ChibiOS, Zephyr or FreeRTOS

  • Bonus point for experience with IoT security (PKI, user management, ISO27k)

  • Bonus point for the experience of development according to safety standards such as CENELEC (EN50126, EN50128, EN50129) or equivalent.


Why Railnova?

Railnova has a work culture focused on autonomy, creativity and everyday improvement. We implemented an asynchronous way of managing tasks, enabling uninterrupted focus time and avoiding internal meetings and e-mails. You’ll be given space to grow as part of a highly skilled cross-functional team. On top of that you’ll get:

  • You have the choice of being either fully remote (in Europe), or partial remote, or full time in our offices near Brussels South Train Station (when sanitary conditions allow for it).

  • Budget and time to attend conferences, workshops and online classes

  • Smartphone, laptop, and screens of your choice (MacBook, Linux, Windows)

  • You'll work with sleek and modern apps (Slack, Basecamp, Intercom, Pipedrive, Github, Dropbox, Docusign, Google docs)

  • Extra healthcare DKV insurance, transport card, company car, bicycle plan, and meal vouchers

  • Competitive pay and benefits package with real year-on-year remuneration growth.

How to apply?

The application process is handled as follows:

  • Submit your written application via the “Apply for this job” button and carefully craft your answer

  • The hiring manager and the HR team evaluate your application within 15 days of your application. At this stage, we are looking for strong written communication, critical thinking, and experience.

  • Interview with the Hiring manager

  • Case study exercise

  • Final interviews and team presentation

You can ask questions at any time during the application process simply by responding to the confirmation email you’ll receive after submission.