The Release/Deployment Engineer will plan, coordinate, supervise and execute activities related to building the latest codebase, deploying software to all production and non-production environments, and building and configuring environments for new clients. The Release/Deployment Engineer will work with other functional groups, partners and clients for successful software release. This is an exempt position.
This position is part of the Technical Services team and reports to the Director of Technical Services.
The candidate's responsibilities shall include, but not be limited to:
- Analyze, develop and maintain tools that support and automate build processes for software and configuration releases.
- Analyze, develop and maintain deployment delivery mechanisms, leveraging innovative programmatic solutions and automation.
- Identify and drive automation of tasks associated with end-to-end deployment delivery.
- Develop and maintain installation scripts and programs for the installation of products.
- Review and streamline tools and processes to meet delivery challenges.
- Establish, document and maintain the build process for each product release.
- Establish, document and maintain the deployment or installation process for each product release.
- Maintain app servers, databases, software components (e.g. Java), libraries and other components of the software to ensure efficient performance and consistency across production environment.
- Work with developers to establish uniform build structure and libraries.
- Work with development and product team members to analyze, evaluate and design alternatives and improvements to processes in support of modern software development and release methodology.
- Establish and maintain change management and product configuration management processes, including source code change control and change reporting.
- Maintain the product repository for source code and script files.
- Create and configure new environments for clients.
- Create, maintain and support extensive build and test environments such as development, integration and staging.
- Coordinate, create, review, publish and manage formal release notification, instructions, deployment notes and launch plans.
- Coordinate release activities with Project Management, QA, Partners, Clients and Development teams to ensure a smooth and trouble-free roll out of releases
- Other assigned duties.
- Must have 5+ years of experience as a software engineer in a web based software product development organization
- Must have 3+ years of experience as a software configuration engineer or build engineer or release engineer in a web based software product development organization.
- Must have expertise with source code repositories, with a preference for SVN.
- Must have expertise with build/continuous integration tools, with a preference for Jenkins
- Must have expertise with build automation tools, with a preference for Maven
- Must have experience using MySQL.
- Must have experience in designing, building, and maintaining an automated build and release environment.
- Must have experience in coordinating release from development to production.
- Experience with Glassfish, Tomcat and Apache James is desired.
- Experience with Linux and Windows platforms is desired
- Experience with WebSphere is a plus.
- Knowledge of configuration and release management of development projects and multi- tier deployment environments is a plus.
- Must have strong analytical, problem-solving, and decision-making skills
- Exposure to Monitoring, Network and Load Balancing technologies is a plus
- Must have ability to manage multiple projects with competing priorities
- Must have strong written and oral communication skills.
- Must be able to work with remote teams.
- BA/BS Sought;
- Strong written and oral communication skills
- Exceptional organizational skills