Roles and Responsibilities:
- Design and develop secure software applications: Leverage your expertise in secure coding practices and security frameworks to build applications that are resistant to attacks and vulnerabilities, particularly focused on .NET and Java. This includes:
- Hands-on implementation of best practices:
- Input validation and sanitization: Preventing injection attacks (e.g., SQL injection, XSS).
- Secure coding with OWASP Top 10: Following established guidelines for .NET and Java.
- Least privilege: Granting minimal permissions for users and applications.
- Error handling: Managing errors securely to avoid information disclosure.
- Logging and monitoring: Detecting and responding to security incidents.
- Specific .NET practices: Using SqlParameter objects, validating user input, hashing passwords, using HTTPS, securing cookies.
- Specific Java practices: Using PreparedStatement objects, validating user input, securing passwords, using HTTPS, securing sessions.
- Conduct security assessments and threat modeling: Identify and analyze potential security risks in applications, systems, and architectures, proposing mitigation strategies and solutions.
- Integrate security best practices into the development lifecycle: Collaborate with development teams to ensure security is embedded throughout the entire software development process, from design to deployment.
- Stay up-to-date with the latest security trends and technologies: Continuously learn and adapt to the evolving threat landscape, implementing new security measures and tools as needed.
- Communicate effectively with technical and non-technical stakeholders: Clearly explain complex security concepts and recommendations to both developers and business leaders.
- Contribute to the development of security policies and procedures: Help define and implement security standards and best practices for the organization.
Required Experience:
- 5+ years of experience as a security professional software developer
- Strong understanding of secure coding practices and security frameworks (e.g., OWASP, CWE, SANS Top 25)
- Experience in threat modeling and vulnerability assessments
- Proficiency in at least one programming language (e.g., Java, Python, C++)
- Excellent communication and collaboration skills
- Ability to work independently and manage multiple priorities.
- Passion for security and a commitment to building secure and reliable applications.