Career Center

Software Developer - Intermediate

Location: Austin, TX
Posted On: 02/29/2024
Requirement Code: 67068
Requirement Detail
The Role:
AMD’s embedded business unit is looking for a software developer individual contributor role to develop reference designs showcasing AMD technologies. This person will work closely with core engineering to develop solutions that showcase AMD technologies.

The Person:
• As a high performance Engineer, you need to tap your solutions mindset and leverage your development experience to build compelling solutions as part of the Systems and Solutions Engineering organization. As a Software Development professional you need to harness your experience in system-level development (device drivers, embedded systems) to serve as a key member of the engineering team. You will be responsible for developing and supporting user mode applications, device drivers, and applications for a wide variety of systems, including networking, storage and evolving usecases like Automotive. You will be developing solutions, working closely with core engineering, marketing, ecosystem partners, enabling customers and partners to realize the full potential of AMDs technologies. Independent professional that works best under broad and general directions and high sense of urgency and drive for results. Ability to align and build consensus among parties working towards the final goal

Key Responsibilities:
Work closely with Senior Architects, Core Engineering, Marketing and Product Management to define and develop a differentiated and next-generation compelling solution that can be showcased to Tier-1 and premium customers
Work with team members and cross functional groups to design and implement the reference solution, working closely across organizations towards cohesive design integration. Implement and Debug modules as part of larger design with core engineering teams.
Develop software that interfaces with hardware (modify existing device drivers, and embedded applications)

Develop PoCs, demos or use-case optimizations as needed to win the designs and work with ecosystem partners as needed to provide a complete technical solution to the customer
Be expert and drive right solutioning in the crises handling working with other engineering teams to help debug and resolve issues across the stack and solution. Tackle competing priorities and high-pressure situations and strike right balance between right solution in least time.
Document clear requirements, design and usage documentation

Minimum Experience:
Hands-on development experience in C/C++/Java and Python in systems programming domains.
Debug full stack from application to drivers as part of the solution development process.
Experience with Linux and Linux variants Operating Systems
Linux Kernel and/or Driver Programming experience a plus
Application development experience including GUI development


Preferred Experience:
• Good breadth and depth of systems technical knowledge (x86, SoC, Graphics, Platform-HW, Platform-SW, BIOS/FW, Tools)
• Embedded Linux development for a variety of platforms (ARM or x86) and board support packages working on real hardware from CPUs, GPUs and/or FPGAs a big plus
• Software development experience in any of the networking, storage, embedded domains including driver, and application and GUI development.
• Experience with real time and multithreaded applications
• 6-8+ years C, C+ programming experience(or proven experience in programming for new graduates)
• 6-8+ years of application development experience(or proven experience in programming for new graduates)
• Excellent written and verbal communications skills
• Strong debugging skills and superior problem solving abilities
• Ability to work independently or as part of a team

Academic Credentials:
Engineering degree in Computer Engineering or Computer Science with 5+ years of hands-on experience in system software development