Dev Ops Engineer
You really love designing and standing up scalable, high-performing environments, then working with development teams to deploy interesting and sometimes complex applications to them. Hard problems are an enjoyable challenge. You strive for clean, bulletproof, scalable solutions, and appreciate the fact that creating a simple system from a complex set of requirements is a feat to be proud of. You are constantly aware of what you don’t know, and are constantly learning new things to fill the gaps. You are aware that this is an endless cycle of growth and understanding, and revel in it.
You are result driven. You realize that understanding and articulating what is needed is more important than coming up with a complex solution for what is not.
You’ve been administering systems and networks, both local, managed, and cloud-based, for a number of years. You've designed, implemented, and managed end-to-end DevOps toolchains incorporating continuous integration and deployment automation. Your ideal day consists of good split between monitoring the health and operations of existing environments, configuring a new one, learning some new techniques, and guiding teammates that may be less experienced than you are. You have an innate appreciation for the value of a robust DevOps process, and environments that can scale elastically.
Working directly with our project teams - each comprised of a Project Director, Architect, Developers, and QA Engineers - the Dev Ops Engineer will be responsible for design and automation of the systems and network, as well as the full DevOps toolchain for the application being created.
Working as part of an elite team, and interfacing directly with stakeholders from Fortune 500 companies to entrepreneurs and founders of cutting-edge startups, this role will foster and grow a wide-range of skills ranging from enterprise scale system and software deployment to creative problem solving. The individual will be involved in stimulating and challenging research and analysis during the beginning phases of projects, working hand-in-hand with the implementation team as the DevOps toolchain is established and refined during development phases, and overseeing the production environment following each release.
Using a blend of knowledge, creativity, and tenacity the Dev Ops engineer will work with the team to ensure quality product delivery that meets or exceeds expectations. A successful team member will leverage his or her knowledge and creativity to build world-class solutions for difficult yet exciting business problems.
Reporting to the Vice President of Delivery, the Dev Ops Engineer will have the following responsibilities and functions:
- Work directly with project team and clients to understand their needs, provide recommendations on system network, and dev ops toolchain design, then drive implementation of the same
- Provide documentation on design, implementation, and proper processes
- Work alongside Solution Architects, Project Directors, other Developers, and Quality Assurance during project inception, development, launch and beyond, across one or more projects.
- Maintain a working knowledge of operating systems, cloud providers and services, dev ops tools and techniques, and system, network, and security best practices.
- Educate new and existing team members on environment configuration and dev ops processes.
- Bachelor's degree in Computer Science or equivalent experience
- Experience working with agile development teams in continuous integration / continuous release cycles.
- Strong foundation and experience in administration and tooling in Windows and Linux (Ubuntu/Debian/RedHat/CentOS/Fedora) environments
- Desktop virtualization, development tools (VMware, Hyper-V or VirtualBox)
- 5+ years Cloud computing experience: AWS, Google, Azure
- Strong foundation and experience in network configuration and management, especially in cloud environments
- 3+ years’ experience in infrastructure automation, including but not limited to: Cloud Formation, Terraform, Chef, Puppet, Vagrant, Packer, Azure Resource Manager, Ansible
- Build tools: Maven, Gradle, Ant, NAnt, MSBuild, Rake, GNU Make
- Experience with Continuous Integration tools : TeamCity, Jenkins, Codeship, Travis, Cruise Control, Bamboo, AWS CodePipelines
- Experience with Git SCM tools and utilities
- Experience with application servers, servlet containers, and web servers: WebSphere, Tomcat, Jetty, Nginx, IIS, Apache, Node
- Experience conducting performance and load testing: JMeter, Selenium, Gatling
- Experience with database migration utilities: Liquibase, Flyway
- Experience configuring and managing system and network security infrastructure
- Experience using security auditing tools for assessment of system and network environments
- Logging – Splunk, Kibana, Logstash, AWS CloudWatch Logs
- Monitoring – AWS CloudWatch, Nagios, New Relic, Alert Logic
- Must have the ability to travel and work onsite at client locations (Up to 20%)