Welcome, and thank you for your interest in joining the Nx team as an Infrastructure Engineer! This repository contains two separate Terraform module challenges, each designed to let you showcase your skills and approach to building infrastructure solutions.
We’ve provided two different options for you to explore:
- GCP Module: Focused on sharing secrets between multiple projects in an organization.
- AWS Module: Focused on creating networking infrastructure.
You only need to complete one of these options—though you’re welcome to explore both if you’d like. Each module has its own dedicated directory and README with more detailed instructions.
Please note: if you are not in the application process for an open infrastructure engineer posting for Nx, please do not submit anything for review. We are not accepting general submissions that are not tied to an application on an active job posting.
-
Copy This Repository Please clone this repository into your own private version control system (e.g., a private GitHub repository). Once you’ve completed your work, invite the Nx team members specified in your interview instructions to review it.
-
Work at Your Own Pace There’s no need to rush; we want to see how you naturally approach infrastructure challenges. Feel free to experiment and adapt the solutions as you see fit.
-
No Actual Deployment Required We don’t expect you to apply or deploy these Terraform configurations. However, it would be ideal if a
terraform plan
ran cleanly. If you choose to test your code by deploying, the infrastructure should fit into the free tier limits of the respective cloud providers (GCP or AWS). -
Your Approach, Your Ideas You have creative freedom here. We care about how you structure your code, manage resources, handle security, and organize your Terraform modules. We recommend approaching it as something you would then have to use regularly and maintain going forward.
Once you're happy with your solution, invite @stevepentland and @pmariglia as collaborators so we can review what you've accomplished. In the next interview steps please be ready to discuss your solution, such as decisions made around structure, inputs & outputs, and so on. We're excited to learn more about how you approached this challenge.
- Interview Process: This exercise is part of the Nx hiring process. We appreciate the time and effort you’ll be investing.
- Collaboration: If you have any questions or clarifications, please don’t hesitate to reach out to your Nx point of contact.
- Exploration: We’re excited to see how you tackle these challenges. Feel free to explore different structures or approaches that showcase your strengths.
- Submitting Your Solution: Once you’re satisfied with your solution, add our team members as collaborators to your private repository so we can review your work.
- Open the folder for the cloud provider you’d like to focus on.
- Follow the instructions in the dedicated README.
- Build, plan, and test your code (if you wish to do so).
- Share your private repo with us once you’re done.
Thank you again for taking the time to work through this exercise. We look forward to reviewing your solution and potentially welcoming you to the Nx team!
Good luck, and happy Terraforming!