Senior Software Engineer, Python (IPLM)

Perforce
Bracknell, United Kingdom
2 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Senior
Compensation
£ 51K

Job location

Bracknell, United Kingdom

Tech stack

Microsoft Windows
API
Artificial Intelligence
Systems Engineering
Unit Testing
Bash
Command-Line Interface
Code Generation
Databases
Cursor (Graphical User Interface Elements)
Linux
DevOps
Hardware Design
JSON
Python
Open Source Technology
Perforce
Software Engineering
Subversion
Web Applications
Deep Learning
GIT
Integration Tests
Data Management
Software Version Control

Job description

Perforce is a community of collaborative experts, problem solvers, and possibility seekers who believe work should be both challenging and fun. We are proud to inspire creativity, foster belonging, support collaboration, and encourage wellness. At Perforce, you'll work with and learn from some of the best and brightest in business. Before you know it, you'll be in the middle of a rewarding career at a company headed in one direction: upward. With a global footprint spanning more than 80 countries and including over 75% of the Fortune 100, Perforce Software, Inc. is trusted by the world's leading brands to deliver solutions for the toughest challenges. The best run DevOps teams in the world choose Perforce.

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, 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. Come work with us! Our team members are valued for their contributions, introduced to new opportunities, and rewarded well. Perforce combines the experience and rewards of a start-up with the security of an established and privately held profitable company. If you are passionate about the technology that impacts our day-to-day lives and want to work with talented and dedicated people across the globe, apply today! www.perforce.com Please click here for: EOE & Belonging Statements | Perforce Software 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.

Requirements

  • 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

Apply for this position