Role: Go (Golang) Engineers with OSS Package Ecosystem
Contract
Remote
Rate: $65/hr on C2C
Key Responsibilities
Open Source Package Upgrade Management
• Perform version upgrades of Go open-source packages across large codebases.
• Analyze package dependencies and transitive dependency chains.
• Assess compatibility impact of package upgrades on consuming applications.
• Drive package modernization and retirement of obsolete dependencies.
• Manage end-to-end package migration activities.
Dependency Analysis & Remediation
• Investigate dependency conflicts and version incompatibilities.
• Resolve issues arising from indirect and nested dependencies.
• Analyze API deprecations and breaking changes introduced by package upgrades.
• Create remediation plans for application and library compatibility issues.
• Develop dependency migration strategies for large package ecosystems.
Go Development & Debugging
• Troubleshoot and resolve code breaks resulting from package version migrations.
• Modify Go applications and libraries to align with updated package APIs.
• Perform root cause analysis of runtime, functional, and integration failures.
• Develop and maintain fixes for OSS-related defects.
• Contribute improvements and fixes to upstream open-source projects where appropriate.
Build & Test Engineering
• Diagnose and resolve build failures triggered by package upgrades.
• Investigate and fix unit, integration, and regression test failures.
• Ensure successful execution of CI/CD validation pipelines.
• Resolve failures identified during global presubmit validation processes.
• Improve build reliability and automation around package migration workflows.
Copybara & Source Synchronization
• Manage Copybara configurations and synchronization workflows.
• Troubleshoot repository synchronization and code migration issues.
• Resolve merge conflicts and code integration challenges.
• Support source movement between internal and external repositories.
Patch Management
• Create and maintain local patches for package compatibility.
• Track upstream fixes and assess opportunities to retire local patches.
• Manage patch lifecycle and release readiness.
• Maintain upgrade documentation and remediation records.
Engineering Automation
• Develop automation for:
• Dependency discovery
• Version analysis
• Impact assessment
• Upgrade validation
• Failure triage
• Build tooling to improve migration velocity and engineering productivity.
Required Technical Skills
Go Programming Expertise
• Strong software engineering experience in Go (Golang).
• Deep understanding of:
• Goroutines
• Channels
• Concurrency patterns
• Memory management
• Context propagation
• Error handling strategies
• Experience developing and maintaining production-grade Go applications.
Go Ecosystem Knowledge
• Extensive experience with:
• Go Modules
• GOPROXY
• Dependency resolution
• Semantic versioning
• Package publishing
• Open-source package maintenance
• Build & CI/CD
Build & CI/CD
• Strong experience with:
• Bazel
• Go Build
• Go Test
• GitHub Actions
• Jenkins
• Buildkite
• GitLab CI
Dependency & Migration Engineering
• Experience performing:
• Package upgrades
• Framework migrations
• Dependency conflict resolution
• Version compatibility analysis
• API migration and refactoring
• Source Control & Repository Management
Platform & Infrastructure
• Linux systems expertise.
• Container technologies:
• Docker
• Kubernetes
• Familiarity with cloud-native development practices.
Preferred Qualifications
• Experience managing large-scale OSS upgrade programs.
• Contributions to public Go open-source projects.
• Experience with supply-chain security and dependency governance.
• Familiarity with vulnerability remediation practices.
• Experience with SBOM generation and management.
• Understanding of modern software release engineering practices.