Security Software Engineer

AMD AMD · Semiconductors · San Jose, CA · Engineering

Software Engineer focused on application security for AMD's Vivado FPGA toolchain, protecting sensitive software and customer IP against reverse engineering, tampering, and data exposure. The role involves maintaining, improving, and evolving security features within an existing framework, with a strong emphasis on C++ development and practical security principles.

What you'd actually do

  1. Implement protections against reverse engineering, debugging, and tampering
  2. Identify and mitigate potential vulnerabilities within the application
  3. Improve robustness of the tool against misuse or exploitation
  4. Ensure secure handling of sensitive customer design data within the tool
  5. Implement and maintain encryption and data integrity workflows during read/write operations

Skills

Required

  • C++
  • application security
  • security principles
  • reverse engineering protection
  • tampering protection
  • data protection
  • encryption
  • data integrity
  • security framework development
  • multithreading
  • performance optimization
  • memory management
  • Linux
  • Windows

Nice to have

  • cryptography
  • OpenSSL
  • reverse engineering techniques
  • modern C++
  • large, complex codebases
  • mature products
  • concurrency
  • software protection
  • DRM
  • licensing systems

What the JD emphasized

  • strong C++ experience
  • practical understanding of security principles
  • hands-on software engineer with strong security instincts
  • operate in complex, mature codebases
  • identify gaps
  • incrementally improving security
  • how systems can be attacked
  • proactively design protections
  • cross-functional teams
  • security-sensitive environment
  • secure handling of sensitive customer design data
  • preserve security guarantees
  • existing in-house security framework
  • refactor and enhance existing security components
  • collaborate with internal security experts
  • validate and strengthen protections
  • Develop and optimize security features in C++
  • Apply best practices for multithreading, performance, and memory management
  • Work across Linux and/or Windows environments
  • Strong understanding of application security concepts
  • Experience applying cryptography in software systems
  • Familiarity with reverse engineering techniques and common attack methods
  • Solid C++ development experience
  • Experience working in large, complex codebases or mature products
  • Knowledge of multithreading, concurrency, and performance optimization
  • Exposure to software protection, DRM, or licensing systems is a plus