Senior Software Engineer, Python (IPLM)
Software Engineering
Bracknell, UK
About the Role
The Perforce IP Lifecycle Management (IPLM) suite - used by semiconductor and hardware design teams to manage their intellectual property (IP), releases, and dependencies at scale - includes a Python command-line client (pi), the IPLM API server, the PiCache caching layer, and a Web based interface.
As a Senior Software Engineer on the IPLM team, you will own end-to-end features across the CLI and PiCache. You will be expected to work closely with the server team that provides the API and database layers, as well as solutions and support teams to help resolve customer errors.
This role blends product feature work, systems engineering, and modern AI-assisted development practices.
Responsibilities:
- Design, implement, and ship user-facing pi commands and subcommands spanning IP, workspace, release, update, and snapshot workflows which are driven by our customer needs.
- Extend the CLI's data-management layer, including integration with Perforce, SVN and Git-based version control systems.
- Diagnose and fix regressions in the CLI's integration and unit test frameworks; keep development branches releasable
- Prototype and productionize AI-assisted development workflows (agent-based QA loops, automated implementation workflows) that plug into the team's day-to-day development
Requirement:
- 5+ years of professional software engineering experience, with strong day-to-day Python
- Command-line tooling experience: argument parsing, subcommand design, structured (JSON) output, and machine-readable error handling
- Experience with version control systems such as Perforce and Git.
- Solid grasp of testing practice: writing and maintaining unit and integration test frameworks.
- Comfort working in a Perforce/Helix Core environment (or willingness to learn); familiarity with source-control internals in general
- Clear written communication — you can capture design decisions and patch rationale in tickets and technical documents that outlast the conversation
- Comfortable with using Linux, both for daily use and managing development systems. Experience in bash scripting and diagnosing system issues.
Nice to Have:
- Prior experience building or maintaining a Python CLI used by other engineers as part of their daily workflow
- Exposure to IP lifecycle management, EDA tooling, or the semiconductor / hardware design domain
- Experience with basic development on Microsoft Windows; building and packaging Windows applications.
- Hands-on use of AI-assisted development tools (Claude Code, Copilot, Cursor, or equivalent) — you have opinions about where they help and where they don't
- Experience designing or operating agent-based automation for CI, QA, or code-generation workflows
- Background in Rust or another systems language; interest in ML/applied deep learning
- Contributions to open-source Python or CLI tooling
All employees are expected to demonstrate AI fluency appropriate to their role and level, including responsible use of AI tools, sound judgment, and adherence to company AI governance and security policy standards.