Job Description
The customer provides products for mobile app solutions, effortless payment, paratransit, business travel, and advertising that reaches captive audiences of millions and traces its history of success back to 1992. They are creating a comprehensive mobility platform for operators to efficiently manage their vehicles and drivers, for regulators to be informed and establish guidelines, for service providers to deliver sustainable, future-proof solutions, and for riders to have an effortless transit experience.
Project:
The project is a taxi ordering service. The user can hail a taxi and monitor its arrival, pay for a ride, and see their own trip history. The system contains the following components:
● ride server (all data processing)
● payment server (PCI DSS-compliant) which performs a transaction with the passenger’s digital wallet and payment gateways
● mobile application (hail taxi, geocoding, map, payments)
● taxi terminal (3rd party)
The project includes integration with 3rd party services, including PayPal, MasterPass, Stripe, and Twillio.
Project Team:
1 Team Lead, 3 UI Developers, 9 Back-End Developers, 8 Mobile Developers, 6 QA, 1 Designer, 1 BA
Responsibilities:
● Build, deploy, and maintain the application using Ruby on Rails, AWS, MySQL, PostgreSQL, and RabbitMQ
● Follow best practices (test-driven development, continuous integration, and code standards)
● Integrate with dispatch systems of taxi service providers and other third party services
● Contribute in all phases of the development lifecycle
● Think tactically and strategically
● Participate in meetings with the customer
Requirements:
● 3+ years of work experience as a Ruby on Rails developer
● Solid knowledge of relational databases including MySQL, PostgreSQL
● Strong background with delayed asynchronous job execution (RabbitMQ, Sidekiq, Resque, etc. in addition to Sneakers)
● Experience working with and developing REST API
● Experience in developing highly-interactive applications
● Good knowledge and understanding of object-oriented programming
● Good architectural sense and a passion for high-quality code
● Desire to develop new skills and improve existing skills
● Familiarity with version control systems (GIT)
● Experience with high load
● Strong communication skills
● Experience with TDD (MiniTest, Rspec), Docker, CI/CD, Linux, and Bash
Nice to have:
● Experience with Kubernetes / GKE
● Knowledge of rack-based app servers
● Practice with AWS and NoSQL databases, like DynamoDB
● Acquaintance with in-memory databases (Memcached, Redis)
● Nginx
Skills:
Ruby on Rails MySQL PostgreSQL delayed asynchronous job execution REST API TDD Docker CI/CD Linux