A bad way to implement a currency exchange would be to have the customer pass their order to an employee who then manually checks the customer balances, decides whether the order is valid, then writes down the order in a big order book (a la the old New York stock exchange). This method would be slow, prone to human error, not scalable, and more customers would require more employees. A better way would be to give the tools to the customer (with appropriate validations and security) to create the orders themselves, making the exchange more efficient and less expensive to run.
A bad way to work as a DevOps team would be to pass a request (e.g. deploy an application, change some infrastructure, or fix a security issue) to a DevOps engineer who would then go and fulfill it (a la how many companies work). This method would be slow, prone to human error, not scalable, and a bigger company would require more DevOps engineers. A better way would be to give the tools to the engineers (with appropriate validations and security) to perform the operations themselves, making the entire company more efficient.
At Coinbase we have written about how we build and deploy our infrastructure securely and how this has increased our developer productivity. We have as a team philosophy to build Self Service infrastructure tools for our engineers to enable them to accomplish all their tasks in a safe and secure way.
If this sounds like a DevOps team you would like to be a part of, we are now recruiting DevOps and Software Engineers here.
