The tastyworks engineering team is made up of roughly 30 developers, devops engineers, and embedded QA / project management staff. From our trading client applications (a JavaScript web application, a rich desktop application, and two mobile apps), to the highly performant brokerage back-end that powers them all, to the multiple auxiliary services that augment our trading platform, members of the dev team bounce around from project to project as needed. Engineers tend to work in the languages and frameworks they're the strongest in, but we actively encourage members of our team to branch out into new technology that they're interested in. We encourage all members of our team not only to enrich their technical skill set during their tenure at tastyworks but to also gain a deeper understanding of the financial and trading concepts that are core to our business.

tastyworks

Chicago, IL

Infrastructure Engineer

The tastytrade family of companies (tastytrade, tastyworks, dough, quiet foundation, and The Small Exchange) empowers individual investors by providing educational media, intuitive and powerful trading software, high-speed order execution, innovative derivatives products, and portfolio guidance. The diversity of our offerings and the technology which powers them provides our engineers with exposure to a broad set of tools and the opportunity to dig deep into specific problems. We are an ideal environment for those who are self-motivated, engineering-focused, pragmatic, and who truly enjoy creating and operating large, highly-available, and performant systems. Our team is lean at roughly 30 members and we follow a management philosophy which values the autonomy of our engineers.

At tastyworks, you’ll be part of a small team of engineers who are ultimately responsible for the production infrastructure which powers our retail brokerage business. We care about the speed and stability of our back-end systems as much as we care about the customer-facing applications we build. Our architecture is consistently evolving as our business grows and we face different technical challenges, but always with a focus on practicality and performance. You'll help to maintain this infrastructure by working on existing configuration management code and troubleshooting the unexpected. You'll work on building its future state by participating in the architectural discussions, building proof of concept systems, writing new configuration management code and standing up new production systems.

Our infrastructure is a hybrid of self-hosted hardware at multiple colocation facilities and cloud-managed services. We are currently heavily invested in Chef and Terraform as our management tools of choice but are also consistently evaluating new technology.

The markets are open 24 hours a day, 5 days a week and our customers are trading throughout. We engineer for durability, but if you're looking at this job posting you realize that occasional outages do occur. The infrastructure and development teams work together to troubleshoot these issues and as such, there is a very occasional off-hours component to this job.

Specific Responsibilities:

  • Use configuration management tools (primarily Chef and Terraform) to build and maintain a hybrid infrastructure hosted both at colocation facilities and in the public cloud
  • Work directly with the development team to build supporting infrastructure for specific new application functionality
  • Run proof of concept projects on early stage infrastructure improvements to validate the feasibility of an approach, evaluate performance, and spike an implementation
  • Manage a curated set of open source tools (PostgreSQL, RabbitMQ, Redis, etc.) via both configuration management tools and direct troubleshooting when required.
  • Manage telemetry (graphite, grafana, collectd, prometheus), log aggregation (Elastic Stack) and monitoring tools (Sensu) via both configuration management tools and direct troubleshooting when required
  • We're a mandatory peer review organization and you'll be expected to include reasonable testing (inspec / chefspec) in all of your work
  • Help to maintain existing build / deploy pipelines for both configuration management and application development (we are currently leveraging Jenkins)
  • Implement security initiatives and follow security best practices

Prerequisites:

  • You must have experience with declarative configuration management tool(s) like Chef, Salt, Puppet or Terraform.
  • You should enjoy or at least be comfortable working with critical production systems where real revenue is at stake.
  • You must be able to work as a part of a team, both giving feedback to more junior team members and taking direction from more senior team members.
  • You must be able to make good critical decisions balancing technology, frameworks, strategy, and practical constraints.
  • You must be able to learn quickly in areas where you don't already have deep expertise.