AppGuard Inc. is seeking a self-motivated, results-oriented, Senior Software Engineer who enjoys working in a fast-paced, innovative work environment, developing new features for the award-winning AppGuard product line. The successful candidate will have an in-depth knowledge of Windows System Internals, advanced concurrency controls, and operating system objects.
Designs, develops and maintains AppGuard Inc. cybersecurity products. Able to lead a small development team and actively participates in evolving software functionality including requirements analysis, software design, development, integration and test. Ability to collaborate with engineering management and staff engineers to develop specifications and software. Work semi-autonomously, defining and meeting long-term project goals without extensive supervision.
- Expert in C++ programming language.
- Experience with Visual Studio, C++/MFC, compilers, linkers, and builders.
- Minimum of 8 years of experience in the design, coding, testing, and support of software systems.
- Windows system programming, Windows devices, WMI, WinINet, Windows Services, Multi-threading, and COM/DCOM programming.
- Familiarity with CryptoAPI, XML, Digital Signing.
- Understanding of Agile system design and development processes.
- Familiar with Git source control system.
- Virtualization: Software development and debugging with Virtual Box and or VMWare platforms.
- Familiarity with Agile Development Methodology and Jira Project Tracking.
- Experience with secure development practices and coding techniques is a plus.
- Expert level Windows Internals for concurrency controls and Thread management.
- Windows concurrency control primitives, I/O completion ports, Windows inter-process communication techniques and programming.
- Extensive debugging and crash dump analysis, expertise with WinDbg.
- Expertise in device driver development: File System Filter drivers, Windows Filtering Platform (WFP) drivers, Windows Kernel programming, and NDIS drivers.
- Experience with code coverage and verification tools.
- Understanding of Windows authentication and authorization technologies.
- Excellent verbal and written communication skills.
- Educational Requirements: BS/MS in Computer Science or an engineering discipline.