Software Engineer (Python)
Job Description
Responsibilities
- Design, develop, and maintain Python-based services, automation tools, and platform utilities that support containerized workloads.
- Build and enhance CI/CD pipelines for automated builds, tests, security scans, deployments, and release orchestration.
- Deploy, operate, and troubleshoot applications on Kubernetes/OpenShift, including configuration, scaling, upgrades, and runtime issues.
- Implement Policy as Code to enforce standards such as security, networking, resource controls, image provenance, and RBAC, mitigating configuration drift.
- Integrate DevSecOps controls like SAST/DAST, container image scanning, SBOM generation/validation, secrets detection, and compliance checks into pipelines.
- Manage Kubernetes artifacts including Deployments, Services, Ingress/Routes, ConfigMaps, and Secrets; work with Helm charts and/or Kustomize overlays.
- Operate OpenShift resources (Projects/Namespaces, Routes, SCCs, Operators where applicable).
- Improve platform reliability through monitoring and alerting integrations and conduct root cause analysis for production issues.
- Contribute to engineering standards and documentation, including runbooks, SOPs, and onboarding guides.
- Participate in code and design reviews and agile ceremonies, clearly communicating risks, tradeoffs, and implementation details.
Requirements
- 35 years of professional software engineering experience.
- Strong Python development experience covering APIs, automation, scripting, packaging, and unit testing.
- Experience administering Apache httpd, including mod_proxy, mod_rewrite, and OIDC authentication modules.
- Experience configuring Azure EntraID application registrations, client credentials, OAuth2/OIDC endpoint integration, and API permissions, including integrating EntraID as an identity provider via OIDC.
- Hands-on Kubernetes/OpenShift experience, including deploying and troubleshooting workloads.
- Experience building CI/CD pipelines with tools such as Jenkins or UDeploy.
- Familiarity with Policy as Code concepts and tooling, including SAST, IAST, policy testing/validation, and policy lifecycle management.
- Proficient in Git workflows, branching strategies, and pull request reviews; experience with JIRA and Confluence.
- Linux fundamentals, networking basics, and troubleshooting in distributed systems.
- Working knowledge of security best practices: RBAC, least privilege, secrets management, and secure Software Development Life Cycle.
Technologies
- Python, Bitbucket, Git, Kubernetes, OpenShift, Helm, Kustomize, Apache httpd, OIDC, Azure EntraID, Jenkins, UDeploy, JIRA, Confluence, JupyterHub, Apache Spark, React, JavaScript
Benefits
- Competitive compensation
- Comprehensive insurance options
- Matching contributions through the 401(k) plan and the share purchase plan
- Paid time off for vacation, holidays, and sick time
- Paid parental leave
- Learning opportunities and tuition assistance
- Wellness and well-being programs
Position Description
This role is on-site at a client office in Pittsburgh, PA, five days a week. CGI seeks a Software Engineer with 35 years of hands-on experience building, deploying, and operating applications and platform capabilities on Kubernetes/OpenShift. The ideal candidate is proficient in Python, experienced with CI/CD pipeline development, and familiar with Bitbucket, able to implement and maintain Policy as Code to enforce governance, security, and compliance across container platforms.
Skills
- Bitbucket
- GIT
- Python
What You Can Expect From Us
CGI emphasizes ownership and collaboration, inviting you to contribute from day one as part of a partner-led culture. You will work with a team that values respect and belonging, with opportunities to develop innovative solutions and advance within a stable, growth-focused environment.