Senior Kernel Software Developer for Windows reports to the Kernel Team Director of Development. He is responsible for kernel and other system R&D tasks, software architecture and interfaces design for existing and forthcoming components. He may also be responsible for consulting, educating and managing tasks of other developers in the cases when this might be required and delegated to him by the Kernel Team Director of Development.
- Be effective in the role of highly experienced kernel-mode and user-mode components developer for Windows platform with the focus on Cyber Protection solutions.
- Be effective it the role of experienced reverse engineer. Communicate with security analysts, malware researchers and reverse engineers in the common tasks.
- Participate in software architecture and interfaces design for both Windows-specific and cross-platform components developed and maintained by the Kernel Team. Participate in integration of those components to higher-level components or products developed by other teams.
- Maintain existing codebase that Kernel Team is responsible for, fix bugs in drivers and components in a timely manner. Communicate with other teams to investigate and resolve complex issues that might require efforts from several different teams.
- Be capable of creating and assigning tasks, managing other developers both locally in Singapore and remotely in other Acronis offices (in the cases when this might be required).
- Drive professional growth of the Team Kernel members by sharing knowledge and experience in the following areas: Windows internals, kernel-mode development and information security.
- Ensure that development progress, current issues and risks are clearly communicated to the Kernel Team Director of Development.
- Master or Bachelor Degree in Computer Science, Information Security or the equivalent engineering education and experience.
- Deep knowledge and coding experience in C/C++ languages. Deep knowledge of Windows platform internals. Knowledge in information security field and experience in developing security solutions are highly desirable.
- Experience in development of file systems and/or file systems filters/minifilters drivers would be a strong plus.
- Experience in development of network filter drivers, especially Windows Filtering Platform drivers, would be a plus.
- 8+ years of overall development experience on Windows. 5+ years of experience in kernel-mode components development. Experience in writing asynchronous, thread-safe and concurrent code. Experience in writing production-grade code is mandatory.
- Advanced kernel-mode and user-mode debugging skills. Experience in developing extensions / plugins for any debugger would be a plus.
- Good reverse engineering skills, experience with IDA Pro or other similar tools. Good knowledge of assembly language on x86/AMD64 CPU architectures is required. Malware-specific analysis skills are highly desirable.
- Knowledge and experience in software architecture and interfaces (API) design is mandatory. Experience in developing robust and scalable software solutions, performance analysis and tuning would be a plus.