Engagement Duration: 6-8 months
Job Description:
Key Responsibilities
- Design, develop, and maintain PowerShell automation scripts to support Azure infrastructure operations.
- Troubleshoot, debug, and optimize existing automation scripts for performance and reliability.
- Ensure scripts follow best practices for security, compliance, version control, and documentation.
- Collaborate with cloud architects and operations teams to further optimize the automation routine or develop new ones
- Integrate automation with CI/CD pipelines (GitHub Actions).
Core Qualifications
- Education: Bachelor's degree in Computer Science, Information Systems, Engineering, or equivalent practical experience.
- Scripting & Automation: Advanced proficiency in PowerShell (functions, modules, error handling, logging, remoting, parallelization, DSC/Desired State Configuration).
- Cloud: Strong hands-on with Microsoft Azure (ARM/Bicep or Terraform basics), Azure Resource Manager, Azure CLI/Azure PowerShell modules.
- CI/CD: Practical experience integrating automation with GitHub Actions (workflows, runners, secrets, environments, reusable workflows).
- Version Control: Proficient with Git (branching strategies, PRs, code reviews, tagging, semantic versioning).
- Security & Compliance: Familiarity with least privilege, secret management (Key Vault), secure credential handling, script signing, audit logging, and compliance documentation.
Experience
- Total: 58+ years in infrastructure engineering, SRE, DevOps, or platform engineering roles.
- PowerShell: 35+ years designing and maintaining production-grade PowerShell automation (modular, testable code; reusable functions; private/internal repositories; PSModules management).
- Azure Operations: 3+ years supporting Azure infrastructure operations (VMs, VNets, Storage, Key Vault, App Services, Azure Monitor/Log Analytics, Policy).
- Automation at Scale: Experience building idempotent scripts and jobs for provisioning, configuration, patching, and incident remediation.
- Troubleshooting: Demonstrated ability to debug and optimize scripts (profiling, reducing API calls, throttling/backoff, improving reliability/observability).
- Pipelines: Built or extended CI/CD pipelines for automation (linting, unit tests with Pester, artifact versioning, release gates, environment promotions).
- Collaboration: Worked closely with cloud architects and operations to translate runbooks and manual procedures into resilient automation.
Key Competencies
Technical (Must-Haves)
PowerShell Engineering
- Advanced PowerShell syntax, modules, classes, and error handling (try/catch/finally, $ErrorActionPreference).
Pester for unit/integration testing.
- Logging frameworks and structured output (JSON), writing to Azure Monitor/Log Analytics.
Secure coding in PowerShell: Secure String, secret retrieval from Key Vault, certificate-based auth, MSI/Workload identity.
- Azure Automation Patterns
- Azure PowerShell & Azure CLI for resource lifecycle management.
- Automation via GitHub Actions: secrets, OIDC/Workload Identity Federation, matrix builds, conditional steps, reusable workflows.
- Artifact and module packaging (NuGet/PSGallery/private feeds).
- Observability: integrating run outputs with Azure Monitor, App Insights, and Log Analytics; alerting via webhooks/Teams.
Reliability & Performance
- Implementing retries, exponential backoff, parallel processing (e.g., For Each-Object -Parallel, jobs, run spaces), and resilience to Azure API limits.
- Idempotency and safe re-runs; rollback/compensating actions for failures.
- Baseline performance profiling (Measure-Command, tracing) and memory/handle leak avoidance.
Governance & DevEx
- Git branching strategies (Git Flow/Trunk-Based), PR templates, code review practices.
- Documentation standards: inline comment-based help, README/runbooks, architectural decision records (ADRs).
- Compliance evidence: change logs, approvals, audit trails, script signing.
- Dependency management and version pinning for modules.
Technical (Nice-to-Haves)
- Infrastructure as Code: Bicep or Terraform (calling from PowerShell or pipelines).
- Azure services exposure: Functions, Automation Account/Runbooks, Managed Identities, API Management, Service Bus/Queues.
- Containers & Runners: Self-hosted GitHub runners, Docker basics, caching strategies in CI.
- Cross-platform scripting (PowerShell 7+ on Linux/macOS).
- Configuration management: DSC, Azure Auto manage, Azure Policy remediation.
- Python/Bash for complementary tooling.