GENERAL SUMMARY OF POSITION:
Under the supervision of the Build and Release (B&R) Manager, the DevOps Engineer is responsible for implementing software changes, managing standard server configurations, troubleshooting server and application issues, and executing build to ensure that releases are being correctly packaged and deployed to development, test, staging, and production environments. They will assist with source code version control, Configuration Management and application deployment automation / integrations. The DevOps Engineer will work directly with application engineers and clients to assist with the overall packaging of all delivery elements to help ensure successful application delivery. The DevOps Engineer will be part of a rotating on call work with the DevOps team to support applications and servers that are required by operations.
- Using source code policy, produce software development builds, control change, and deploy software configurations.
- Configure various TFS elements/functions like branching, versioning, code quality check, builds, automating unit testing, build reports and analysis etc.
- Help implement and monitor source control versioning, branching strategies and test automation policies.
- Build Continuous Integration toolset which includes build automation, unit test automation, functional test automation, and automated deployments to the development, test, and production environments.
- Setup build server and monitor continuous builds and deployments to the Development, Test, and Production environments.
- Configure servers and platforms – IIS, Apache, Windows Services, Authentication, LDAP, and SQL Server.
- Troubleshoot and resolve Production and Staging issues with common core and proprietary applications.
- Develop custom applications using C#, Java, SQL, create web/email reports, and write build/automation scripts in popular build scripting languages such as msbuild, ant, GNU make, Rake, Maven.
- Help Quality Assurance team in automating testing.
- Setup and monitor Dev/Test VMWare Virtualized environments.
- Perform other duties as required
- Bachelor's degree in Computer Science, Engineering, or a related field; or equivalent experience.
- 5 years of related experience
- Experience working with Microsoft development environments.
- Experience implementing and managing Continuous Integration, build management, automated deployments, release engineering, and/or Configuration Management.
- Familiarity with software configuration management systems and/or source code version control systems, Subversion, Git, TFS.
- Knowledge of Unix/Linux and Microsoft Servers, Apache/Tomcat, IIS, and WebLogic webservers, SQL Server and Oracle
- Experience with Continuous Integration, Source Control, and Automated Deployment solutions/strategies.
- Ability to develop custom applications using C#, Java, SQL, create web/email reports, and write build/automation scripts in popular build scripting languages such as msbuild, ant, GNU make, Rake, Maven.
- Solid interpersonal skills, with ability to work well with people of all levels of information technology expertise and comfort in varied organizational relationships.
- Knowledge and experience working with Windows Communication Foundation (WCF)
- Knowledge and experience in MVC Development
- Experience with Cloud Computing Technologies (AWS or Azure)
- Experience with distributed version control systems (Git)
- Experience with Cloud CI / CD tools (AWS Pipeline, CodeDeploy, CodeBuild)
- Experience with database technologies (SQL, Oracle, MySql)
- Experience with database management tools Oracle OEM, SQL Management Studio.
- Experience with cloud database technologies (RDS, DynamoDB)
- Experience in software build and deployment automation using a scripting language (examples: Python, Ruby, Bash shell)
- Experience working Agile/Scrum framework
- Experience working with Microservices and Distributed Application architectures
- Knowledge of AWS Cloud Services (Lambda, SNS, Kinesis, SQS, CloudWatch)
- Knowledge of the following platforms / tools: (Docker, AppSync (GraphQL, Apollo), Kubernetes)
- Knowledge of NoSQL database technology (Mongo, DynamoDB)