
Senior Software Engineer - C++, Linux, Network Security
- Bangalore, Karnataka
- Permanent
- Full-time
- Design and develop innovative features to enhance the security of our Network Security products.
- Implement best practices in Quality Assurance and Security throughout all development stages, including unit testing and automation.
- Work collaboratively with architects and software engineers to devise effective solutions for complex security challenges.
- Ensure product reliability, availability, performance, and scalability while maintaining a strong focus on security.
- Support and maintain existing code, troubleshoot issues in large-scale, complex environments.
- Engage and collaborate with cross-functional teams to drive impactful security initiatives.
- Promote a culture of continuous learning and improvement by sharing knowledge and mentoring junior engineers.
- Stay abreast of industry trends and emerging threats to proactively adapt security strategies and solutions.
- 5+ years of hands-on software Engineering experience targeting Linux/Unix applications
- MUST have experience working in Networking Protocols (DHCP, TCP/IP, AAA, RADIUS, LDAP, SNMP, 802.1X, IPSec, SSL/TLS) and various Authentication methods
- MUST have programming experience with C++ and good understanding of Perl and Python
- MUST have good understanding of the Linux Operating System Internals, Linux OS Bring Up, Secure Boot, Bootloader, SELinux
- Significant PLUS: have experience with triaging & analyzing issues, recommending recommendations and implementing fixes for security vulnerabilities (CVE's and OWASP Top 25 issues)
- Significant PLUS: Strong understanding of certificates, encryption and Security Tools such as Metasploit, BurpSuite, Nessus, ZAP, Qualys, Blackduck etc.
- Experience working in an AGILE environment and working with a geographically distributed team
- First 90 Days:
- Onboard and integrate into the team, familiarize with company culture and values.
- Complete mandatory training programs, particularly focusing on security policies and best practices.
- Review existing codebase and documentation for Network Security products to understand the architecture.
- Conduct one-on-one meetings with team members to build relationships and understand individual roles.
- Identify key areas for enhancements within the current security features and present initial findings.
- Develop and execute unit tests for existing features to ensure quality and reliability.
- First 6 Months:
- Collaborate with architects to design and propose new security features for the product line.
- Implement enhancements based on feedback and identified vulnerabilities following best coding practices.
- Engage in cross-team collaborations to integrate security features seamlessly.
- Participate in regular sprint planning and retrospectives, contributing to team processes and efficiencies.
- Troubleshoot and resolve issues in complex environments, documenting findings and solutions.
- Start mentoring newly onboarded developers, sharing knowledge on coding standards and security practices.
- First 12 Months:
- Lead a major project aimed at enhancing security features in collaboration with other engineering teams.
- Contribute to regular security audits, triaging and analyzing security vulnerabilities.
- Stay updated with current security trends and apply this knowledge to innovate new solutions.
- Conduct training sessions for team members on security tools and best practices.
- Continuously refine the development process by introducing improvements based on agile principles.
- Evaluate and implement new technologies or tools that can improve security and efficiency.