Senior/Staff Software Engineer - Silicon Engineering Platform

Job no: 502909
Work type: Experienced Professional
Location: Various locations
Categories: Graphics

Apply now

The role

We are building a silicon engineering platform that turns a commit of GPU/AI hardware code into an orchestrated workflow automation that proves it is ready for customer release, including an ML/AI layer that learns to predict how to get there in the fewest workloads possible. This is a large transformation project with executive sponsorship, starting from a clean-sheet design.

Designing semiconductor IP involves many tool flows: static analysers, theorem provers, simulation farms running tens of thousands of randomised tests every night, physical design tools that estimate future speed and power needs of silicon. These tools run on a variety of compute platforms - grid, emulator, FPGA, silicon boards.

At many companies, including ours, such a stack is held together by decades of scripts, tribal knowledge and manual steps. To replace it, we are building a modern orchestration platform to that coordinates long-running, resource-intensive compute jobs. Our goal is to break monolithic, hard-to-debug pipelines into small, composable, independently testable building blocks — with clear observability and intelligent failure handling.

You do not need to know anything about semiconductor hardware; the tools are black boxes with defined inputs, outputs and exit codes, and we have engineers available to explain the domain. What we need is good software engineering, because underneath the domain is a big distributed-systems problem - with orchestration at scale, scheduling around scarce resources, content-addressed caching, data engineering, and correctness problems

You will own the application-layer design: the orchestration logic, task/flow abstractions, data models, and the interfaces those components expose. You'll work closely with a principal platform/infrastructure engineer who owns deployment, security, and networking concerns — freeing you to focus on writing clean, well-tested, maintainable orchestration code.

Your engineering principles and the quality of your craft matter more to us than prior exposure to our domain and stack, and we'll cover specifics in interview.

You will:

  • Design and implement orchestration logic using a modern workflow engine (e.g. flows, subflows, and tasks in a Prefect-like system), decomposing monolithic pipelines into small, reusable, independently testable units.
  • Apply solid software design principles (SOLID, separation of concerns, composition over inheritance) to keep orchestration code maintainable as complexity grows.
  • Define clear, strongly-typed data contracts between pipeline stages (e.g. using Pydantic or similar), favoring lightweight references/pointers over passing large payloads through the orchestration layer.
  • Design retry, checkpoint, and resume logic so long-running jobs can recover from failure without re-doing completed work.
  • Implement human-in-the-loop patterns: pausing pipelines for review/approval, and cleanly resuming or rerouting execution based on human input.
  • Write thorough automated tests (unit, integration) for orchestration logic, including failure-path and edge-case coverage — treat testability as a first-class design constraint, not an afterthought.
  • Build observability into the application layer: structured logging, metrics extraction, and clear status/error reporting surfaced to end users.
  • Collaborate with the platform/infrastructure lead to consume infrastructure cleanly (secrets, environment config, execution targets) via well-defined interfaces, without hardcoding infra assumptions into application code.
  • Participate in code review, championing readability, composability, and pragmatic simplicity over premature abstraction.
  • Contribute to technical documentation and onboarding materials as the codebase and patterns mature.

About you

Committed to making your customers, stakeholders and colleagues successful, you’re an excellent communicator, listener and collaborator who builds trusted partnerships by delivering what you say, when you say. You’re curious, solutions orientated and a world-class problem solver who constantly seeks opportunities to innovate and achieve the best possible outcome to the highest imaginable standard.

You will have:

  • Experience of professional software development, with a strong command of Python (preferred) or an equivalent modern, strongly-typed-capable language.
  • Demonstrated understanding of SOLID principles, OOP design, and composition-based architecture — able to explain trade-offs, not just recite acronyms.
  • Proven ability to write testable code: dependency injection, mocking/stubbing external systems, clear separation between I/O and business logic.
  • Experience building composable software: small, well-scoped modules/functions/classes that combine predictably, rather than large monolithic scripts.
  • Comfortable with asynchronous programming (e.g. Python asyncio) for coordinating external process execution and I/O-bound work.
  • Experience designing data models/schemas (e.g. Pydantic, dataclasses, or equivalent) and using type checking to prevent integration errors.
  • Solid understanding of error handling and failure-mode design: retries, idempotency, graceful degradation.
  • Familiarity with version control workflows (Git), CI pipelines, and automated testing frameworks (pytest or equivalent).
  • Comfortable working in Linux environments and calling out to external CLI tools/subprocesses safely.

You might also have experience of the following:

  • Direct experience with a workflow orchestration framework (Prefect, Airflow, Dagster, or similar).
  • Experience with containerization (Docker, or HPC-oriented tools like Apptainer/Singularity).
  • Exposure to systems that coordinate with external schedulers/queues (HPC job schedulers, batch systems, message queues).
  • Experience building internal developer tooling or platform-as-product style systems (i.e., building things other engineers build on top of).
  • Basic familiarity with cloud services (Azure preferred) and infrastructure concepts (you won't own these, but conversational fluency helps collaboration).

Who we are

Imagination is a UK-based company that creates silicon and software IP designed to give its customers an edge in competitive global technology markets. Its GPU and AI technologies enable outstanding power, performance, and area (PPA), fast time-to-market, and lower total cost of ownership. Products based on Imagination IP are used by billions of people across the globe in their smartphones, cars, homes, and workplaces.

We need your skills to help us continue to deliver technology that will impress the industry and our customers alike, ensuring that people everywhere can enjoy smarter and faster tech than ever before.

So come join us if you're wanting that something more

Bring your talent, curiosity and expertise and we’ll help you do the rest. You’ll be part of one of the world’s most exciting companies who are one of the leaders in semiconductor IP solutions.

As a part of our team, you can help us transform, innovate, and inspire the lives of millions through our technology.

Additional information

If you encounter accessibility barriers in the application process or if you have access needs and require support or adjustments to participate equitably in the recruitment process, please email recruitment@imgtec.com.

Advertised: GMT Daylight Time
Application close:

Apply now

Back to list Refer a friend