Senior Software Engineer

    • San Francisco, CA
About thredUP

thredUP is the largest online marketplace for secondhand clothing. We make buying and selling a cinch for millions of women across the globe. The company resells more than 35,000 brands across hundreds of categories at up to 90% off the original retail value. Headquartered in downtown San Francisco and backed by world-class investors, thredUP is reinventing the secondhand clothing industry and inspiring a new generation of consumers to think secondhand first.

About the Role

At thredUP we are revolutionizing the clothing industry, and we want your help to design and evolve applications that build the backbone of our company. From image-processing and real-time prediction systems, to distribution center automation and workflow-management, there are a huge number of challenging and fun projects on the horizon that you can make an impact on. We are also devoting significant time towards decoupled services, machine learning, continuous integration, and scalability. The Operations Engineering team currently spends time in both our San Francisco, CA and San Leandro, CA locations.


  • Machine learning-base inventory acceptance and pricing system
  • In-house customer service management tool on top of CRM
  • Optimized and automated inventory put-away/picking system for millions of garments
  • Analytical mindset geared towards incremental data driven improvements
  • Building scalable and flexible systems utilizing best engineering practices
  • Writing clean and maintainable code with solid test coverage. Looking for leverage in improving testing.
  • Setting realistic estimates and effective communication with technical and business stakeholders


  • Proven experience working across the technical stack, delivering quality code for BOTH the front-end and back-end
  • Proficiency with Ruby and Ruby-based frameworks (Rails, Grape, Sinatra)
  • Proficiency with at least one front-end JS framework (React/Redux preferred)
  • Industry experience working with distributed systems
  • Experience with async messaging systems (we use RabbitMQ)
  • Familiarity with continuous integration and testing

Back to top