Engineer - System Programmer
The porting team is tasked with migrating the Aurora mobile operating system to new devices. We are looking for both junior developers wishing to actively grow in the field of system programming, and experienced professionals with a good understanding of the operating principles of Bluetooth, Fingerprint, GSM: SMS/Voice/Data, WLAN, GPU subsystem, Audio, Multimedia and experience in successfully completing projects for porting Linux to new hardware platforms. What you will be doing: Porting the Aurora OS to new devices; Development, debugging, and fixing drivers for new hardware; Ensuring the best performance and quality of the Aurora OS on new devices; Automation of porting processes; Implementing development results into open source projects.
Requirements
System programming experience: from 1 year; Higher technical education; Excellent knowledge of C, bash; Experience writing or debugging code in C++ and Python; Understanding of the Linux kernel, experience writing and/or debugging kernel modules; Experience writing and debugging system components, daemons (SystemV, systemd, d-bus, etc.); Experience working with any distribution and/or package build system: Yocto, buildroot, kickstart, rpm/deb; Proficiency with development tools such as: gcc toolchain, make/autotools, gdb, git; Experience working with ARM-based platforms; English (intermediate level and above). We will be glad if you have: Experience in system development for mobile OS (Android, Maemo, Meego, Tizen, Sailfish, Mer, Ubuntu, etc.); Experience building AOSP, LineageOS and creating Android BSP for custom ROMs/ports; Understanding of SPI, I2C, RS-232 interfaces; Experience working with any bootloader: u-boot, barebox, etc.; Experience in developing and debugging graphics, wifi / bluetooth, USB, NFC, audio, and other drivers; Ability to read schematics at a basic level; Participation in large open source projects.
Higher education — specialist degree, master's degree; Experience: 3 years