Overview
We are looking for a Ruby on Rails developer to be responsible for managing the interchange of data between the server and users. Your primary focus will be to develop all server-side logic, define and maintain the central database, and ensure high performance and responsiveness to requests from the front-end. You will also be responsible for integrating front-end elements built by other team members into the application, so a basic understanding of front-end technologies is necessary as well.
By joining the Toptal network, youโll have the opportunity to work on many client projects, ranging from start-ups to Fortune 500s, with teams of highly skilled experts from around the world.
This is a remote position that can be done from anywhere.
Benefits:
- Freedom to choose your own schedule and choose from a variety of hourly, part-time, and full-time projects.
- The ability to work from wherever you want. Whether you prefer traveling and working from exotic beaches or spending time with your family and working from home, the choice is yours.
- Access to a thriving, collaborative community of talented peers.
- Invitations to frequent Toptal events going on around the world, including dinners, tech talks, conferences, and more.
- Extremely competitive compensation.
Responsibilities:
- Design, build, and maintain efficient, reusable, and reliable Ruby code.
- Integrate data storage solutions, including databases, key-value stores, blob stores, etc.
- Integrate user-facing elements built by your front-end developer teammates with server side logic.
- Identify bottlenecks and bugs, and devise solutions to these problems.
- Help maintain code quality, organization, and automation.
- Optimize applications for speed and scalability.
- Collaborate with other team members and stakeholders.
- Take smart risks and champion new ideas.
Requirements:
- Senior-level Ruby on Rails expertise, along with strong experience in common libraries such as RSpec and Resque.
- Strong understanding of the syntax of Ruby and its nuances.
- Strong understanding of object-oriented programming principles.
- Experience with server-side templating languages such as Liquid, Slim, etc.
- Experience with server-side CSS preprocessors such as Sass.
- Basic understanding of front-end technologies, including JavaScript, HTML5, and CSS3.
- Familiarity with MVC, Mocking, ORM, and RESTful principles and best practices.
- A knack for writing clean, readable Ruby code.
- Ability to integrate multiple data sources and databases into one system.
- Understanding of fundamental design principles behind a scalable application.
- Ability to create database schemas that represent and support business processes.
- Ability to implement automated testing platforms and unit tests.
- Proficient understanding of code versioning tools such as Git, Mercurial, or SVN.
- Familiarity with tools to aid development such as Bower, Bundler, Rake, etc.
- Familiarity with continuous integration.
- Be willing to help your teammates, share your knowledge with them, and learn from them.
- Be open to receiving feedback.
About Toptal
Toptal is one of the most innovative and rapidly expanding tech start-ups from Silicon Valley. With backing from investors such as Andreessen Horowitz and Adam DโAngelo, our platform is the fastest growing labor marketplace in the history of the Internetโconnecting thousands of elite engineers all over the world. In the last four years, Toptal has become the #1 choice for tech companies requiring top-tier engineering talent and for the top 3% of freelancers looking for their next challenge.
Toptal has worked with over 2,000 clients (https://www.toptal.com/clients) to date. Toptal clients include Airbnb, J.P. Morgan, Zendesk, Artsy, IDEO, Pfizer, and many more.
The Toptal network includes thousands of designers and developers in over 100 countries. To be accepted into the network, all Toptal freelancers must pass a screening process (https://www.toptal.com/top-3-percent) that includes tests for English and communication skills and a variety of technical exams specific to the applicant's area of expertise, for example timed algorithm tests, live coding exercises, and test projects.