At a Glance
- Tasks: Design and implement orchestration logic for cutting-edge silicon engineering projects.
- Company: Join Imagination, a leader in semiconductor IP solutions with a collaborative culture.
- Benefits: Competitive salary, flexible working options, and opportunities for professional growth.
- Other info: Dynamic environment with excellent career advancement opportunities.
- Why this job: Make a real impact on innovative technology that powers devices used by billions.
- Qualifications: Strong Python skills and experience in software development principles required.
The predicted salary is between 66150 - 80850 £ per year.
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 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), favouring 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.
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.
Senior/Staff Software Engineer - Silicon Engineering Platform in Bristol employer: Imagination Technologies Group
Imagination is an exceptional employer, offering Principal Design Engineers the chance to work on groundbreaking silicon design projects in a collaborative and innovative environment. With a strong focus on employee growth through training programs and knowledge-sharing sessions, we foster a culture of learning that empowers our engineers to excel. Located in the UK, our dynamic workplace not only champions cutting-edge technology but also provides a platform for meaningful contributions that impact millions globally.
Contact Details:
Imagination Technologies Group Recruitment Team
StudySmarter Expert Advice🤫
We think this is how you could land Senior/Staff Software Engineer - Silicon Engineering Platform in Bristol
✨Join Local Tech Meetups
Get out there and mingle with fellow developers by joining local tech meetups. It’s a fantastic way to meet people who might be working at Imagination Technologies Group or know someone who does. Plus, you can pick up some trendy tech skills and trends while you're at it!
✨Contribute to Open Source Projects
Show off your coding chops by jumping into open-source projects. Not only does this give you practical experience, but it also gets you noticed in the dev community. You'll create a killer portfolio that speaks volumes about your skills to Imagination Technologies Group.
✨Tap into Online Developer Communities
Don’t underestimate the power of online developer communities like GitHub, Stack Overflow, and even Reddit. Participate in discussions, share your projects, and build your visibility. We can often find opportunities through these channels that can lead to a full-time gig at companies like Imagination Technologies Group.
✨Explore Job Boards Specifically for Tech Roles
Keep your eyes peeled on job boards that focus on tech roles. Sites like TechCareers or Stack Overflow Jobs can often have listings for companies like Imagination Technologies Group that might not show up on broader job sites. Make it a habit to check these regularly, and don’t hesitate to apply directly through our website!
We think you need these skills to ace Senior/Staff Software Engineer - Silicon Engineering Platform in Bristol
Some tips for your application 🫡
Show off your coding skills:When applying for a software engineering role, it's super important to showcase your coding skills. Make sure your CV includes your tech stack, any relevant programming languages you’re comfortable with, and examples of projects you've worked on. If you have a GitHub profile, link it up! We love to see code in action.
Tailor your portfolio:For a full-time role, we’d expect to see some solid examples of your work in your portfolio. Make sure to include at least two or three projects that highlight your problem-solving skills and your ability to work with different technologies. Focus on the projects that are most relevant to the position at Imagination Technologies Group.
Craft a killer cover letter:Your cover letter is your chance to stand out—make it personal! Explain why you want to work at Imagination Technologies Group and how your skills align with the role. Show us your passion for software development. We dig enthusiastic candidates who understand the value of collaboration and continuous learning!
Be clear and concise:When it comes to writing your CV and cover letter, clarity is key. Avoid jargon that could confuse us and stick to simple, direct language. Highlight your achievements with quantifiable results where possible, and keep everything easy to read. A well-organised application goes a long way!
How to prepare for a job interview at Imagination Technologies Group
✨Brush Up on Your Coding Skills
For a full-time software engineering role, it's crucial that we stay sharp with our coding abilities. Expect technical questions that might involve solving problems on the spot or discussing algorithms. Practise on platforms like LeetCode or HackerRank to get comfortable with the types of questions that often come up.
✨Know Your Tools and Frameworks
Make sure we’re well-acquainted with the tools and technologies listed in the job description. Familiarise ourselves with any specific frameworks or programming languages mentioned. If Imagination Technologies Group uses React or Node.js, for instance, be ready to discuss how we’ve used them in previous projects or coursework.
✨Showcase Your Projects
Bring along a portfolio that highlights our best work. This could be code samples, GitHub repositories, or any side projects we’ve built. Make sure we can talk through our thought process for each project, especially the challenges we faced and how we solved them—this shows our problem-solving skills in action.
✨Prepare for Behavioural Questions
While technical skills are key, full-time positions also require cultural fit. Be ready to discuss our previous experiences and how we handle teamwork, conflict, and deadlines. Brush up on the STAR method—Situation, Task, Action, Result—to clearly articulate our past experiences when discussing how we've contributed to a team.