Job Title: DevSecOps Coach
Location – Remote
Client: System Soft
Visa Status – Must be a GC or Citizen. (No H1b or H4 EAD)
Interview – 2 rounds
Description of the position Candidates don’t need to be in a formal coaching position previously. If the candidate was a previous software engineer/developer that informally provided guidance to other development team members, that is good enough.
This is included in the job description document but I wanted to explicitly mention that the following are required from candidates.
• Implementing BDD for the delivery of business features
• Knowledge of implementing Gherkin syntax for acceptance criteria
• Implementing Automated Test Scripts using BDD Tools such as Cucumber or Spec flow
DevSecOps Engineering Coaches are responsible for delivering meaningful and long-lasting change to the way our development teams operate. Leveraging their significant software development, DevOps, and mentoring backgrounds, Engineering Experts are technical evangelists who shepherd teams into the future.
With a mix of technical skills, passion for continuous improvement, curiosity, creativity, and great people skills, they are a key part of changing the way we create and deliver solutions.
Client is undergoing a significant transformation. We are investing in our people and our tech stacks to improve our speed, quality, and customer satisfaction. The Engineering Experts understand how critical it is to adopt CI/CD, trunk-based development, branching by abstraction, and all the practices that are helping modern organizations make huge strides in delivery performance. This person will be responsible for teaching next-generation technical practices, positioning development teams for success, and helping architect solutions that move teams into forward-thinking delivery models. While the development teams are busy delivering essential value for our customers, the Engineering Experts are helping them level up their capabilities.
-Serve as a thought leader: research new practices, try them out, and then bring them to the delivery teams with demos, reference applications, and lightweight documentation.
-Craft operating procedures and best practices that will be rolled out across teams.
-Forge relationships with developers, managers, and business stakeholders.
-Dig deep, partnering with teams to understand current maturity, build plans for improvement, and provide hands-on support.
-Act broadly, regularly reaching out across the enterprise to encourage, empower, and inspire teams to level up.
Change is hard, so individuals in this role should expect to encounter resistance to change on a regular basis. A mindset of positivity, open-mindedness, and persistence is required.
This position is responsible for:
-Understanding the technical details required to implement modern delivery practices, including continuous integration, continuous delivery, automated release/change management, automated provisioning, and automated testing (unit, component, integration, acceptance).
-Working with IT teams (development, operations, support, etc.) to incrementally increase maturity.
-Sharing knowledge and partnering with our maturity models team to ensure our long-term trajectory is in line with modern best practices.
-Developing a method for tracking technical improvement efforts for every team and the tangible outcomes expressed in metrics and aligned to the DSO objectives.
-Developing standards for software engineering and rolling them out across the enterprise.
-Broadcasting stories of success and growth.
-Proactively and consistently providing updates on progress.
-Tactfully holding teams accountable for continuous improvement.
-Working to understand barriers to progress and knocking them down.
-Designing training opportunities (e.g. lunch and learns, skill builders)
-Designing and develop internal tools to help accelerate improvements.
-Hosting evangelism sessions, including things like DevSecOps roadshows.
Day-to-day, much of position's time will be spent working to understand the unique needs of each IT team, and then encouraging, facilitating, and supporting those teams' improvement efforts from a technical perspective. These individuals will need to make great relationships with developers, testers, product owners, scrum masters, and more.
-Development experience in at least one of the modern programming languages (Java, .NET, Angular, React or Python)
-Experience understanding of clean coding principles, design patterns, and delivery methodologies (CI/CD)
-Experience in the knowledge of BDD, TDD and Unit Testing concepts
-Experience with implementing Gherkin syntax and Cucumber/Specflow Tools for BDD
-Experience with Git-based SCM Tools
-Experience with Sonarqube or other similar Code Quality Analysis Tools
-Experience with implementing a microservices-based architecture design
-An interest in learning more about software security.
-Knowledge of cloud architecture and application delivery to the cloud environment
-Excellent written and verbal communication skills, including the ability to build effective workflow diagrams and value stream illustrations.
-The ability to build and maintain relationships with individual contributors and IT managers
-The ability to drop into a new team, quickly understand their work, and facilitate productive conversations from the start.
-The ability to understand new code bases and provide useful, specific guidance on how to improve.
-A thorough understanding of DevOps concepts and practices or the willingness and ability to learn.
BS in any computer-related degree (Computer Science, Information Systems, etc.)