The Senior Kernel Software Developer for macOS reports to the Head of Mac Subgroup of Kernel Team and is responsible for all macOS kernel and other system RnD tasks, the architectural design of the developing components and responsibilities that are delegated to him by the Head of Mac Subgroup of Kernel Team.
- Be effective in the role of kernel and systems level components developer for macOS. Linux kernel development experience may also be required.
- Be effective in the role of the reverse engineer. Effectively communicate with malware/security researchers / reverse engineers in the common tasks.
- Participate in the architectural design of both macOS platform-specific and cross-platform components developed by the Kernel Team, along with their integration with components from other teams. Be responsible for functionality, robustness, performance and scalability of designed solutions.
- Maintain existing components of Mac Subgroup of Kernel Team, fix bugs in them in the timely manner. Communicate with other teams to investigate and fix bugs of complex nature, requiring efforts of several involved teams.
- Be open in knowledge sharing and be capable to organize the process of education of others team members locally in Singapore, as well as remotely in other Acronis offices.
- Assist the Head of Mac Subgroup of Kernel Team in building of the Mac Subgroup, recruitment process, professional growth organization and extending of fields of experience of the subgroup members. Dedicate special efforts to not-yet-covered system development areas such as Network Filters, system API intercepting techniques and so on.
- Ensure that development progress, problems and risks are clearly communicated to the Head of Mac Subgroup of Kernel Team.
- Master or Bachelor Degree in Computer Science or the equivalent engineering education and experience is absolutely mandatory.
- Deep knowledge and practical experience of C/C++/assembly languages. Knowledge of C#/Java, Objective-C/Swift, Python / other scripting languages is appreciated, but not required.
- 2+ years of macOS kernel space and daemon development. Experience of production level kernel development is absolutely mandatory.
- Advanced kernel mode debugging skills, extensive experience of work with kernel level debuggers LLDB. Experience of debugger’s extensions/addons/plugins development is desirable.
- Deep knowledge of modern Unix OS kernels (macOS, Linux). Experience of the flexible use of both documented and undocumented approaches of interacting with them.
- Reverse engineering skills, deep experience of work with IDA Pro or/and Hopper and other related tools. Deep knowledge of assembly language of x86/x86-64 CPUs is absolutely mandatory, ARM/Aarch64 is desirable.
- Willingness to master Windows Kernel field would be a plus.
- Recent experience with Data & System Protection technologies, rich background in both Data and System protection is highly beneficial.