For the role described, here are the core technical skills and experience required:
Core Technical Skills and Experience:
Security Solutions & Development:
- 8+ years of experience in the development of endpoint, network, or cloud security solutions.
- Experience building and sustaining cloud, network, or endpoint security solutions on Windows and/or macOS.
- Familiarity with data security challenges related to cloud access and data protection.
Programming Skills:
- Strong expertise in C++ and/or Objective-C programming languages.
- Experience in writing multi-threaded, multi-platform code with an emphasis on performance and scalability.
- Understanding of data structures and algorithms to write efficient and optimized code.
Operating System Knowledge:
- Deep knowledge of Windows and/or macOS at the system level, including understanding their file systems and operating system fundamentals.
- Ability to develop client/agent technologies for both platforms, ensuring reliability and performance.
Development Practices:
- Strong adherence to software development best practices, including Test-Driven Development (TDD).
- Familiarity with unit testing frameworks to ensure high-quality, reliable code.
- Ability to write and execute development test routines to validate modules and features.
UI Development (Optional):
- Familiarity with desktop UI development using frameworks like Cocoa (macOS) and MFC (Windows) is a plus, especially for building client-facing applications.
Cryptography & Data Formats:
- Understanding of cryptography techniques to ensure data protection and secure communications in the software.
- Familiarity with web data formats like JSON, XML, and MIME to handle various data exchanges between the client and security solutions.
CI/CD & DevOps:
- Experience with CI/CD tools such as Jenkins to ensure continuous integration and deployment for software.
Collaboration & Communication:
- Strong verbal and written communication skills for collaborating effectively with the team, product management, and QA.
- Ability to communicate transparently and consistently with team members and stakeholders.
Bonus Skills:
- Knowledge of TDD (Test-Driven Development) and experience with unit testing frameworks is a bonus.
- Familiarity with desktop UI frameworks like Cocoa (macOS) and MFC (Windows) for additional UI-related development.
Education:
- BS in Computer Science or equivalent (required).
- MS in Computer Science or equivalent (strongly preferred).
This role requires a strong foundation in system-level programming for Windows and/or macOS, with a focus on security, multi-platform development, and strong adherence to software quality practices.