Build a platform for developers to run scripts
You are a DevOps Engineer in a company with 200 Software Engineers.
You are tasked with building a platform for developers to run scripts.
You can use existing tools, or you can write it on your own.
How would you go about building this platform?
- Ability to ask questions and dig deep. The question is very open, and asking good questions is necessary for making design decisions, understanding trade-offs, and generally understand requirements.
- Clear thought process. Because the question is very open, and the candidate is being asked to design something new, the ability to communicate ideas clearly and reason about them is critical.
- Ability to design a system. While the question can go in many different directions, the candidate will always be challenged with making good design decisions, each time taking into account a different aspect of the system.
- Technical knowledge. The candidate's answer will provide insights into the tools he's familiar with, the languages he's proficient in, the level of details he's able to go into with different technologies. This question should reveal opportunities to ask about specific tech details.
- Project management (Bonus - More relevant for Leadership positions). The candidate should detail how this system will be built, so listening to his thought process can provide insights into how he manages the project - does he start from the beginning? is the project modular enough to iterate on? etc.
- What would be the perfect definition of done for such a project? (metrics, logs, security, scalable, configurable)
- Where will the scripts' codebase be?
- Would you place the scripts in a mono-repo or in many different ones?
- How will the scripts be tested?
- + 4 more guiding questions and the simplifying variants in the kit
- Providing a unified solution for fetching and using credentials
- Creating a dependency management solution that has conflicts
- Predicts the main challenges and tackles them
- Is as simple as possible
- Includes focusing questions by the candidate
- Is communicated clearly and in a gradual manner
- Shows proficiency in details of tools/languages
