Is the company focussed on all the technologies under the sun or do they talk about two or three technologies they work on and claim to be really good at it? It takes time to build expertise in a particular technology. Any tech agency needs to house a dedicated team focusing on identifying ways to improve the existing processes, quality and practices. It is practically impossible to do that for ten different technologies at a time.
What’s the longest they’ve maintained a Rails application? Their own website doesn’t count. It’s vital that you hire a company that has long-term experience maintaining production applications. Development companies that deal with long-term support respect the benefits of following best practices. A cheaply delivered MVP means your developer has cut many corners in the process. This often results in technical debt that you’re going to end up having to pay for in the future. Find a team that works with the assumption that they will be accountable for your project in a few years. If they’re good at what they do, they’ll be more inclined to adhere to best practices.
What service do they use for Continuous Integration? If the team is mature, they will have Continuous Integration (CI) in their workflow. This is a form of automated quality assurance on your source code. In a mature development cycle, for each significant change that a developer makes to the source code, the CI server will attempt to run an automated test suite. If the tests no longer pass successfully, the team is notified that a possible bug was introduced. We’ve had many projects come our way where the automated tests have been failing for months. In some cases, for over two years and the client has no clue. Quite often, this is because no one was responsible for keeping an eye on it.
What service do they use to monitor application performance? Development firms responsible for Ruby on Rails applications rely on performance monitoring tools. Ask them what metrics they keep a close eye on? There’s a lot more that goes into keeping an application well-oiled than fast page speed. They should be able to speak to performance with some experience. What areas of your project do they believe might have issues they’ll have to watch closely? We’re longtime customers of New Relic for this purpose. The most common performance issues that we see in projects that we inherit are slow database queries, search indexes, a lack of caching, missing database indexes, slow AJAX requests and slow page rendering on key pages. Ask them how often they check on these. Do they get alerted when performance metrics cross thresholds?
What automated testing frameworks do they prefer? Ruby on Rails encourages automated unit, functional, and integration testing. There are some great tools at our disposal. If they responded with anything other than Unit Testing with Test::Unit, RSpec, Cucumber or Capybara it’s possible they’re trying to pull one over on you. RSpec has served us well.
Look for technical blogs, in other words, the company’s presence on the web. With the increasing importance placed on content marketing, you will come across blogs that focus on keywords rather than actually delivering any value to the readers. It is essential to go through the technical blogs they've published, to assess a company’s capabilities. It will tell you a lot more about the depth and breadth of their knowledge.
Is the company open to sharing their client’s contact details? Can you find the clients over the web? Their presence on Twitter and LinkedIn can tell you a lot about the authenticity of the client. If you speak to a client who has a lot of influence in Social Media and is well placed, he is very likely to be transparent about his experience working with the company.
Does the leadership have time to get on a quick call with you, listen to what you are looking for and align the best in the team to take you through? If this is the case, you can be rest assured that even if you are a small client, you would be well taken care of.
Take a look at the LinkedIn profiles of company leadership. Do you see people on their network who are relevant to the services provided by the company? Do you see significant experience? Do you see existing clients in the network of the leaders? How old are the profiles?
When you speak to the company representative, is the focus on cost or quality? What quantifiable means have they provided to assess quality? When they tell you about quality, do they provide any metrics for assessing the quality they deliver?
Ruby is not a solution to all your problems. It’s simply a tool. However, if you’re looking to launch your product on time and within a budget, then it can come in real handy. However, as with any tool, it’s often more about who uses that tool and less about the tool's capability.