Compass Energy develops mobile applications that improve quality, accelerate progress, and reduce risk in complex projects and industrial environments. We are a young startup in one of the largest undisrupted industries – offshore marine.
We are looking for a DevOps Engineer to own the release engineering, production and development environments. Working with the product development team and consulting delivery team, this position plays a critical role in our mission of building and delivering robust platforms.
You will be an important team member of an agile development process, responsible for the design and implementation of the applications. Other responsibilities include working with internal business partners to gather requirements, prototyping, architecting, implementing/updating solutions, building and executing test plans, performing quality reviews, managing operations, and triaging and fixing operational issues.
The DevOps Engineer must be able to adjust to constant business change; common types of changes include new requirements, evolving goals and strategies, and emerging technologies. It requires the ability to interact, develop, engineer, and communicate collaboratively at the highest technical levels with clients, vendors, partners, and all levels of staff.
- Define, scope, size, implement, test, and deploy existing and new infrastructure for both clients and internal teams
- Develop, support, and improve tools for continuous integration, automated testing and release management.
- Maintain build processes, manage release branches, build and test release binaries, and deploy to production both on internal hosted and in client hosted environments.
- Design, implement, operate and troubleshoot the automation and monitoring of our infrastructure in multiple environments
- Perform system integration tests, performance tests, technical acceptance tests, and user acceptance tests to ensure proper functioning of deployed systems
- Improve our infrastructure capabilities, optimizing for cost, simplicity, and maintainability
- Develop a process to make DevOps a part of the engineering development, service deployment and operations lifecycle
- Assist our Customer Support teams by creating the tools they need to solve problems and give our customers a beautiful experience
- Participate in engineering sprints with distributed development teams
- Learn and use a wide variety of technologies, wear lots of hats (actual hats optional)
- Production system integration, log collection and analysis, builds and performance monitoring/tuning
- Implement cutting edge technology and techniques for ongoing integration, automated testing, configuration management, release management, zero downtime deployment, online collaboration, cloud hosting, and system monitoring
- Manage and ensure effectiveness of security solutions, including firewalls, anti- virus solutions, virtual private networks, and intrusion detection systems.
- B.S. Computer Science or related equivalent experience
- 3+ years of experience in a DevOps role, including experience in software engineering, release engineering, configuration management, systems administration in Windows, Linux
- 2+ years’ experience with AWS. VPC, EC2, ELB, API Gateway, RDS, S3, IAM, Route53, CloudFormation
- Strong understanding of object oriented development, data structures, algorithms, use of design patterns and systems
- Experience in creating automated build scripts (e.g. Powershell, Python) for release management across Dev/QA/Prod environments
- Strong understanding of web, network protocol standards, security, and troubleshooting
- Experience in integration testing, acceptance testing, and technical documentation
- Working experience on monolith .NET and LAMP stacks and microservices
- Working knowledge of both RDBMS (MS SQL, Oracle) and NoSQL (Redis, Dynamo)
- Experience in the integration of various CI/CD tools and technologies in the Devops pipeline (e.g. VSTS, GIT, JIRA, Jenkins, Bamboo, Octopus, Teamcity)
- Experience with test automation tools (e.g. Sauce, Selenium, Xamarin cloud)
- In-depth experience in the software development life cycle from build, release management, deployment automation process.