Position: Embedded Software Engineer
Company: Renesas Electronics
Category: C++
Experience required: 2y
English level: upper

The role:
- Develop and test embedded software for high precision electronics devices;
- Embedded firmware development for the new electronics products of company;
- Work in Linux, Windows environment;
- Write code documentation;
- Work in cooperation with software and hardware and FPGA engineers;
- Communication with end user.

What we are looking for:
- BS/MS degree in Computer Engineering or related subjects;
- Embedded programming experience in C, C++;
- Experience with ARM architecture CPUs;
- Experience with RTOS and Embedded Linux device drivers and bootloaders;
- Deep understanding of OOP, SOLID principles;
- Experience with hardware interfaces such as UART, SPI, I2C, Ethernet, PCIe, QSPI;
- Ability to write clean, readable code with clear separation of concerns;
- Could adapt to an existing software solution and to drive implementation of new features to this solution
- Ability to interpret hardware schematics;
- Experience with common development tools (git, test frameworks, IDEs);
- Teamwork skills.

Would be a plus:
- Hardware debugging skills & experience with power supplies, signal generators, oscilloscopes and/or logic analyzers;
- Software development skills in Python, C#;
- Experience with the Zynq SoC architecture, design workflow, Xilinx’s SDK and Peta Linux tools;
- Experience with FPGAs, and FPGA CAD tools: Vivado;
- Experience in desktop application development;
- Experience writing board support packages (BSPs).

We offer:
- Friendly and highly professional team;
- 28 calendar days paid vacation;
- Medical and life insurance;
- English classes;
- Flexible working hours;
- Professional & personal growth.