RESPONSIBILITIES
Configuration Management:
- Develop and maintain configuration management plans and procedures.
- Establish and enforce configuration management standards and best practices.
- Manage configuration items and their relationships throughout the software development lifecycle.
- Implement tools and automation for configuration identification, control, and auditing.
Software Release Management:
- Plan, coordinate, and execute software releases across different environments (e.g., development, testing, staging, production).
- Define release strategies and deployment processes to ensure smooth and efficient delivery of software releases.
- Collaborate with development, QA, and operations teams to resolve release-related issues and ensure timely delivery.
- Monitor release activities and implement improvements to streamline release processes.
Version Control:
- Manage version control systems (e.g., Git, SVN) to track changes to system/software artifacts and facilitate collaboration among development teams.
- Implement branching and merging strategies to support parallel development efforts and release branching.
Change Management:
- Facilitate change control processes to assess the impact of proposed changes and ensure proper approval and documentation.
- Coordinate with stakeholders to communicate and manage change requests throughout the software development lifecycle.
Continuous Integration/Continuous Deployment (CI/CD):
- Plan and control strategy on CI/CD pipelines to automate build, test, and deployment processes.
- Monitor CI/CD pipelines for failures and performance issues, and implement remediation measures to improve configuration control as needed.
Quality Assurance:
- Collaborate with QA teams to ensure that configuration and system/software releases meet quality standards and functional requirements.
- Participate in release testing activities and provide support for troubleshooting and resolving issues.
KEY KNOWLEDGE AND EXPERIENCE
To be successful in your role, you will have demonstrated and/or acquired the following knowledge and experience:
- Bachelor's degree in Computer Science, Engineering, or related field; Master's degree (good to have)
- 5+ years of experience in configuration management and software release management roles.
- Good understanding of system lifecycle and software development methodologies (e.g., Agile, DevOps).
- Proficiency in version control systems (e.g., Git, SVN) and CI/CD tools (e.g., Jenkins, Travis CI).
- Experience with scripting and automation using Python, Bash, or PowerShell.
- Excellent analytical and problem-solving skills, with a keen attention to detail.
- Good communication and interpersonal skills, with the ability to collaborate effectively with cross-functional teams.
- Certifications in configuration management (e.g., CMII) and release management (e.g., ITIL) are a plus.