Senior Software Engineer, Python (IPLM)
Perforce Software · Bracknell, ENG, GB
Apply directly on Perforce Software’s careers site — no account needed.
About the role
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.
We may use artificial intelligence (AI) tools to support parts of the hiring process, such as reviewing applications, analyzing resumes, or assessing responses and identifying potential inconsistencies or verification signals in application materials based on available information. These tools assist our recruitment team but do not replace human judgment. Final hiring decisions are ultimately made by humans. If you would like more information about how your data is processed, please contact us.
Description sourced from the public Indeed listing — this role isn't indexed from the company's career page yet.
Skills
- Python
Never be applicant #200 again
Every job here is indexed straight from company career pages — often hours after it opens, before it reaches the big boards. Create a free account and get your best matches in a twice-daily digest.
- Your best matches, twice a day
- No duplicates, no ghost jobs, no recruiter spam
- Every job free to browse — pay only when you apply
Free account — no card required
93 147 live jobs · 17 643 companies tracked · 1 added today