The DevOps Engineer works with application developers to automate and accelerate the testing, release and deployment of applications into a runtime environment quickly and reliably. The engineer will also establish and employ Continuous Integration practices and tools such as Jenkins or other CI tools. He or she will work with developers and the IT staff to oversee the code releases that migrate into Continuous Delivery practices. The engineer will have experience in the use of configuration management automation tools for creating continuous delivery systems. He or she will employ industry Continuous Delivery patterns and collaboratively work with other members of the broader team to achieve successful continuous delivery solutions.
Ideal candidates are either developers who are interested in deployment and network operations or sysadmins who have a passion for scripting and coding and move into the development side where they can improve the planning of test and deployment.
Estimation, Design, and Analysis
- Perform technical analysis to determine best ways to meet functional objectives.
- Prototype or perform proofs of concept as needed to prove out feasibility of technical approaches for new capabilities.
- Participate in the design of system changes, where relevant to functional and technical expertise.
Development and Delivery
- Continually consider the team to which assigned, collaborating with all members and pulling work forward wherever possible.
- Work directly with the DevOps team and DevOps manager to test system integrity
- Design and implement build, deployment, and configuration management
- Test implemented designs
- Build and test automation tools for infrastructure provisioning
- Handle code deployments in all environments
- Monitor metrics and develop ways to improve
- Provide technical guidance and educate team members and coworkers on development and operations
- Brainstorm for new ideas and ways to improvement development delivery
- Consult with peers for feedback during testing stages
- Build, maintain, and monitor configuration standards
- Maintain day-to-day management and administration of projects
- Manage CI and CD tools with team
- Document and design various processes; update existing processes
- Improve infrastructure development and application development
- Follow all best practices and procedures as established by company
- During development cycles, it is important to remember the existing production system takes priority; a non-working system cannot have features consistently added. In that vein:
- Ensure availability as L1-3 support when needed.
- Ensure issues identified in production are opportunities to improve all future work.
- Ensure monitoring frameworks are installed, configured, and are aligned to enabling 24/7 uptime.
- Automate health checks and recovery.
- Identify areas of weakness in the assigned application suites that must be improved in order to prevent production issues, sharing those with manager to ensure they are backlogged and evaluated properly.
- Partner with Application Support teams on feature/function/troubleshooting approaches.
Education & Experience:
- High school degree or equivalent; bachelor's degree in CS, engineering, software engineering, or related field
- Two years previous experience in development and operations, or related IT, computer, or operations field
- Previous experience with software development, infrastructure development, or development and operations
- Exposure to agile development SDLC and tools, such as JIRA or TFS.
- Automating the build process for continuous integration environments
- Up-to-date on latest industry trends; able to articulate trends and potential clearly and confidently
Behavioral and Character Requirements:
- Respect is an uncompromising role necessity, without regard to role, level, team, or capability of those to whom respect must be demonstrated
- Must have a naturally collaborative orientation, putting company, division, department, and team before self
- We aim to hire those that ask "how can I help" over "what does this do for me," hiring for character as much as skill
- Flexibility is required for success at LKQ; purists will not be content in our environment.
- Good interpersonal skills and communication with all levels of management
- Able to multitask, prioritize, and manage time efficiently
Essential Physical Demands/Work Environment:
Long periods of sitting are required.
Scrum (Software Development)
Agile Software Development
Systems Development Life Cycle