Every day, millions of people rely on WeTransfer to share their creative ideas. So, the work we do matters. Come and be a part of it.
About our workflow
We believe that software is gardening. We trust each other to make good decisions, to provide and accept good feedback and we believe that Ruby is a reasonable vehicle for supporting the growth of our business.
Our main toolkit includes Rails for our majestic monolith, Rack, Sinatra and Sqewer for our services, RSpec for testing, and a number of supporting libraries. Our UI is a modern React/Redux single-page app.
We believe that a service is not something you put "out there" and forget. By maintaining our infrastructure and software well we try to keep our code clean, our tests passing, and our technical debt within reasonable margins. We are certain that any fashion, be it monoliths or microservices, is to be applied sparingly - for example, we split our services based on data isolation, vastly different load profiles, and team ownership.
We bring our code to production using continuous integration and self-service deployments. Enabled by infrastructure as code built on top of the platform-as-a-service provided by our platform team, we own our products end-to-end.
What you'll be doing
You'll be responsible for the design, implementation and maintenance of our various Ruby services. Together with the rest of the team you will take your ideas from implementation to production, serving our millions of users. You're always open to new perspectives and solutions, but not shy in taking the lead and presenting your own.
Some projects you will be working on are:
A distributed job queue system splicing and processing millions of files daily
A streaming download server, pushing terabytes of traffic
A pack of micro- and medium-services that comprise our platform
Exciting new features of the main WeTransfer experience
Our various open-source libraries
Who we are looking for?
Above all else we value open communication and good teamwork to achieve a shared vision. Ruby is practically your second language (you know your Rspec from your Minitest, your Exception from your StandardError, your Symbol from your String and your stabby lambda from your Proc). You love working with the language and have used it to solve interesting real-world problems. Helping others to improve their skills is something you enjoy and actively seek out to do.
Experience writing highly-scalable systems
Experience in building cloud-based solutions
Always looking for ways to improve how we work
Comfortable presenting own ideas to a team
Strong verbal and written communications skills (English)
Even better if you have:
Experience in leading a team
Worked with languages other than Ruby (e.g., Elixir, Go, C or Haskell)
Contributed to Open Source projects (we'd love to see them!)
A degree in Computer Science or a related field