Lead Product Software Engineer (Build Engineer)
Wolters Kluwer
Pune, Maharashtra
Level 1:
General monitoring, build and deployment of software releases; day-to-day system administration, ad-hoc bug fixing and telemetry analysis
Troubleshooting build, deployment, and system issues.
Manage Build Agents (create, update, maintain).
Managing the configuration of Azure, Windows build infrastructure.
Utilize Team Foundation Server (manage access rights, basic connection issues).
Utilize Azure DevOps (setup, access).
Utilize Azure DevOps, TeamCity, Octopus Deploy or equivalent tool for continuous Build and Deployment.
Experience in linking GitHub/Azure DevOps for source control.
Perform daily smoke test analysis / ticketing.
Maintain/utilise smoke test automation scripts.
Improving the reliability and performance of test and build processes.
Utilize PowerShell in day to day activities.
Support and understand our CI/CD process.
Source control
Check in/out code, update code versions.
Understand branching strategy, especially trunk-based development.
Familiar with GitHub download/update/deploy GitHub templates.
VSTS
Integration with Visual Studio.
Retrieving/uploading/merging code.
Managing Visual Studio projects.
Azure DevOps
Backlog and sprint management.
Manage team boards.
Build and run queries.
Update estimates and plans.
Continuous Integration/Delivery/Deployment
Octopus Deploy.
Build and create releases for deployment.
Create and manage projects.
Create and manage tenants.
Octopus variable configuration management and control.
Debugging of deployments.
Ability to automate and orchestrate deployments.
TeamCity
Create and manage builds.
Build automation.
Automatic detection of tool versions, testing frameworks support, code coverage, Static code analysis.
Azure Pipelines
Create and manage Azure pipelines to set up a stable and repeatable CI/CD process.
Active debugging during release cycle.
Infrastructure Automation
Understand Azure infrastructure as code.
Ability to use Azure Resource Manager (ARM).
Download, modify, upload and execute Azure templates from PowerShell or CLI command line tools.
Container Concepts
Understand Docker containers.
Build, deploy, monitor and alert on Docker containers.
Debugging during Docker container life cycle.
Scripting
PowerShell and /or CLI.
Create, manage and version Azure automation scripts.
Familiarity with many common Azure PowerShell or CLI commands.
Use of PowerShell to deploy Azure ARM templates.
Service Fabric
Understand Service Fabric cluster creation, management, tear-down.
Ability to scale up/down, in/out Azure clusters.
Scripting of Service Fabric clusters using ARM templates.
Determine when a cluster is unhealthy and ability to act upon that.
Know your way around Service Fabric explorer.
How to manage services, create, monitor, restart.
Service orchestration and cluster balancing.
Windows Admin
Windows Server 2016 Data Centre.
Windows Nano Server.
Use of Windows Admin Centre to manage VMs, services etc.
VM patching and Microsoft updates.
RDP.
Multi-hop logins.
Use of ‘stepping stones’ in security.
Monitoring and Alerting (AppInsights and Datadog are the tools used)
Develop monitoring and status dashboards in AppInsights.
Implement health checks and use the ‘ping’ facility in Azure Availability tests to exercise the health checks.
Implement tools to track system usage, feature usage, and flow.
Use of alerts to establish root-cause-analysis of failures.
Use of telemetry to establish root-cause-analysis.
Perform ongoing tuning to reduce meaningless or non-actionable alerts.
Code Quality
Use of SonarCube for static code analysis.

Level 2:
(All tasks Level 1, 2)

Manage VSTS (setup, migrations, resolving issues).
Manage Azure DevOps (migrations, configuration problems).
Develop, maintain, and improve internal infrastructure systems and tools (GitHub, Azure DevOps, etc.).
Maintain and improve our build and continuous integration systems to help with the efficiency of our build, development, and release process.
Develop Azure deployment scripts utilizing PowerShell.
Upkeep of build tools and dependencies.
Automating/maintenance of the smoke test process.
Designing and maintaining automated release channels.
Develop build scripts.
Utilize day to day release tools.
Utilize our CI/CD process throughout the workflow.

Level 3:
(All tasks Level 1, 2, 3)

Drive and manage the build and release process.
Analyze, architect, and develop new deployments, mechanisms and procedures for the cloud, virtual hardware, and high-availability enterprise environments.
Own the day-to-day Build activities.
Support co-workers & development team with demos & training of upcoming changes.
Manage and develop our CI/CD process.
Job Description Template (page 2)

Other Duties

Performs other duties as assigned by supervisor.
Job Qualifications

Education: 4 year degree or equivalent work experience.

Experience:Level I (0 – 1 years):
1-2 years’ experience with build, test, and deployment pipelines through the continuous integration build system.
Strong working knowledge of Windows OS. Ideally, administrator level experience.
Experience with Visual Studio
Level II (1-3 years of experience with items below) (need majority of the items below):

Build and release engineering experience.
Working knowledge with SQL.
Experience with MS Build & Power Shell for automated Build-Release processes;
Experience using configuration management systems to deploy software.
Experience with TFS XAML builds.
Experience with Azure environments.
Good coding skills.
Operational experience with C#, AngularJS
Familiarity with CICD tools (list examples)
Experience/knowledge with VSTS
Level III (3-5+ years of experience with items below)

Strong debugging skills.
Experience/knowledge with Azure DevOps
Preferred experience with developing/supporting installers (MSI)
Operational experience with C#, AngularJS
Additional languages desirable, (VB.NET, JAVA)
Other Skills

Security
Must be able to write secure code to protect applications from attack, as well as defend against common cybersecurity vulnerabilities.
Understand different vulnerabilities and the correct approach to avoid them.
Perform security activities earlier in the app lifecycle.
Network awareness / monitoring.
A keenness to continually monitor the platform, especially network performance and quickly diagnose and address problems.
Soft Skills
Customer First Mindset
While the devOps team is not typically an external-facing role, developers, QA, customer success, project management, and business leaders should be seen as customers.
When juggling requests from operations, development, and product teams the ability to empathize, prioritize, and be transparent are key to successful relationships.
First and foremost, a great devOps team engineer will always care about delivering value to customers and wants to understand and measure how their work is moving the needle.
Collaboration
Strong devOps engineers must be great team members and help relieve bottlenecks by assisting co-workers’ as necessary.
Any problem is everyone's problem, a great engineer always makes those around them better.
Flexibility & Multi-tasking
A successful devOps team demands flexibility, potential out-of-hours and a willingness to get things done.
As a resource that works on mission-critical systems at the heart of processes for different teams, an Ops engineer gets requests from many different people at once.
Everything is important and everything is urgent, devOps engineers find themselves putting out fires, so the ability to work on multiple tasks at the same time is critical.

All Locations:
IND-Pune-Old Mumbai Pune Hwy