Skip to content

Nobody tells you why you were rejected. We will. Free, in 30 seconds.

Score my CV against live jobs

Senior Software Engineer, Python (IPLM)

Perforce · Bracknell

On-siteSeniorPosted 28 Jul 2026

What this role requires

4 requirements, read out of the advert rather than guessed from the job title:

Also mentioned, not required: Linux, bash scripting, JSON. Worth having, but their absence is not what gets a CV filtered out.

See how often each of these is required across open backend roles in Europe.

Check my CV against these 4 requirements

Free, no card. Tells you which of them your CV evidences and which it only implies.

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.

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.

Read the full description (28 more sections)

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

Additionally, this position is eligible for benefits including, but not limited to, medical, dental, vision, retirement benefits, life insurance, wellness programs, and other employee perks that may be offered by Perforce from time to time. The actual offer will depend on a number of factors including, but not limited to, a candidate’s education, skills, qualifications, depth of experience and other relevant business considerations. Perforce reserves the right to amend or modify employee perks and benefits at any time.

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

Find Jobs in United Kingdom on Arbeitnow

You will apply. Then you will hear nothing.

And no one will tell you what was wrong. See it before you send: your ATS score, every weak line, and the fix for each.

  1. 1

    Drop in your CV

    One PDF, thirty seconds. No card.

  2. 2

    See what is wrong with it

    Every weak passage, quoted from your own CV, with the line to replace it.

  3. 3

    Apply where you fit

    Every European role ranked against what your CV actually says.

  • Free, no card
  • Your CV file is deleted after parsing
  • Or skip the upload — build your profile by hand
  • Refreshed every 6 hours