Background: CloudBees provides the leading enterprise DevOps solutions, so developers can focus on delivering great software rather than operational processes. It comes as no surprise that when the engineering set out to build an interview platform to support engineers candidates around the globe, we decided to create a framework using 'technical-simulation-as-code' in which our candidates can demonstrate their aptitudes and attitudes in real-world scenarios (labs).
Goals: Create a Technical Simulation framework, coded by Jenkinsfiles and JCasC, for interviewing support engineer candidates worldwide. The framework had to be:
Solution & Results: We are able to support an "Interview-as-Code" model consisting of two modules, both orchestrated via Jenkinsfiles: Deployer and Lab Book.
The rich documentation and examples, supported by its solid community, makes it very easy to turn your ideas into a viable solution.
Deployer: The Deployer is a parameterized pipeline job that builds up the required resources into the selected cloud vendor (initially AWS) from the candidate and proctor details (IP and mail account). Once a proctor triggers a manual build, the following sequence of events happen:
Lab Book: The Lab Book was a pipeline job, using a Kaniko agent, which builds and pushes Jenkins labs from the Jenkins Official Docker image configured via Jenkins Configuration-as-Code per different scenarios.
Having run that build, a book of labs is available. This contains ready-to-launch containerized scenarios used as common threads to establish proctor/candidate conversations about web application troubleshooting and DevOps concepts.
There are two scopes for troubleshooting:
The key Jenkins capabilities utilized were: Jenkins Docker official image, Jenkins Configuration-as-Code, Kubernetes plugin, and parameterized pipelines.
Our project was quite successful. Being a globally distributed team, this Technical Simulation framework eases the interviewing process for support engineer candidates, allowing us to increase the talent pool for CloudBees. Jenkins is a well-known application across the DevOps industry, thus our candidates feel comfortable with troubleshooting the issues we have prepared for them in the troubleshooting labs.
Better still, are the performance results leveraging Jenkins, including: