Sr. Software Development Engineer
Role details
Job location
Tech stack
Job description
AMD's Server Security Processor Firmware team is looking for a firmware engineer to design, develop, and debug firmware solutions for AMD Secure Encrypted Virtualization. The engineer will develop new firmware and test suites for new processors, collaborate with customers and partners on new initiatives, resolve technical challenges, and align efforts across engineering teams and business units within AMD., AMD may use Artificial Intelligence to help screen, assess or select applicants for this position. AMD's "Responsible AI Policy" is available here.
Requirements
We are looking for a confident C/C++ developer that has experience working in firmware or device driver development in large scale products. The AMD Secure Encrypted Virtualization and Trusted IO firmware is a critical component of AMD's Confidential Computing Solution so experience or a strong desire to learn secure coding processes and basics of encryption technology are essential. You must be a self-starter that collaborates well in a small team of driven engineers. You will understand the importance of developer testing all changes. Experience with virtualization, hypervisors/VMs, and Linux kernel is desired., * Low-level software or embedded firmware development experience
- Proven foundation in Rust, C and C++ programming.
- Strong problem-solving skills.
- Experience with computer architecture.
- Experience with source control systems such as git.
- Experience with processor, board, or ASIC new product bring-up.
- An understanding of embedded firmware or device driver development.
- An understanding of assembly level programming and optimizations.
- Experiences working with RTOS and other embedded OS environments.
- Well versed in software engineering practices.
- Excellent programming and debugging skill.
- Excellent communications skills: verbal, written and interpersonal., * Experience working on x86 server platforms.
- Experience with GoogleTest framework.
- Experience with pre-silicon development on FPGAs or simulation environments
- An understanding of PCIe, TDISP, SPDM, Virtualization, and IOMMU
- Experience with security related technologies such as Secure Boot, TPM, AES, DES, RSA, AMD Secure Memory Encryption, AMD Secure Encrypted Virtualization
- Experience with PCIe, TDISP, SPDM, Virtualization programming
- Experience with JTAG debuggers and other tools.
- Ability to work independently under tight deadlines, responding to changing business and technical conditions with minimal direction., * Bachelor's or Master's degree in Computer/Software Engineering, Computer Science, or related technical discipline