The DevOps engineer is a software engineer who is passionate about helping the development team with application build system, deployment and network operations. This person will be responsible for managing the entire DevOps lifecycle including the operation and monitoring of company systems; creating and maintaining our continuous integration environment and development tool chain.
The ideal candidate will have cloud experience, including AWS and Azure, and have demonstrated ability to build and maintain the whole stack from load balancing to databases, manage deployment, devise logging strategy, application performance monitoring, troubleshooting, and improving systems to keep everything running smoothly.
Principle Duties and Responsibilities:
• Deploying, automating, monitoring, maintaining and managing both on premise and cloud based production systems: ensuring the availability, performance, scalability and security of productions systems.
• Team expert in build, release and configuration management of development, test and production systems.
• Expertise in setup and management of APIs
• System troubleshooting and problem solving across platform and application domains.
• Suggesting architecture improvements, recommending process improvements.
• Team expert in evaluating new deployment, monitoring and container technology options and vendor products.
• Engage with the IT Security team to adhere to Security standards, and help in passing IT security assessment and Penetration testing.
• Ensuring critical system security using best in class cloud security solutions.
• Work with software engineers to create and maintain development tool chains and environments using containerization tools such as Docker
• Work as part of the team, with minimal direction
• Influence others at all levels of the organization by using interpersonal skills
• Lead code release management
• Responsible for automation of build process and deployment, including mobile application build management.
• Additional duties as assigned
• Bachelor Degree in Computer Science, Computer Engineering or related field required
• Minimum three (3) years’ experience in DevOps.
• Strong working knowledge of security principles such as server security, file systems and access control
• Expert knowledge in build automation and continuous integration tools such as TeamCity, Octopus Deploy, Bamboo, Jekins, Maven, Ant, Ansible, Puppet, Chef
• Expert knowledge of shell scripting (i.e. bash, PowerShell)
• Clear knowledge of containerization tools (i.e. Docker) and related orchestration platforms
• Expert knowledge in Application Performance Monitoring like New Relic or open source tools like AWS X-ray or Jaeger.
• Expert knowledge in configuration and maintenance of APIs
• Experience in supporting test management and automation frameworks such as Ranorex and SmartBear
• Demonstrated ability to create and maintain an AWS based cloud solution with expertise in a broad range of AWS technologies (e.g. EC2, RDS, ELB, S3, CloudWatch, CloudFormation, ECS, Lambda, IAM)
• Software engineering experience in object oriented languages (i.e. Java) and databases (e.g. Oracle, SQL Server, Postgress, MongoDB, Redis)
• Operating Systems: Windows and Linux system administration and debugging
• Knowledge of web technology build tools such as Grunt, Gulp, Webpack, JShint, JSlint, Uglify
• Knowledge of mobile app deployment such HockeyApp, TestFlight.
• Strong analytical ability; able to analyze and resolve complex infrastructure and application deployment issues; self-motivated, able to learn quickly, and has strong work ethic
• Prior experience working with geographically distributed development teams
• Exceptional organizational skills with strong attention to detail and follow-up
• Excellent communication skills (verbal & written)