Jobs › tastytrade

Software Engineer - Ruby

tastytrade · Chicago, IL · $130,000–$150,000 a year · tt - Brokerage

Posted Oct 2, 2026 · We last checked this listing on Oct 6, 2026

Apply at tastytrade

Likely interview questions for this role

Written from this job description, not a generic list. Each one notes what the interviewer is really checking.

About your past

If Ruby isn't your main language yet, what have you done to get comfortable with it?

What they are checking: Whether they have taken real steps to learn Ruby, as the posting requires.

Tell me about a production issue you troubleshot. How did you find the root cause?

What they are checking: Whether they can debug live systems methodically under pressure.

Tell me about a time you made a practical tradeoff between perfect code and shipping on time.

What they are checking: Whether they share the team's focus on practicality and performance.

What would you do

How would you safely change an existing system that many other services depend on?

What they are checking: Whether they think about tests, backward compatibility and gradual rollout.

What's the difference between how you'd design a greenfield service and how you'd change a legacy one?

What they are checking: Whether they adapt their approach to the codebase in front of them.

About the work

In Ruby, how would you model a simple order with validation so invalid orders can't be created?

What they are checking: Whether they can write clean object-oriented Ruby, since the technical interview is in Ruby.

A back-end endpoint is slow during market hours. How do you find the cause?

What they are checking: Whether they profile and measure instead of guessing at performance problems.

How would you handle a situation where two services disagree about the state of a customer's account?

What they are checking: Whether they understand consistency problems in distributed systems.

How do you write tests for code that calls external services?

What they are checking: Whether they know mocking, contract testing and where each fits.

How do Ruby blocks, procs and lambdas differ, and when would you use each?

What they are checking: Whether they understand core Ruby features beyond basic syntax.

Practice this interview out loud.

Offer builds a real interview for this exact role at tastytrade from your resume and this job description, asks the questions one at a time, and tells you what landed. The first one is free.

Practice this out loud

The full job description

As published by tastytrade.

