Your developer talent is directly related to the quality of your application and getting functionality out the door. A common path to quickly on-boarding new dev talent is to consider freelance developers. In this post I cover what I’ve learned about vetting and recruiting freelance developers, and when it does and does not make sense.
I address the need to hire someone outside your company, most likely part-time, to build your applications. For the purpose of this post, however, I don’t talk about the difference between on-shore and off-shore freelancers – two distinctly separate models for freelance services.
Over the last 10 years, I’ve hired six freelance developers and eight full-time devs. My experience is that there are clear benefits to both formats of the role. To realize those benefits, however, it is critical to first assess your company’s work environment to determine if it is conducive to the success of freelance dev talent, or if it is more favorable to onboarding full-time employees in this role. With that knowledge, you are then ready for the secondary challenge of finding a good developer to meet your specific needs.
Most organizations neglect that first introspective step. Consequently, all too often, good talent is destined to fail simply because of a poor fit with the company’s environment. It can be challenging for even the best freelance developer to succeed if the company doesn’t provide a dev environment where they can hit the ground running.
On a fundamental level, assess the dev environment by defining primary objectives and then differentiating each as either strategic or tactical. The strategy needs to be owned by the organization, and nine times out of ten should be the responsibility of full-time members of the team. On the tactical side, a freelancer could be expected to learn the delivery chain, get briefed on the backlog, and start coding. I.e., freelance developers should be hired to execute, not build strategy.
At a more granular level, recognize the differences between development strategy, application architecture, DevOps and coding.
Strategy and architecture determine what your application is; it will become your core IP. DevOps is an execution component of building an application, as well as part of the delivery chain; it is inherently expected to evolve. Responsibilities in these three areas – strategy, architecture, and DevOps – are most appropriately owned and managed by staff in the company.
Involving freelancers at these levels should be avoided as it has the potential of introducing an unnecessary knowledge management challenge. A common mistake, especially by organizations with little to no application development experience, is to expect the freelance developer to take over from a strategic perspective.
Ideally, freelancers should be hired only for coding. In some cases, you might ask them to help guide the delivery chain (DevOps). They should not, however, be hired for strategy or architecture.
Any developer new to the company will need to understand how to collaborate with the broader dev team; or, if there is no broader dev team, the product owners and visionaries.
An environment that is set up for success for either a new full-time developer or a freelancer will have:
A good freelance developer will:
In order to compete in the modern world, every company must become a tech company. As such, they quickly identify the need to build an application, and they know its value to their users. What they often neglect to realize is that the way the application is built is as important to its success as is its core functionality.
Hiring freelancers is a great way to fast-track functionality in existing applications, build your dev resources, or get new applications into production quickly. But there are a lot of critical considerations that go into hiring a freelance dev, above and beyond just their ability to code.
Chris Riley is a technologist who has spent 15 years helping organizations transition from traditional development practices to a modern set of culture, processes, and tooling. In addition to being an industry analyst, he is a regular author, speaker, and evangelist in the areas of DevOps, BigData, and IT.