Great digital agencies know that their clients value successful digital strategies and award-winning digital products. To deliver both, digital agencies hire software developers with the skills to translate their creativity into binary.
Some have an in-house software development team that does everything from websites to mobile apps, artificial intelligence, and augmented/virtual reality. Others have an in-house team that only does bits and pieces (e.g. web development) and hires dedicated teams or freelancers to do the rest. A third type of agency doesn’t have in-house developers at all, outsourcing the entirety of their software development.
Let’s take these approaches one by one and figure out the benefits of each.
With creatives and developers working in the same office, you can solve most issues right away. Management and communication are easier to set up, and you can always oversee developers in person.
But to hire in-house only, you need to commit to a limited talent pool. Depending on the country you’re in, there may not be many developers, and there could be very few developers with the expertise you’re looking for.
This was the case for Ny Media, one of our clients from Norway. Most of their projects are built on Drupal, a popular content management system, but there aren’t many Drupal developers in Norway. Their solution was to extend the core Ny Media team with several full-time developers from Lemberg. Since our developers’ technical expertise matched Ny Media’s expectations, it really made no difference whether they were in Norway or Ukraine.
Our contribution to Ny Media helped the company deal with the common issue of in-house scalability and flexibility. Instead of hiring a developer each time they needed one and firing them each time they didn’t, Ny Media was able to request more developers from Lemberg when necessary. This didn’t hurt their image as an employer yet allowed them to complete their clients’ projects.
If you were to only hire in-house, you’d need to consider the cases — large projects, peak load periods, etc. — when you may need to rapidly grow and shrink your team. Keep in mind that if you hire and fire developers often, you may soon come up against the reality that no one is willing to work with you.
Besides, to maintain an in-house team, you need to constantly supply them with work. If you don’t, having an in-house team might quickly become too expensive. Imagine having an established client for whom you’ve already built websites and marketing campaigns. At some point, they request a mobile app for an event they’re hosting in a couple of months. But mobile isn’t part of your core expertise, and you don’t really know how to quickly find an experienced and reliable mobile developer.
Rejecting the request will likely not be an option, so you’ll have to scramble for a mobile developer. That’s the main limit of hiring in-house only — you can never be sure what sort of technology your next client will want to integrate. And you can’t keep a full team of developers just on the odd chance of needing them. For such cases, having a dedicated team or a trusted freelancer is key.
Relationships with freelancers are often as easy to break up as they are to set up. There are many platforms like Upwork that offer freelancers with verified expertise. You can find the people you need to accomplish the tasks you have at hand, then stop working with them until the next request.
But working with freelancers often offers little to no security. Although there are many professionals to choose from, it can take a long time to find people you’re comfortable working with. And when you do, something might change for them all of a sudden and you’ll have to start looking again.
This issue becomes even more apparent when you’re working not with individual freelancers but with larger teams composed of various freelancers. Team management can be a nightmare if you aren’t very experienced in working with remote engineers from different cultures and in different time zones.
Working with freelancers is on the opposite side of the spectrum from building an in-house team. It’s inexpensive and provides great flexibility in terms of the amount of work you can accomplish. But it also comes with a certain lack of security and potential team management issues.
Partnering with a software engineering company is in many ways the middle ground between hiring in-house and working with freelancers. With the right team, this approach offers you greater security than working with freelancers and more flexibility than hiring in-house. Pricing tends to fall somewhere in between as well.
You should also keep in mind that a dedicated team doesn’t have to substitute your core team. You can maintain an in-house development team and complement it with dedicated developers when necessary.
Elevated Third, a US digital agency we’ve been working with for the last three years, used this approach to extend their core team with developers from Lemberg. They needed people to handle some smaller engineering tasks on one of their projects but didn’t want to hire full-time employees to do it. By partnering with Lemberg, Elevated Third received access to a large pool of experienced developers from which they can build dedicated teams when necessary.
Right now, we have two full-time developers working with Elevated Third. But whenever they have a larger project or need to cover multiple projects at once, we allocate more people to their team — sometimes up to ten developers at once.
What makes this kind of partnership a better option than hiring in-house is the ability to focus on what matters. A digital agency can keep their eyes on maintaining existing clients and building new relationships. Meanwhile, their dedicated team will handle the heavy lifting.
And if your partner has a large enough engineering team, you won’t be limited to a single tech stack. Meaning when one of your clients requests an AI-enabled recommendation engine, you can find the right data scientist in your partner’s team.
Throughout your cooperation, you won’t need to hire and fire people — your partner will simply reassign specialists to different projects when you no longer need their services.
However, working with a different company can be hard on your core team. It will take effort to convince your in-house team that your partner’s team is not their substitute but rather a tool to help them focus on their primary tasks. A dedicated team can handle routine tasks that don’t do much for your team’s development (e.g. maintenance and support).
This is something we do for one of Ny Media’s projects. While their core team focuses on the main project scope, one of our engineers helps them handle smaller, more routine tasks, including implementing minor features and bug fixes.
Finding the right tech partner might take some time, though it will be easier than assembling a team from individual freelancers. You might want to attend several conferences and networking events to discuss potential partnerships.
Hiring in-house, working with freelancers, and finding a dedicated team all have their pros and cons. Which approach is best for you will depend on the task you’re trying to complete.
What we can vouch for is that a dedicated team offers you the best of two worlds. It’s as if you were hiring in-house without the paperwork and working with freelancers without the danger of them vanishing. Of course, it might take time to find the right team. But once you do, they can become your partner for many years to come.
Find your software development team at Lemberg
If you have any questions about our experience working with Ny Media, Elevated Third, and other digital agencies, don’t hesitate to ask. Roy Vikovych, our Business Developer, and Roman Paska, our Head of Web Development, are always here to help.
In the meantime, check out our case studies to learn more about our company’s processes and expertise.