Learn more about our current job openings and benefits of working at FSL.
Detailed reviews and feedback from past and current clients.
Get to know the Management Team behind FullStack Labs.
Our step-by-step process for designing and developing new applications.
Writings from our team on technology, design, and business.
Get answers to the questions most frequently asked by new clients.
Learn about our company culture and defining principles.
A high level overview of FullStack Labs, who we are, and what we do.
A JavaScript framework that allows rapid development of native Android and IOS apps.
A JavaScript framework maintained by Facebook that's ideal for building complex, modern user interfaces within single page web apps.
A server side programming language known for its ease of use and speed of development.
A lightweight and efficient backend javascript framework for web apps.
An interpreted high-level programming language great for general purpose programming.
A JavaScript framework maintained by Google that addresses many of the challenges encountered when building single-page apps.
A JavaScript framework that allows developers to build large, complex, scalable single-page web applications.
A progressive JavaScript framework known for its approachability, versatility, and performance.
A progressive JavaScript framework known for its approachability, versatility, and performance.
A progressive JavaScript framework known for its approachability, versatility, and performance.
A progressive JavaScript framework known for its approachability, versatility, and performance.
A progressive JavaScript framework known for its approachability, versatility, and performance.
A progressive JavaScript framework known for its approachability, versatility, and performance.
A progressive JavaScript framework known for its approachability, versatility, and performance.
View a sampling of our work implemented using a variety of our favorite technologies.
View examples of the process we use to build custom software solutions for our clients.
View projects implemented using this javascript framework ideal for building complex, modern user interfaces within single page web apps.
View projects implemented using this framework that allows rapid development of native Android and IOS apps.
View projects implemented using this backend javascript framework for web apps.
View projects implemented using this high-level programming language great for general purpose programming.
View projects implemented using this server side programming language known for its ease of use and speed of development.
We have vast experience crafting healthcare software development solutions, including UI/UX Design, Application Development, Legacy Healthcare Systems, and Team Augmentation. Our development services help the healthcare industry by enhancing accessibility, productivity, portability, and scalability.
We offer a range of custom software development solutions for education companies of all sizes. We're experts in Education Software Development and specialists in enhancing the learning experience across web, mobile, and conversational UI.
We're experts in developing Custom Software Solutions for the Logistics Industry. Our work offered a whole new and more efficient way for Logistics companies to manage their crucial operations.
We partner with various construction industry organizations to build custom software development solutions. Our Construction Software Development Services allow construction companies to manage projects, resources, and documentation.
We have vast experience crafting healthcare software development solutions, including UI/UX Design, Application Development, Legacy Healthcare Systems, and Team Augmentation. Our development services help the healthcare industry by enhancing accessibility, productivity, portability, and scalability.
We offer a range of custom software development solutions for education companies of all sizes. We're experts in Education Software Development and specialists in enhancing the learning experience across web, mobile, and conversational UI.
We're experts in developing Custom Software Solutions for the Logistics Industry. Our work offered a whole new and more efficient way for Logistics companies to manage their crucial operations.
We partner with various construction industry organizations to build custom software development solutions. Our Construction Software Development Services allow construction companies to manage projects, resources, and documentation.
Learn more about our current job openings and benefits of working at FSL.
Detailed reviews and feedback from past and current clients.
Get to know the Management Team behind FullStack Labs.
Our step-by-step process for designing and developing new applications.
Writings from our team on technology, design, and business.
Get answers to the questions most frequently asked by new clients.
Learn about our company culture and defining principles.
A high level overview of FullStack Labs, who we are, and what we do.
A JavaScript framework that allows rapid development of native Android and IOS apps.
A JavaScript framework maintained by Facebook that's ideal for building complex, modern user interfaces within single page web apps.
A server side programming language known for its ease of use and speed of development.
A lightweight and efficient backend javascript framework for web apps.
An interpreted high-level programming language great for general purpose programming.
A JavaScript framework maintained by Google that addresses many of the challenges encountered when building single-page apps.
A JavaScript framework that allows developers to build large, complex, scalable single-page web applications.
A progressive JavaScript framework known for its approachability, versatility, and performance.
A dynamic programming language used in all sorts of web and mobile applications.
A cross-platform programming language designed to run robust applications on any device.
A UI toolkit used to build natively compiled applications from a single codebase.
A functional programming language that’s ideal for scalability, maintainability, and reliability.
A Customer Relationship Management (CRM) platform that seamlessly integrates with your business operations.
A high-performance programming language that makes it easy to build simple, reliable, and efficient software.
View a sampling of our work implemented using a variety of our favorite technologies.
View examples of the process we use to build custom software solutions for our clients.
View projects implemented using this javascript framework ideal for building complex, modern user interfaces within single page web apps.
View projects implemented using this framework that allows rapid development of native Android and IOS apps.
View projects implemented using this backend javascript framework for web apps.
View projects implemented using this high-level programming language great for general purpose programming.
View projects implemented using this server side programming language known for its ease of use and speed of development.
FullStack Labs is a leading team of Ruby on Rails developers, engineers, programmers, coders, and architects. Uber, Siemens, and hundreds of other companies have chosen us for their mission critical software development projects.
We’ll review your code base and provide a report that includes quality scores for the following:
Bunk1 connects parents with their children while they're away at summer camp. We helped Bunk1 build iOS and Android apps that fully integrated with their existing web application. We also designed and developed a new UI for their Ruby on Rails web app, and helped them refactor and improve legacy code.
“My experience with FullStack is in direct contrast to the poor experiences I've had with other firms. They care a lot about their clients. They bring their ideas and concepts to the table. I felt like they were on my team. They added a lot of value in terms of ideas and continue to do so. No matter who's working on the project you feel like they care about the work that's being produced.“
Ruby on Rails allows us to quickly develop prototypes that can later be built out into full production apps, which reduces costs early on, and speeds up time to market.
Ruby on Rails has a huge following in the open source community, is supported by both large companies and individual contributors, and has a plethora of well maintained open source gems.
Ruby on Rails prioritizes convention over configuration, which makes Rails developers happy while keeping the system simple enough to maintain complex applications.
We will work with you to understand your technical needs, team dynamics, and goals.
We’ll send you FullStack Ruby on Rails developers that match your technical requirements, with links to their FullStack profile page which outlines their work experience and technical abilities, as well as their FullStack technical summary page, which includes a 60 minute video of the developer completing FullStack’s coding challenge, and a plethora of other technical information from their interview with us.
Start the engagement. Work with your new Ruby on Rails developers for a trial period, ensuring they're the right fit.
We design and build greenfield apps of all shapes and sizes using Ruby on Rails.
Have a legacy Ruby on Rails app? We’re here to help. From debugging and maintenance to feature development and DevOps, we'll tailor a development plan to meet your needs.
Need to add a Ruby on Rails developer to your existing team? We'll seamlessly integrate as many Rails developers as needed, to help you go faster and level up your team's skills.
We’d love to learn more about your project.
Engagements start at $75,000.
FullStack Labs is a leading team of Ruby on Rails developers, engineers, programmers, coders, and architects. Uber, Siemens, and hundreds of other companies have chosen us for their mission-critical software development projects. Ruby on Rails is a crucial tool to develop your project, here are a few Ruby on Rails Interview Questions you can use to screen your Ruby on Rails candidates:
Q: Please describe what polymorphic associations are in Rails and give an example of a scenario in which they should be used.
Answer:
Polymorphic associations allow a model to connect to multiple other models, imagine a scenario where you have two models, Employee and Product and you need to allow each one of those to have a picture image, without using polymorphic associations, you may be using two different models (EmployeePicture and ProductPicture) and tables (employee_pictures and product_pictures), by using polymorphic associations, you only need a single table to store the pictures since they can belong to more than one other model.
Q: Describe what inheritance, encapsulation, and polymorphism are in Rails, and provide an example for each.
Answer:
Inheritance allows the programmer to inherit the characteristics of one class into another class. Ruby supports only single class inheritance, it does not support multiple class inheritance but it supports mixins.
Encapsulation means that the internal representation of an object is hidden from the outside. Only the object can interact with its internal data. Public methods can be created to open a defined way to access the logic inside an object.
Polymorphism is the provision of a single interface to entities of different types.
Q: What is the difference between a module and a class in Ruby?
Answer:
They may look similar, both can hold method definitions or constants, but there are some differences:
Q: What is the difference between 'include ModuleName' and 'extends ModuleName?' How can class methods and variables be used when 'extended' versus 'included'? Please provide an example(s).
Answer:
include ModuleName is used to append methods from the module as instance methods of the class, while extend ModuleName is used to append methods as class methods. When using include the methods can be accessed directly from the instance
When using extends, the methods can be accessed from the class itself, like:
Q: What are the benefits of, or scenarios in which, you would use ActiveSupport::Concern in Rails?
Answer:
ActiveSupport::Concern provides a simpler way to create modules that can be included/shared in other classes, it also handles constant dependencies automatically. One pretty common scenario for concerns is extracting pieces of code that can be shared between different models.
Q: What is the difference between a Block, Proc and Lambda?
Answer:
Procs are objects, so we can create objects from a Proc and treat them as any other class instance. Lambdas are a kind of Proc that validates its parameters, procs do not validate them, however both can be used to create a block and store it in a variable to later pass it to a method. Blocks are like anonymous functions that can be passed into methods, they are called when using the yield keyword in a method definition.
Q: What is the purpose of HashWithIndifferentAccess class into ActiveSupport?
Answer:
Implements a hash where keys :foo and "foo" are considered to be the same. Internally symbols are mapped to strings when used as keys in the entire writing interface (calling []=, merge, etc).
Q: Describe at least two Ruby hook methods and explain when they are called.
Answer:
Methods
Classes
Modules
Q: Describe what Rails does on the client, and the format of the url that gets called, when `remote: :true` is added to a link.
Answer:
Rails using its UJS library listens for click events to links with the data-remote=true set, then it captures it preventing the default behaviour of the browser, then calling it via an AJAX request. The format of the URL usually ends in .js, ie, /users.js.
Q: What should be the response from the server for `remote: :true` call?
Answer:
Usually, response from the server for a remote call is javascript response, this means that the browser will evaluate the content of the response with Javascript, in Rails the response comes from a view partial with extension .js.erb allowing the evaluation of Ruby code inside before the Javascript code is sent back to the browser.
Q: What's the use of the db/seed.rb file? How do you handle multiple seed files?
Answer:
Seeds file is used as a mechanism of populating the database with test or default data. Handling multiple seeds files requires them to be manually loaded in the db/seeds.rb file
Q: What's the relative path inside of the project directory to a controller called Admin::ManagersController?
Answer:
app/controllers/admin/managers_controller.rb
Q: What is the difference between ActiveRecord and AREL?
Answer:
ActiveRecord is a high-level interface to construct SQL queries using Ruby and associate the result from database to ActiveRecord models (when possible), ActiveRecord queries are translated to SQL when sending to the database, it is simple and easy to learn and use, but it has limitations when it comes to complex SQL queries. Arel on the other side is the library used under the hood by ActiveRecord to construct the SQL queries, both of them allow you to build SQL queries using Ruby, but Arel is more flexible, it allows to dynamically compose SQL queries using a Ruby interface, it is strong and well designed.
Q: What ORM or query interface would you most want to use other than Active Record?
Answer:
Sequel, pretty powerful and flexible
Q: Who is your favorite Rubyist and why?
Answer:
This answer is based on opinion, focus on the why. Example, Aaron Patterson, he is working hard on improving the performance of Ruby towards the Ruby 3x3 (version 3 will be 3 times faster) goal.
Q: What are your top three sources for Ruby / Rails news and content?
Answer:
This answer is based on opinion. Official Rails Blog, the Slack Ruby Community, and the Ruby subreddit.