The DevOps Engineer is responsible for the automation of the software build, test and deployment systems, and infrastructure. This includes management of various development, test, staging, demo environments (code deployment, backups, data refreshes) that support the nightly production run of the product. Responsible for ensuring the functional readiness of the product to customers.
The DevOps Engineer is responsible for a broad array of tasks including:
- Maintaining the current automation platform as it applies to Fornetix applications and tools
- Work to continuously improve speed, efficiency and scalability of the build and test systems
- Work across functional (development/testing, deployment, systems/infrastructure) and project teams to ensure continuous operation of build and test systems
- Support development of software distribution packages such as RPM, Debian Packages, Windows MSI and other software packages
- Support the software development life cycle and Agile development methodologies, specifically Scrum
- Support maintaining build environments, build history, and communicate results
- Support the development of new tests to ensure the overall stability and quality of the product
- Troubleshoot compile and build failures and facilitate resolution
- Manage the release of software components into QA, Release, and other environments
- Integrate test automation harnesses into the continuous integration system to support quality objectives
- Create and maintain continuous integration process documentation
- Develop and support backup and recovery strategies
- Provide continuous integration training as needed
- Providing a level of checks and balances for development efforts – ensuring that the completed products are in line with the requirements and intent of requested features.
- Representing technical verification of completion of tasks
- Perform other administrative and technical duties as directed
- Deep understanding of software QA methodologies and software testing life cycles
- Proficient in writing test plans, developing test case scenarios, and documenting defects
- Deep experience with performance testing and trending
- Experienced in defect/agile management systems (Jira preferred)
- 5-7+ years of experience in Information Technology that directly aligns with the specific responsibilities for this position
- 5-7 Years: Experience with Open Source Continuous Integration tools (Hudson, Jenkins, etc)
- 5-7 Years: Experience with GIT and SVN
- 5-7 Years: Experience working in a hierarchical release management structure: Development, QA, Release, etc.
- 5-7 Years: Scripting experience with tools such as UNIX shell commands and Perl
- 3-5 Years: Building RPM, Debian Packaging, Windows MSI, and other software packaging techniques.
- 3-5 Years: Experience with build-time dependency management
- 3-5 years: Experience with unit testing and code-coverage tools integrated with Continuous Integration Platforms
- 3-5 Years: Experience with Configuration Management in a Hardware\Software Environment.
- 2-3 Years: Experience with SQL and relational databases administration (i.e. MySQL, MS SQL, PostgreSQL)
- 2-3 Years: Experience with functional test automation techniques and tools (SOAP UI, Load-runner, Selenium, etc.)