Skip to content

Instantly share code, notes, and snippets.

@mmzyk
Last active April 8, 2020 01:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mmzyk/49bf849fd617dedfa465d2731bfc0b63 to your computer and use it in GitHub Desktop.
Save mmzyk/49bf849fd617dedfa465d2731bfc0b63 to your computer and use it in GitHub Desktop.
Spreedly Systems Engineer Work Sample - Payment Frame

Spreedly Systems Engineer Work Sample

Being a company founded by developers, it's in our DNA to automate as much as we can and deploy as often as possible in order to allow for rapid development, innovation, and reduced human error. Spreedly relies on many internal services for its infrastructure. Your role as a Systems Engineer at Spreedly will involve:

  • understanding how all the pieces that comprise the infrastructure fit together
  • knowing how best to maintain and secure that infrastructure
  • automating provisioning, testing, and maintenance as much as possible
  • measuring and monitoring system fitness
  • delivering services that other engineering teams can utilize in support of their development efforts
  • communicating well with the rest of the team and the wider technical community

Our Technical Values

We highly value:

  • pragmatic solutions with an eye toward future, incremental improvements
  • careful attention to detail
  • testing before deployment
  • communicating intent through code, commits, and documentation

The Task

One of the areas that Spreedly is increasingly moving is ensuring we can deploy our architecture with containers. To that end, we'd like you to deploy one of our sample applications using Docker. This sample application utilizes some of our production code just as our customers would use it.

Your task is to:

Use NGINX running in Docker to serve the Spreedly Payment Frame via HTTPS.

Example of the application running: https://spreedly-payment-frame.herokuapp.com/ Code for the application: https://github.com/spreedly/sample-payment-frame

Deliverables

The final output of your work should be:

Code which generates a docker container that serves the Spreedly Payment Frame via HTTPS.

Your code will minimally include a Dockerfile which:

  • Uses Ubuntu 18.04 as the base image
  • Installs and configures NGINX to serve Spreedly Payment Frame via HTTPS

Your README should include the command necessary to run the Docker container.

Solution Format Please do not post your solution to public Git repositories like GitHub or Gitlab. Instead please work locally:

  1. mkdir solution && cd solution
  2. git init
  3. touch README.md
  4. git commit -m "Initial commit"
  5. < ...hack, hack, hack... >
  6. cd .. && git clone --mirror solution solution.repo
  7. tar czf solution.repo.tgz solution.repo

Your commits should clearly communicate your intent and choices made while completing the task.

Please submit your deliverables via email to jobs@spreedly.com

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment