Article  |  Development

The Costs and Benefits of a Development Agency vs. Hiring an Employee

24 May 2019

The Costs and Benefits of a Development Agency vs. Hiring an Employee

We’ve written before about the pros and cons of hiring a developer, freelancer, or an agency to work on your web development project. Depending on your situation, there are advantages and drawbacks to each option. In a perfect world, you’re able to consider all the factors to choose which works best for you – but in the real world, there’s often one major consideration: cost.

We’ve have had many conversations over the years where, after discussing hourly rates and retainers with potential clients, they’ve said:

Why wouldn’t I just hire a full-time developer for that cost?

If you compare the hourly rate you’ll pay a US-based Rails Developer to hiring a fulltime developer – and doing a bit of math to get their hourly rate from their salary – the costs may look starkly different.

But the truth is that there are many associated costs with hiring a full-time developer beyond their salary. And there are many built-in cost benefits to working with an agency as well. The actual cost differences between the two tend to meet in the middle.

Here are some of the additional costs of hiring a full-time developer, beyond the annual salary.

Employee Benefits

Studies have shown that employee benefits account for roughly 30% of the costs of an employee. So for an $85,000 employee (the average Mid-Level Rails Developer salary), an employer could expect to pay roughly another $25,000 in benefits. This ranges from health insurance to 401k contributions to social security.

This brings the cost of this developer up to closer to $110,000 per year.

Cost of Tools

There are a number of behind the scenes tools that make a web application run smoothly. These range from bug trackers to catch when an issue pops up in your app to a project management tool that keeps track of priorities and progress on the work being done. Many of these tools charge a flat or monthly per user.

When you work with an agency, you aren’t paying extra to use these tools. They’re built into the cost of your retainer. When you’re discussing a potential partnership with an agency, you should ask what tools they use for bug tracking and continuous integration (and here are a few more questions we think you should ask, too).

These additional monthly costs range depending on the tools used. But a rough estimate of $25-$100 per month, per employee, is reasonable.

Management Time

If you don’t have an existing development team and you need resources, you can’t simply hire one developer and expect them to operate on their own in a vacuum. After spending the time to recruit and hire the right candidate, you will need to onboard them into your organization. Then, you’ll need to mentor and work with them to ensure both parties are successful and that their career is developing.

If you don’t have experience managing a developer, this will take additional time and resources initially. It’s tough to manage a technical role that you don’t have experience in.

Here are some of the additional benefits associated with working with an agency instead of hiring a full-time developer.

You only pay for the time you need

Development work can be unpredictable. As business plans change, development work can ebb and flow to meet company needs. With a full-time employee, you can’t make a second one magically appear when deadlines are moved up, and you can’t make one temporarily disappear when development work slows down. You should have many, many months of consistent development plans laid out before considering bringing on a full-time employee.

When working with an agency, you’re able to have more flexibility around how much time you work with them per month. Obviously, this depends on how your contract is set up with your agency. In our case, we ask for 30 days notice for increasing, decreasing, or canceling a retainer with our team. We understand that business plans change.

And while we’re always sad to see a client go, it’s a lot easier to tell your agency that you don’t have work for them than to tell a full-time employee the same thing.

Varied experience levels and expertise

This is maybe the biggest value-add of working with an agency instead of hiring one full-time developer. When you hire one single developer, you’re bringing their personal experience and skills onto your team. When faced with a problem outside of their skill set, they’ll lean on patience and Google to figure out a solution. And while there’s nothing wrong with searching for answers – it’s a big part of development – it does take time, especially when your developer is out there as a lone wolf.

When you work with an agency, your developers will have a team of peers to rely on to help them through sticky problems or issues outside of their knowledge realm. There will be more senior team members who can lend a hand, which will save you time on complex problems.

Also, there are lots of skills adjacent to Backend Development. You might find yourself needing design or UX help, or assistance with a dev ops issue. If you hire one single Backend Developer to manage your application, these outlying skills likely aren’t in their wheelhouse. If you work with a team, they may also have that capability – or, if they don’t, they should be able to outsource to someone who does.

