Google
Website:
google.com
Job details:
Time Zone : EST Overlap
About The Role
We are looking for a Senior Perl Engineer to modernize a mature Perl ecosystem that sits at the center of a large engineering toolchain : integration proxies, command-line tools and developer utilities running on a very old Perl interpreter.
The job is to move this estate from Perl 5.8 to Perl 5.42, remediate the CPAN module set behind it, and keep the behavior of the proxies and tools exactly as it is. The tooling is deployed across thousands of developer workstations, much of it on Windows, so the rollout matters as much as the port.
Day to day, you port code from Perl 5.8-era idioms to current Perl, fix or replace deprecated and abandoned CPAN dependencies, untangle XS and platform-specific modules, add tests to code that has little coverage, and help plan a safe dual-runtime rollout to the field.
Key Responsibilities
- Migrate Perl integration proxies, command-line tools and developer utilities from Perl 5.8 to Perl 5.42, preserving behavior.
- Audit and remediate the CPAN dependency set : replace abandoned modules, resolve XS and binary-compatibility issues, and pin a supportable module baseline.
- Stand up and validate a current Perl distribution on Windows (Strawberry Perl) and on the server platforms in use.
- Catalog the change surface across customer-facing scripts and override points, and document the change list for the downstream owners.
- Build and extend automated tests around Perl components that have thin coverage, and use them to prove behavior is unchanged.
- Support a staged, dual-runtime rollout across a large developer-workstation estate, including triage of field issues.
- Work with the Java and Go engineers where the Perl tooling integrates with the core server and the build-distribution system.
Required Qualifications
- 7+ years writing and maintaining production Perl, including modern Perl practices and idioms.
- Direct experience upgrading Perl across major versions, including moving off Perl 5.8 or 5.10-era code, and handling the deprecations and behavior changes that come with it.
- Strong CPAN and toolchain knowledge : dependency management, module packaging, XS modules, and diagnosing binary and platform-compatibility problems.
- Hands-on Perl on Windows, including Strawberry Perl, alongside Unix or Linux.
- Solid Perl testing practice (Test : More and prove, or equivalent), and the discipline to add coverage to legacy code before changing it.
- Experience modernizing or maintaining long-lived command-line tools and service proxies without breaking the users who depend on them.
- Comfort reading and reasoning about code that integrates with version-control and build systems.
Preferred Qualifications
- Experience supporting tooling deployed across large developer or workstation fleets, including phased rollouts.
- Familiarity with Perforce or another enterprise version-control ecosystem.
- Exposure to Go or Java systems that interoperate with Perl components.
- Experience packaging and distributing interpreters.
(ref:hirist.tech)
Click on Apply to know more.