Based out of Uruguay, WyeWorks is a full-stack web development agency and consultancy firm specialized in Ruby on Rails. It takes on development projects for both startups and larger companies, most of which are based out of the United States.
Santiago Pastorino and José Costa launched the company in 2008 and have expanded its offer significantly since. Not only does WyeWorks assist with code, but it can also act as a technical lead, integrate into existing teams, build out development processes and even recruit in-house employees for its clients. WyeWorks also offers technical and agile reviews, assessing web applications and improving development processes drawing from its expertise in agile methodologies. Its clients include Wildfire, Therapydia and Flavorpill.
We reached out to Costa to find out more about the company, discuss the ins and outs of outsourcing and delve into Ruby on Rails.
Emily Stewart: Most of your focus is on Ruby on Rails. Why go that route?
José Costa: When we started WyeWorks, we had a couple of very strong convictions that we still hold. We wanted to do quality software, and we wanted to use the tools and processes that made us happier as developers. But this was not why we chose Rails at first. One of the first gigs that we landed required us to choose the tools (a process that was already running in the back of our minds), but it also had a hard deadline and we had to deliver fast. Since I had some prior experience with Ruby on Rails and I knew we could be more productive with it than with other tools we knew, we went that route. As we started becoming more proficient with it and evaluating other alternatives, we realized it was a great choice, and it still is for us. Yukihiro Matsumoto (Matz), the creator of Ruby, said its goal was to make programmers happy. This is very much aligned with our vision of how we should be able to enjoy our work. Ruby feels very natural to read and write, as no other programming language we’ve seen so far.
This is one of the clear benefits. Rails has a framework built on top of it, caught as the preferred language for startups due to the productivity you can achieve with it, which when it came out was a striking distance ahead. And plus, it’s easy to start building web applications with it.
As you mention, Ruby on Rails has been our focus from the start and even though it may have been detrimental at some point, we got to know the inside and outside of the language. We have Santiago (co-founder) on the Rails Core Team. We have lots of friends in the community, and it has allowed us to reach our clients from more of an expert position. Also this doesn’t mean we don’t follow other trends and stay on top of other things as they appear. And we are aware that at some point we may need to adopt new languages, tools or frameworks. Our vision as a company is not tied to the language or tools we use, it’s tied to the results we achieve and the values that take us there.
ES: Part of what you do also has to do with reviews. What are the most common issues you come upon?
JC: Most of our clients come to us after having built an MVP (minimum viable product) or even further stages. So they’ve had their fair share of decisions that they had to make product-wise, but also from a technical point of view. They may have even changed directions a few times, which might be reflected in the application. They probably also had to respond very quickly to market changes or just looking to fit, so probably in those stages, development quality and best practices weren’t something that high on the list of priorities for the whole business.
At some point, the accumulated technical debt may start to hurt the business. It may make developers slower, because they probably don’t have a good regression test suite, or the code is just too messy and difficult to understand, making it hard and expensive to add new features on top of it. They may have a lot more users than the current application is capable of handling and then performance becomes an issue. Sometimes the team has grown in such a way that their development process is not helping developers focus on the same objectives, and is not conducive to helping them be as productive as they can be. So generally speaking, we see bad test suites, complex code, bad performance.
ES: Uruguay has become an increasingly attractive place for tech businesses to be set up. Why do you think that is?
JC: I think there are a lot of talented people in the IT sector. This sector has been growing consistently and is very competitive. I think overall, we produce good quality in terms of software.
The government has been supporting the sector in many ways. Exporters of software have had a good deal of tax incentives for the past 10-15 years. We were the first country to order nearly 100,000 laptops from the One Laptop per Child program in 2007 and kept on ordering under a plan that aims to provide one laptop to every child in public education (Plan Ceibal). It is currently expanding to other education centers. This has further helped technology and the internet reach nearly every home. Now we have great optical fiber coverage in homes, companies and educational centers, at great speeds and at very affordable prices. Political and economical stability is also something that I think is positive, along with a slower rhythm of life that you can easily get used to.
ES: What are the advantages most clients find in outsourcing to you? What are their main concerns?
JC: If you don’t have a team, you’re facing a lot of time and effort to build it and then manage it – which can be crucial if you are in a stage where you need to rapidly expand the team and grow your business. WyeWorks builds a team for you that we already know works well together and helps you be productive while we build processes that will help you build a team around it – now with less pressure. If you have a team but you are looking to expand it quickly without compromising on quality, or even looking to raise the bar on practices and processes, we are there for you.
We are also very deeply involved in the Ruby community and in the development of the Rails framework itself, which gives us privileged input on how the framework is evolving and how our clients apps will change, or what things will benefit our clients in the future. Besides the expertise in technology and processes we have, I think clients find a team they can bond with, that will become part of their company and will be as engaged as if it were a product of our own.
In terms of concerns, I think they are mostly the same as with any other external company someone hires. What does the onboarding process look like? How hard will it be to ramp up and work hand-in-hand with their existing team and their existing approach? Which part of the application is better to outsource? Or should we work on the entire application? Then of course, is all of this still more valuable than building an in-house team from scratch? These are some common questions and concerns they might have.
One specific concern they may have is the language, since we’re based outside the U.S. We just have one native English speaker working in business development who is usually the first point of contact for potential clients. They always wonder if everybody speaks like that. While we’re not natives, we all do speak English proficiently. Most of us have studied English during grammar school and high school, and professionally we’ve been working with U.S. clients for at least the past five years without any problems.