Whether you should hire a full-time developer for your organization or partner with an agency is totally dependent on your circumstances. There’s no wrong option, but we wanted to highlight some of the things you should consider when evaluating the cost of an agency vs. a full-time employee.

If you’re considering partnering with a development agency and want to learn more about what that relationship and cost might look like, we’re happy to have a chat and tell you about how we work with clients. Click below to schedule a call with a member of our team.

Continue Reading

Article  |  Development

Rails 6 Roundup: Everything We’ve Read about Rails’ Newest Version

15 Mar 2019

Rails 6 Roundup: Everything We’ve Read about Rails’ Newest Version

The beta version of Rails 6.0 was released on January 15th, 2019, with the stable version of Rails 6 coming soon on April 30 (just in time for RailsConf!) We’re excited for Rails 6.0 as it comes with some notable new features. Many developers have started to test this beta version of Rails, so we’ve rounded up all of the helpful information we’ve found so far about Rails 6.

Here’s everything you need to know about Rails’ latest update.

New Feature Overview

What’s coming to Rails 6.0?

Guy Maliar read through all of the Rails Changelogs to analyze the new features coming to version 6.0. His summary is full of in-depth analysis on what these changes will mean for Rails developers.

Drifting Ruby: What’s New in Rails 6

If you’re more of a video learner, Drifting Ruby put together a helpful tutorial clip that highlights the notable features new in Rails 6. You’ll get an overview of all of the new changes in ~11 minutes.

Bogdan: What is new in Rails 6.0

Bogdan’s blog is a wealth of knowledge when it comes to all things Rails. This article from October is another great summary of the major changes coming to the framework with the newest version. He included a giant collection of links at the bottom of this post that detail specific changes.


Back in October, DHH announced Action Text for Rails 6, “an integration between the Trix editor, Active Storage-backed file and image processing,” tied together with a text-processing flow. Here are a few tutorials and summaries from around the web on ActionText.

A Quick Look at Action Text for Rails 6.0

Arum Mathew Kurian breaks down Action Text by demonstrating it in a small Rails application. You can see the rich text editor in action.

[Video] Using Action Text in a Rails 5.2 Application

Dave at Drifting Ruby put together a video on using Action Text on a Rails 5.2 application while we wait for the official release of the feature in Rails 6.

For further research on Action Text specifically, you can read the Rails Guides Action Text Overview or watch the demonstration in action from DHH himself.

Adrien Poly also put together a tutorial to demonstrate how to create the same example that DHH shows in the announcement video.

This is one of the more controversial changes that you’ll find in Rails 6. For many developers, the action text addition isn’t necessary in Rails core by default. You’ll find a lot of opinions that this qualifies as bloat for the framework, and should be an opt-in instead of an opt-out. One of our Rails developers wrote about the drawbacks of this feature on legacy applications using file upload methods outside of ActiveStorage (like Carrierwave).

Action Mailbox

Introducing Action Mailbox for Rails 6

Here is Rails’ official announcement for Action Mailbox from back in December. The announcement includes the motivation for Action Mailbox, explaining that, though Rails had an “anemic way of receiving emails using Action Mailer,” the solution was poorly structured and implemented.

This framework was, like many other major pieces of Rails 6, extracted from Basecamp 3. While beta versions often sound like risky business, it’s encouraging to hear that this code has been in use by Basecamp's large userbase for a few months now. Here’s the full Action Mailbox Basics guide from RailsGuides.

Additional Rails 6 Features

Rails 6 Unnoticed Features

There are many small updates beyond the headline-making features of Action Text, Action Mailbox, etc. We could curate a list of them here, but Alexandre Ferraille from Drivy’s Engineering team has already done a stellar job of putting that together. Here are his observations of a dozen-plus changes that are found in the newest version of Rails.

For some thorough and not-so-light reading, you can check out the the complete 6.0.0beta1 changelog to view everything that’s changed in version 6.0 of your favorite framework.

What are you most excited about in Rails 6? Are you taking part in the Rails 6 beta? Or, have you written about Rails 6 and think we should include your takeaways in this post? Leave a comment below and let us know!

Continue Reading

Have a project that needs help?