Please introduce your company and give a brief about your role within the company?
RubyGarage is a software development and consulting company. Our services include product design, UI/UX design, front-end, and back-end programming, native and cross-platform mobile apps development, infrastructure design and management, manual and automation testing, post-launch product support.
As well as developing turnkey solutions for our clients, we also create our own products that dramatically reduce the time and cost of the development from scratch. For instance, we developed a web platform for online consultations and a multi-vendor marketplace.
We've started as a team of several web developers, and in nine years, we've become a dynamically growing team of Product Managers, Web, and Mobile Developers, Quality Engineers, and a subsidiary Design agency UGEM.
Now, we perform full-cycle development services and help our clients at every stage of product creation, from concept definition to a product release, its maintenance, and support.
What was the idea behind starting this organization?
Our history began in 2011. That's when one team of enthusiasts, including me, decided to start Ruby/Ruby on Rails Courses in our hometown, Dnipro.
When the first course was completed, a lot of students asked me what was next and where they could find a job. I didn’t know how to help them and decided to create a company where these young talents could get their first work experience. I left my job and established RubyGarage.
The students that successfully completed the course soon joined RubyGarage. I took its name from Ruby: a gem, and, obviously, a programming language as a core of our tech stack and expertise of our team. The second part is Garage because I wanted to maintain an energetic and open-minded atmosphere in the company.
We continue conducting our courses two times a year for free and recruit the best students. This spring, we started our first global online course.
Today, there are more than 150 people working at RubyGarage, and it's just the beginning of our incredible journey.
What is your company’s business model–in house team or third party vendors/ outsourcing?
We deliver outsourcing services mainly to the US and Western European countries. We also have clients from Australia, Middle Eastern, and Asian countries. In general, it’s more than 90 satisfied clients globally.
As well as that, we also create our own products. We've got requests from many clients for the same basic functionality, again and again, so one day we asked ourselves: "Why not create a white-label once, so we can scale it to multiple clients and save their time and money?" We've created several solutions that allow us to create products faster, providing a high level of customization. That's a win-win.
Take, for example, MarketAge ‒ our white-label solution that allows us to build any type of marketplace: for services like TaskRabbit and Fiverr, for selling products like Etsy and Amazon, for booking like Airbnb with the minimum time-to-market.
To our clients who have an online shop, like Shopify, and want to develop a mobile app, we offer a hassle-free solution ShopApp ‒ an open-source application that provides an interface for turning an online Shopify store into a custom app for both iOS and Android in less than a month.
Another product we’re proud of is ExpertBox. ExpertBox is a SaaS to streamline clients’ processes at every stage of communication with their customers.
ExpertBox allows businesses from such domains as healthcare, law, education, recruiting, and any other consulting specialist to deliver expertise online. Our software as a service helps clients to grow their customer base, automate workflow, communicate with clients from anywhere in the world via video meetings, automate payment flow, get valuable insights on their business, and more.
How is your business model beneficial from a value addition perspective to the clients compared to other companies' models?
Our company is based on three pillars: streamlined processes, proven technologies, and talented people. These pillars allow us to stand out from competitors in many ways.
We believe that streamlined processes help us increase team morale. Our workflow, combined with the strictly defined roles and responsibilities, is a solid background for the coherent work of the team. As a result, we create a transparent workflow, build clear communication with clients, and can meet their expectations with on-time and budget delivery.
As for "proven technologies," over the nine years, we have formed an optimal tech stack that allows us to deliver results with minimal risks. We chose the technologies that help us provide clients with high-quality products, consistent delivery, and excellent scalability. We mastered them to solve our clients’ tasks quickly and efficiently.
When it comes to talented people, RubyGarage started with Ruby/Rails courses, so we inevitably pay much of our attention to mentoring and training. Our working specifics implies the constant improvement of skills and knowledge.
At RubyGarage, every employee has a Personal Development Plan (PDP), where we set goals for the next six months. The goals correlate with the goals of the current project the specialist is working on or the company’s strategic goals. As a rule, we include several goals for each iteration and create a set of activities aimed at achieving goals with the mentor. The skills matrix helps us set relevant, attainable, and specific goals that demonstrate competencies a specialist must have to move to the next level of seniority.
Knowledge sharing is an essential part of all our mentoring programs. We strive to scale expertise gained by one person to the rest of the team and the IT community through presentations, articles in the media, workshops, and lectures. In fact, it's the most rewarding part of any mentoring program: to see the results of your work and share it with others.
At RubyGarage, we pay a great deal of attention to people and give them all tools for self-improvement. We believe that only experts can create really great products.
Last but not least factor that helps us stand out is the fact that our team constantly works on white-label solutions to speed up the development process and reduce its cost. Today, we can offer our clients an online chat, video call, schedule management, booking solutions, online store, multi-vendor and booking marketplaces, and many others.
What industries do you generally cater to? Are your customers repetitive?
We like to work with different projects and never refuse a customer from an unusual business domain. But our main expertise lies in industries such as eCommerce, retail, fintech, healthcare, education, advertising and marketing, tourism, hospitality, and real estate.
Our main priorities as a company are to provide our clients with maximum value, help them increase ROI, and establish long-term trusting relationships. That’s why the vast majority of our clients continue working with us after the project is complete and recommend us to their business partners and colleagues.
Mention the objectives or the parameters critical in determining the time frame of developing software.
We always start a project with business requirements elicitation and research on the current state of market, target audience, direct and indirect competitors. We do all these steps to create a feature breakdown list of a product that will meet our client's business needs and expectations of end-users.
A detailed feature breakdown list allows us to define the scope of work. After that, we gather a meeting of backend, frontend, and quality assurance engineers, UX and UI designers, and a business analyst with high seniority level to estimate each feature to be developed. The team analyses the lean canvas and feature breakdown list, estimate how long it will take to develop each feature, and thinks through the architecture of the future product.
The results of this process is a detailed work breakdown structure that shows the time different team members need to develop every feature, as well as the total project budget and timeline estimation.
How much effort in terms of time goes into developing the front end and back end of software?
The time of development depends primarily on tools and approaches that development teams use. Our team is constantly working on shortening development and time to market. For that, we:
● Perform in-depth business analysis that allows us to create functionality to solve the main task and satisfy the main needs of end-users. When focusing on these primary goals, we remove all secondary things that can creep the scope.
● Build UI/UX design based on our own design system. We utilize some ready-made templates and collections of repeatable components to speed up the pace of creation, leaving enough room for innovation and creativity.
● Develop back and front-end based on ready-made white-label products of our company and open-source solutions.
These approaches allow our team to launch new products in two to five months.
What are the key parameters to be considered before selecting the right framework for developing software?
Our team mainly works with startups and develops products from scratch. That’s why the time to market is one of our priorities when choosing a tech stack. Ruby and its framework Ruby on Rails allows us to develop products fast without quality losses.
We chose Ruby because it has a wide range of advantages that makes it a perfect fit for working with startups. First of all, it’s time-efficient. Ruby on Rails contains many ready-made plugins and modules that make app development time 30-40% shorter in comparison with other technologies.
Second of all, Ruby is also cost-effective by providing developers with numerous gems and making code easy to support and maintain. As well as all that, code written in Ruby is high-quality thanks to the development principles that it promotes. It’s also scalable and secure because of features built into the framework and enabled by default.
For front-end development, we use React JS technology as its virtual DOM allows us to create efficient and high performance client-side of a web app or a website. React JS also helps us reduce the development time with its reusable components while a large community and great support of such giant contributors as Facebook and Airbnb make us confident that React JS is only gaining its momentum.
When it comes to mobile development, we prefer to work with React Native technology. We do have expertise in native development based on Kotlin and Swift. Nevertheless, React Native is a great solution for those startups who want to build a budget-friendly product, speed up the development, and get one application for two mobile platforms with a performance of a native app.
Every tool or technology we use has to meet the criteria for fast development and high-quality. When we choose a hosting provider, we follow the same requirements. That’s why we prefer Amazon Web Services. AWS is the best solution for startups that exist on the market today. It provides flexibility, great computational resources, and simple scalability for a reasonable price.
Which languages & frameworks do you prefer to use in development of software?
At RubyGarage, we believe that technology stack not only gives a product life, but also makes it maintainable, scalable, and committed to functional requirements. An appropriate tech stack may result in lower costs and less time for development.
Even though our main technology is Ruby and Ruby on Rails, we don't settle on them. We use Ruby for APIs development, but we also use Go for big data processing, Python for machine learning, and Node.JS for WebSockets management. Our team can use popular Ruby tools like Ruby on Rails, Trailblazer, ActiveAdmin, Sidekiq to create a back-end part of an app. When it comes to automation frameworks, we can take RSpec or Capybara. We use Amazon Web Services for hosting because it’s reliable and has a fair price. To manage the infrastructure of apps, we use Docker because it's simple and requires minimum configuration, which means saved time in terms of a project.
For the front-end part of our products, we choose ReactJS, HTML5, and CSS3. This tech stack is perfect to create rich, attractive interfaces that work seamlessly.
If we need to create a mobile app, we can use languages for native development, like Kotlin or Swift, or develop a cross-platform app based on React Native that will work on both iOS and Android platforms equally well.
What are the key factors that you consider before deciding the cost of software?
When estimating a project, we need to consider such factors as the project’s size and complexity, whether it’s a project from scratch or an existing project with legacy code. Other factors affecting the price are specific security requirements, the complexity of the design, time to market, and peculiarities of architecture.
What kind of payment structure do you follow to bill your clients? Is it Pay per Feature, Fixed Cost, Pay per Milestone (could be in phases, months, versions etc.)
For our clients, we offer time and material or fixed price models. Using time and material approach, clients have to pay regularly for completed tasks. The fixed price model means that we estimate the scope of work and set a fixed price and timeframe for a project.
If a project is small and has a clearly defined scope of work, we recommend clients to go for a fixed price model. We offer a time and material pricing model for long-term projects with dynamic requirements where the scope can change.
Do you take in projects which meet your basic budget requirement? If yes, what is the minimum requirement? If no, on what minimum budget you have worked for?
We take projects from $10,000
What is the price range (min and max) of the projects that you catered to in 2019?
With most of our clients, we sign a non-disclosure agreement, so we can't disclose this information.
Kindly share your feedback on how GoodFirms has been doing so far in increasing your visibility among potential clients.
GoodFirms is a great place to introduce your company and meet new clients here. If you’re still not there, you should be.
At the same time, GoodFirms is a convenient platform for clients to find a trustworthy high-quality service provider with deep expertise and a wealth of experience.