Position: Senior Ruby on Rails developer
Company: TEAM International Services
Category: Ruby
Experience required: 5y
English level: intermediate

Our catalogue of products focuses on trains with European carriers such as SNCF, Eurostar, Thalys, Trenitalia, DB or Renfe, rail passes such as Swiss Travel Pass, Eurail or Japan Pass, and unique luxury great train journeys such as Rocky Mountaineer, Orient-Express or Trans-Siberian. We also offer travelers a train booking platform available in 30 countries websites.

• Our software stack consists of a pure-Ruby backend library which we use to communicate with train booking APIs, a modern Rails application, a PostgreSQL database, and two native mobile applications (iOS and Android).
• We’re integrated with multiple rail operator booking systems, and we’re increasingly consuming other types of data too (e.g. timetable data for routing, real-time arrivals/departures etc).
• We need to diligently manage technical complexity, as each external system works in a slightly different way, with its own features and quirks. SOAP is (unfortunately) used by many operator APIs, which is why we released our open source library, LolSoap.
• Some of the most difficult challenges we face relate to routing and making sense of lots of data. Which routes are best to get from A to B? Which booking systems should be queried? How might we cache data without affecting the accuracy of the results?
• Because Rail Europe is the merchant of record for all transactions, we are also responsible for fraud prevention, and handling currency and other finance-related issues.
• We are experiencing a large post-Covid increase in business, so some of the challenges we are facing relate to scaling our existing code and processes.
Your Essential Skills & Experience
• Have 4+ years of professional programming experience
• Have a passion for remote work, and significant remote work experience
• Have a deep knowledge and experience of Ruby & Ruby on Rails
• Can work hours that have some overlap with European daytime
• Are fluent in English and confident communicating and sharing complex information and learnings with both technical and non-technical team members
• Have a good working knowledge of modern devops technologies such as Docker, AWS and TravisCI
Our Ideal Candidate
Our ideal candidate meets many - but not necessarily all - of the below criteria.
• Strives to discover and understand the root cause of problems, suggesting new and improved solutions, rather than treating the symptoms
• Takes pride in its craft and adhere to industry best practices for testing, code linting, peer review, and clean modular maintainable code
• Actively considers future maintainability when deciding how to implement something
• Has a keen appetite for self-improvement and growth, but doesn't hesitate to ask for help when needed
• Enjoys getting their teeth stuck into complicated problems, as well as being willing to pitch in on some of the more routine tasks which inevitably arise
• Is willing to participate in an on-call rota to cover technical emergencies out of hours
• Has an interest in and knowledge of the European rail network
Join our team!
• We have high coding standards and follow best practices such as continuous testing and delivery.
• We strive to learn and improve together in a supportive environment as the wider tech ecosystem evolves.
• Our days are not full of meetings and distractions. Allowing others to achieve flow is a big part of supporting each other.
• Everyone is encouraged to ask questions, think creatively and suggest new working practices. We have a small team so your voice will be heard.
• Our team enjoys a healthy work-life balance and don’t think caffeine-fuelled all-nighters are a good way to grow a company that’s built to last.
• Besides employees who are based in France, we are a team of fully remote workers.
• Once a month, we have our hack day, a day to improve our skills, work on side projects that could benefit our product or our team, experiment different technologies
We care deeply about building an inclusive, open and supportive work environment. We behave with respect for people and the planet and are seeking candidates that share these values. We believe that diversity of background and experience contributes to a broader collective perspective that will consistently lead to a better company and better products. We are working hard to increase the diversity of our team wherever we can and we actively encourage everyone to consider becoming a part of it.