Company:&nbsp; tastytrade &nbsp; Role:&nbsp; Software Engineer (Ruby) &nbsp; Location:&nbsp; Chicago, IL — Hybrid &nbsp; Salary: $130,000-$150,000 &nbsp; As a Software Engineer you will be part of a team that builds out the technology powering our retail brokerage business and supporting our other business initiatives. 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 distributed and consistently evolving as our business grows and we face different technical challenges, but always with a focus on practicality and performance. &nbsp; You'll help by modifying existing systems, taking ownership of current systems as well as green field projects, and troubleshooting issues as they arise. Our engineers work with a plethora of tools including Java, Javascript, and Ruby. You'll work primarily in Ruby but will have opportunities to expand your skill set into areas where your interests and our technology intersect. &nbsp; Ruby doesn't have to be your primary language today. If you're strong in another object-oriented language — Java, for example — and you're genuinely keen to make Ruby your day-to-day, we'd like to hear from you. Our technical interview is conducted in Ruby wherever possible, so you'd need to be comfortable enough to code in it by the time we meet. &nbsp; What You'll Do &nbsp; <li data-leveltext="•" data-font="Times New Roman" data-listid="2" data-list-defn-props="{"335552541":1,"335559685":431,"335559991":215,"469769242":[8226],"469777803":"left","469777804":"•","469777815":"hybridMultilevel"}" data-aria-posinset="1" data-aria-level="1"> Work in multiple languages across different parts of the tastytrade stack and/or front-end trading client applications. &nbsp; <li data-leveltext="•" data-font="Times New Roman" data-listid="2" data-list-defn-props="{"335552541":1,"335559685":431,"335559991":215,"469769242":[8226],"469777803":"left","469777804":"•","469777815":"hybridMultilevel"}" data-aria-posinset="2" data-aria-level="1"> Design, build and maintain services in a distributed architecture, thinking about failure modes, latency and data consistency as you go. &nbsp; <li data-leveltext="•" data-font="Times New Roman" data-listid="2" data-list-defn-props="{"335552541":1,"335559685":431,"335559991":215,"469769242":[8226],"469777803":"left","469777804":"•","469777815":"hybridMultilevel"}" data-aria-posinset="3" data-aria-level="1"> Provide guidance and leadership to more junior members of the team when questions arise about language or implementation specifics, and contribute in a meaningful way to our peer review process. &nbsp; <li data-leveltext="•" data-font="Times New Roman" data-listid="2" data-list-defn-props="{"335552541":1,"335559685":431,"335559991":215,"469769242":[8226],"469777803":"left","469777804":"•","469777815":"hybridMultilevel"}" data-aria-posinset="4" data-aria-level="1"> Translate requirements and technical direction into production-quality code with lightweight guidance from a senior engineer or team leadership. &nbsp; <li data-leveltext="•" data-font="Times New Roman" data-listid="2" data-list-defn-props="{"335552541":1,"335559685":431,"335559991":215,"469769242":[8226],"469777803":"left","469777804":"•","469777815":"hybridMultilevel"}" data-aria-posinset="5" data-aria-level="1"> Work independently on smaller-scope tasks, as well as under the guidance of senior engineers to contribute to larger projects. &nbsp; <li data-leveltext="•" data-font="Times New Roman" data-listid="2" data-list-defn-props="{"335552541":1,"335559685":431,"335559991":215,"469769242":[8226],"469777803":"left","469777804":"•","469777815":"hybridMultilevel"}" data-aria-posinset="6" data-aria-level="1"> Write comprehensive tests for your code. &nbsp; <li data-leveltext="•" data-font="Times New Roman" data-listid="2" data-list-defn-props="{"335552541":1,"335559685":431,"335559991":215,"469769242":[8226],"469777803":"left","469777804":"•","469777815":"hybridMultilevel"}" data-aria-posinset="7" data-aria-level="1"> Engage in light infrastructure work to support application development work where applicable. &nbsp; <li data-leveltext="•" data-font="Times New Roman" data-listid="2" data-list-defn-props="{"335552541":1,"335559685":431,"335559991":215,"469769242":[8226],"469777803":"left","469777804":"•","469777815":"hybridMultilevel"}" data-aria-posinset="8" data-aria-level="1"> Continue your growth by learning new systems and working towards ownership of tastytrade's systems. &nbsp; Who You Are &nbsp; <li data-leveltext="•" data-font="Times New Roman" data-listid="2" data-list-defn-props="{"335552541":1,"335559685":431,"335559991":215,"469769242":[8226],"469777803":"left","469777804":"•","469777815":"hybridMultilevel"}" data-aria-posinset="9" data-aria-level="1"> Demonstrable professional experience working as a software engineer on a team. &nbsp; <li data-leveltext="•" data-font="Times New Roman" data-listid="2" data-list-defn-props="{"335552541":1,"335559685":431,"335559991":215,"469769242":[8226],"469777803":"left","469777804":"•","469777815":"hybridMultilevel"}" data-aria-posinset="10" data-aria-level="1"> A mastery of at least one of our languages or frameworks and experience dealing with it in a production context. &nbsp; <li data-leveltext="•" data-font="Times New Roman" data-listid="2" data-list-defn-props="{"335552541":1,"335559685":431,"335559991":215,"469769242":[8226],"469777803":"left","469777804":"•","469777815":"hybridMultilevel"}" data-aria-posinset="11" data-aria-level="1"> Minimum 2 years of professional experience with Ruby — or equivalent experience in another object-oriented language (e.g. Java) alongside a commitment to work primarily in Ruby and to interview in it. &nbsp; <li data-leveltext="•" data-font="Times New Roman" data-listid="2" data-list-defn-props="{"335552541":1,"335559685":431,"335559991":215,"469769242":[8226],"469777803":"left","469777804":"•","469777815":"hybridMultilevel"}" data-aria-posinset="12" data-aria-level="1"> Experience building or operating distributed systems. &nbsp; <li data-leveltext="•" data-font="Times New Roman" data-listid="2" data-list-defn-props="{"335552541":1,"335559685":431,"335559991":215,"469769242":[8226],"469777803":"left","469777804":"•","469777815":"hybridMultilevel"}" data-aria-posinset="13" data-aria-level="1"> The ability to learn quickly in areas in which you don't already have deep expertise. &nbsp; <li data-leveltext="•" data-font="Times New Roman" data-listid="2" data-list-defn-props="{"335552541":1,"335559685":431,"335559991":215,"469769242":[8226],"469777803":"left","469777804":"•","469777815":"hybridMultilevel"}" data-aria-posinset="14" data-aria-level="1"> A willingness to learn new languages, frameworks, or technologies beyond your current expertise. &nbsp; <li data-leveltext="•" data-font="Times New Roman" data-listid="2" data-list-defn-props="{"335552541":1,"335559685":431,"335559991":215,"469769242":[8226],"469777803":"left","469777804":"•","469777815":"hybridMultilevel"}" data-aria-posinset="15" data-aria-level="1"> Accountability and a willingness to take ownership of your work. &nbsp; <li data-leveltext="•" data-font="Times New Roman" data-listid="2" data-list-defn-props="{"335552541":1,"335559685":431,"335559991":215,"469769242":[8226],"469777803":"left","469777804":"•","469777815":"hybridMultilevel"}" data-aria-posinset="16" data-aria-level="1"> Curiosity and a proactive approach to problem-solving. &nbsp; Nice to Have &nbsp; <li data-leveltext="•" data-font="Times New Roman" data-listid="2" data-list-defn-props="{"335552541":1,"335559685":431,"335559991":215,"469769242":[8226],"469777803":"left","469777804":"•","469777815":"hybridMultilevel"}" data-aria-posinset="17" data-aria-level="1"> Experience with Grape. &nbsp; <li data-leveltext="•" data-font="Times New Roman" data-listid="2" data-list-defn-props="{"335552541":1,"335559685":431,"335559991":215,"469769242":[8226],"469777803":"left","469777804":"•","469777815":"hybridMultilevel"}" data-aria-posinset="18" data-aria-level="1"> Experience writing Ruby outside of Rails. &nbsp; <li data-leveltext="•" data-font="Times New Roman" data-listid="2" data-list-defn-props="{"335552541":1,"335559685":431,"335559991":215,"469769242":[8226],"469777803":"left","469777804":"•","469777815":"hybridMultilevel"}" data-aria-posinset="19" data-aria-level="1"> Front-end experience, ideally with Svelte, and any exposure to micro-frontend architectures. &nbsp; <li data-leveltext="•" data-font="Times New Roman" data-listid="2" data-list-defn-props="{"335552541":1,"335559685":431,"335559991":215,"469769242":[8226],"469777803":"left","469777804":"•","469777815":"hybridMultilevel"}" data-aria-posinset="20" data-aria-level="1"> A working grasp of application security and secure coding practices. &nbsp; How We Work &nbsp; We try to take a thoughtful approach to our ways of working as a company. We follow a hybrid working model with 3 days in the office – which we think balances the need to collaborate effectively and connect with each other. When it comes to how we deliver, there are 5 things we want everyone to do to drive high performance, better learning and career satisfaction: &nbsp; <li data-leveltext="•" data-font="Times New Roman" data-listid="2" data-list-defn-props="{"335552541":1,"335559685":431,"335559991":215,"469769242":[8226],"469777803":"left","469777804":"•","469777815":"hybridMultilevel"}" data-aria-posinset="21" data-aria-level="1"> Lead and Inspire: Drives trust, alignment, and enthusiasm. &nbsp; <li data-leveltext="•" data-font="Times New Roman" data-listid="2" data-list-defn-props="{"335552541":1,"335559685":431,"335559991":215,"469769242":[8226],"469777803":"left","469777804":"•","469777815":"hybridMultilevel"}" data-aria-posinset="22" data-aria-level="1"> Think Big: Focus on the problems that most impact commercial outcomes. &nbsp; <li data-leveltext="•" data-font="Times New Roman" data-listid="2" data-list-defn-props="{"335552541":1,"335559685":431,"335559991":215,"469769242":[8226],"469777803":"left","469777804":"•","469777815":"hybridMultilevel"}" data-aria-posinset="23" data-aria-level="1"> Champion the Client: Understand and prioritise clients' needs. &nbsp; <li data-leveltext="•" data-font="Times New Roman" data-listid="2" data-list-defn-props="{"335552541":1,"335559685":431,"335559991":215,"469769242":[8226],"469777803":"left","469777804":"•","469777815":"hybridMultilevel"}" data-aria-posinset="24" data-aria-level="1"> Deliver at Pace: Push for fast, sustainable growth. &nbsp; <li data-leveltext="•" data-font="Times New Roman" data-listid="2" data-list-defn-props="{"335552541":1,"335559685":431,"335559991":215,"469769242":[8226],"469777803":"left","469777804":"•","469777815":"hybridMultilevel"}" data-aria-posinset="25" data-aria-level="1"> Raise the Bar: Take ownership, be accountable and share feedback. &nbsp; We believe that diversity is vital to success, it fuels creativity, drives innovation and sets us up for global success. We're committed to building teams with a variety of perspectives and skills to help us realise our vision and strategy, that's why we encourage applications from people with diverse backgrounds and experiences to join us on this journey. &nbsp; Discretionary Performance Bonus:&nbsp; 8-12% of base salary based on individual and company performance. Company Perks + Benefits:   &nbsp; <li data-leveltext="" data-font="Symbol" data-listid="8" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"multilevel"}" data-aria-posinset="1" data-aria-level="1"> Performance Bonuses  &nbsp; <li data-leveltext="" data-font="Symbol" data-listid="8" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"multilevel"}" data-aria-posinset="2" data-aria-level="1"> Stock Purchase Options  &nbsp; <li data-leveltext="" data-font="Symbol" data-listid="8" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"multilevel"}" data-aria-posinset="3" data-aria-level="1"> 401k Plan  &nbsp; <li data-leveltext="" data-font="Symbol" data-listid="8" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"multilevel"}" data-aria-posinset="4" data-aria-level="1"> Medical/Dental/Vision Benefits  &nbsp; <li data-leveltext="" data-font="Symbol" data-listid="8" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"multilevel"}" data-aria-posinset="5" data-aria-level="1"> Continued Education Support  &nbsp; <li data-leveltext="" data-font="Symbol" data-listid="8" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"multilevel"}" data-aria-posinset="6" data-aria-level="1"> 20 Paid Vacation Days (plus an additional paid vacation day the month of your birthday!)  &nbsp; <li data-leveltext="" data-font="Symbol" data-listid="8" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"multilevel"}" data-aria-posinset="7" data-aria-level="1"> 10 Paid Sick Days  &nbsp; <li data-leveltext="" data-font="Symbol" data-listid="8" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"multilevel"}" data-aria-posinset="8" data-aria-level="1"> Gym Membership Reimbursement  &nbsp; <li data-leveltext="" data-font="Symbol" data-listid="8" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"multilevel"}" data-aria-posinset="9" data-aria-level="1"> Commuter Benefits  &nbsp; <li data-leveltext="" data-font="Symbol" data-listid="8" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"multilevel"}" data-aria-posinset="10" data-aria-level="1"> Pet Insurance  &nbsp; <li data-leveltext="" data-font="Symbol" data-listid="8" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"multilevel"}" data-aria-posinset="11" data-aria-level="1"> Wellness & Mental Health Programs  &nbsp; <li data-leveltext="" data-font="Symbol" data-listid="8" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"multilevel"}" data-aria-posinset="12" data-aria-level="1"> Charitable Donation Matching  &nbsp; <li data-leveltext="" data-font="Symbol" data-listid="8" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"multilevel"}" data-aria-posinset="13" data-aria-level="1"> Two Paid Volunteer Days Off  &nbsp; <li data-leveltext="" data-font="Symbol" data-listid="8" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"multilevel"}" data-aria-posinset="14" data-aria-level="1"> Daily catered lunch when in the office  &nbsp; <li data-leveltext="" data-font="Symbol" data-listid="8" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"multilevel"}" data-aria-posinset="15" data-aria-level="1"> Full kitchen with snacks and beverages  &nbsp; <li data-leveltext="" data-font="Symbol" data-listid="8" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"multilevel"}" data-aria-posinset="16" data-aria-level="1"> In-building gym  &nbsp; <li data-leveltext="" data-font="Symbol" data-listid="8" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"multilevel"}" data-aria-posinset="17" data-aria-level="1"> Shuttle to/from Metra  &nbsp; About IGNA + tasty   &nbsp; IG North America is home to tastytrade, tasty live , tastyfx, and tastycrypto—a family of brands built to democratize trading and empower individual investors. Founded in Chicago by the creators of thinkorswim, acquired by London-based IG Group in 2021, we combine startup innovation with the backing of a FTSE 100 fintech operating across five continents serving over 1.3m customers and handling billions of dollars in transactions – built on scale, trust, and proof.  &nbsp; From our headquarters in Chicago's Fulton Market, our team builds award-winning trading platforms, produces live financial education content daily, and creates technology that makes complex markets accessible. tastytrade is our retail brokerage for self-directed investing and trading, with tasty live  providing content to educate our customers. tastyfx is the fastest-growing forex broker in the US. tastycrypto provides self-custody digital wallets for decentralized finance.     &nbsp; We're a lean, collaborative team that values autonomy, pragmatism, and impact. Whether you're building technology, creating content, serving customers, or supporting operations, you'll work alongside people who are passionate about disrupting traditional finance and genuinely care about helping traders succeed. Our culture rewards initiative, embraces experimentation, and measures success by the value we create for our users. The bar is high – bring a curious and forward-thinking mindset and we'll give you the platform to define what comes next. Join us at IG|tasty – the future gets built here.  &nbsp; &nbsp; Location:  Our office is in the West Loop - Chicago's growing center of tech, great cuisine, and high-end bars.   &nbsp; tastytrade  |  tasty live   |  tastyfx &nbsp; 1330 W Fulton Market, Chicago, IL 60607           &nbsp; *Don't meet every single requirement? Studies have shown that women and people of color are less likely to apply to jobs unless they have every single qualification. Our team is dedicated to building a diverse, inclusive, and authentic workplace, so if you’re excited about this role, but your experience doesn’t align perfectly, we encourage you to apply anyway. You may be just the right candidate for this or other roles!   &nbsp; &nbsp; &nbsp; &nbsp;

Apply at tastytrade