Senior Embedded Software Engineer.
Waterloo, Ontario, CA
3d ago

What you do at AMD changes everything

At AMD, we push the boundaries of what is possible. We believe in changing the world for the better by driving innovation in high-performance computing, graphics, and visualization technologies building blocks for gaming, immersive platforms, and the data center.

Developing great technology takes more than talent : it takes amazing people who understand collaboration, respect, and who will go the extra mile to achieve unthinkable results.

It takes people who have the passion and desire to disrupt the status quo, push boundaries, deliver innovation, and change the world.

If you have this type of passion, we invite you to take a look at the opportunities available to come join our team.

Job Description

Your primary goal will be to develop embedded software for video encoding using Modern C++. This will involve all phases of the software development process such as gathering requirements, design, documentation, implementation, optimizations, testing, and debugging.

You'll need to prioritize your tasks to develop high quality firmware that aligns with product roadmaps and timeframes. You will also need to provide clear and timely communication to the leadership team regarding your status and other key aspects of the project.

To catch issues as early as possible, we design and implement our software in a manner that allows us to test as much as possible on developer PCs and on build servers in containerized development environments (Docker).

You'll need to develop automated tests to detect regressions early and design your software in a manner that makes it as easy as possible to test, debug and maintain.

You'll also need to optimize embedded software for performance and memory usage. This may require creating tools and scripts to measure and analyze performance metrics and developing the infrastructure in our firmware to collect this information.

Other teams will be developing different components of the overall system and rely on our firmware. We'll need to work with other teams to identify problems and resolve issues reported by them, our internal support teams and customers.

Our team will also collaborate with the research and hardware teams to design the next generation encoders.

  • Modern C++
  • Software development in Linux
  • Multi-processor synchronization and communication
  • Debug and development of embedded software
  • Preferred Skills

  • Knowledge of video compression
  • Familiarity with git, CMake and Python
  • Familiarity with test-driven development and continuous integration
  • Familiarity with using or developing for media streaming frameworks such as ffmpeg or gstreamer
  • Education

  • BS or MS with 2+ years of experience in Computer Science, Computer Engineering, Electrical Engineering or related equivalent.
  • Report this job

    Thank you for reporting this job!

    Your feedback will help us improve the quality of our services.

    My Email
    By clicking on "Continue", I give neuvoo consent to process my data and to send me email alerts, as detailed in neuvoo's Privacy Policy . I may withdraw my consent or unsubscribe at any time.
    Application form