Title: Principal Software Engineer
Location: Remote; United States or Canada
Experience: Senior
Employment Type: Full-Time
Industry: Computer and Network Security
Job Summary
Leads development of complex software solutions, providing technical expertise and guidance. Designs, codes, and maintains applications while mentoring other engineers and improving practices.
Applicants must be legally authorized to work in the United States or Canada.
Job Responsibilities
- Lead the design, implementation, and maintenance of complex software solutions.
- Provide technical expertise and guidance to engineering teams.
- Ensure high standards of code quality through reviews, pull requests and best practices.
- Work with cross-functional teams to achieve project objectives and resolve issues.
- Drive improvements in software design and development processes.
- Identify and address technical problems and performance issues.
- Mentor other engineers, providing guidance and support for their development.
- Work closely with the Quality Assurance teams and participate in QA efforts when needed.
- Participate in internal and external product support when needed.
- Engage in Agile ceremonies and contribute to iterative development processes.
Minimum Qualifications, Education, and Skills
- Bachelor's degree in computer science, Engineering, or a related field
- 7-9 years of experience in software engineering or a related field.
- Thought leadership, advanced strategic and technical expertise, superior communication and negotiation skills
- Advanced expertise in designing scalable, high-performance systems, and cross-functional collaboration.
- Ability to innovate at a high level, lead large-scale projects, and mentor senior team members.
- Ability to architect complex solutions, align technical vision with business goals, and lead technical strategy initiatives.
- Mastery of industry trends, company strategy, and future direction.
- Deep understanding of architectural patterns, software frameworks, and system integration.
Additional Technical Skills and Experience
- Strong experience with programming in Go and C/C++.
- Experience with cryptographic libraries and frameworks.
- Experience integrating with external systems using APIs for push-based (webhooks, pub/sub, streaming) and pull-based (polling, REST/RPC/gRPC) data exchange.
- Strong knowledge of event-driven and message-oriented architectures, using tools such as Kafka, cloud-native pub/sub systems or similar.
- Experience with deep cryptographic object inspection, secure protocol implementation (TLS, PKI, key management), and certificate validation a big plus.
- Experience with static analysis tools and techniques, including parsing, bytecode analysis, and vulnerability detection a big plus.
- Exposure to endpoint agents, scanning tools, and security integrations a big plus.