By: Paul Azorin- Chief Technology Officer at BairesDev
Software development HR involves a lot of difficult choices. A company can opt to hire talent locally in-house, freelance talent out or look beyond to find talent nearshore and offshore. Options extend further to contract work out or hire full-time employees to stay on board for the long run.
There are many things to consider when a company decides to hire development teams. Sometimes it is difficult to achieve a fine balance of the number of developers you need without trial and error. Thus, when your company decides on this route, you should have an idea of the project’s scope ahead of time.
Long Term vs. Short Term Work
You will need to decide whether to hire developers for the long or short term. In the short term, it may make sense to contract work out to freelancers or rely on offshore teams for most work. In the long term, you will want either a dedicated in-house team to continue work after a project is complete or ongoing contractors to be always available.
Offshore teams are always useful to have around since they can fill in gaps in your workload between projects. If you laid off some in-house developers due to a project being completed and a slow-down period ensues, the offshore team can fill in those development gaps before your next project starts.
Contractors are also useful for short-term projects or to see what the developers can bring to the table before hiring them full-time. You can find and weed out great talent this way without taking a chance on hiring someone full-time incompatible with your company’s vision.
When hiring a team of in-house developers, it is a good idea for your company to look at the big picture: will you be needing them for other projects in the future or just a current project?
The Poaching Approach
Some companies rely on poaching software developers from rivals through better pay, benefits, perks and even gifts. This approach is common as a recruiting tactic in the high tech world.
Poaching may make the most sense for you in situations where you truly need someone with a specific skill set to complete a project no one else seems to grasp. However, if you want developers to remain loyal to you and not be poached again by competition, you need to encourage them in other ways.
Some of these ways could be a great work culture and team environment that fosters good collaboration. If your company has software in line with the recruit's interest or development history as well as a good vision for his future in the long-term, that is another good incentive plan.
Be wary of this trend in the industry and among rivals and treat your developers well, or at the very least up to industry standards, to avoid the potential of them looking at other options. The more long-term or senior developers you have on a team, the easier it is to bring new talent up to par on ongoing projects.
Effective Management Fosters Effective Collaboration
Besides some developers in the senior role, it is a good idea to have meetings in place across teams to keep the work in sync. These weekly meetings should offer developers a way to speak up about the project they are working on and also about company work culture as a whole. Constructive criticism and transparency is a good route to make a company succeed in the long run.
A modular method of development is also a great way for a company to remain productive at all times. It allows different developer teams to focus on specific tasks and come together collaboratively in different stages of development. This way the teams will not be doubling down on the same work or waiting for another team to catch up so they can keep going with the code.
Management is key and a good project manager will be able to bring different teams together on par and coordinate their workflow.
A Diverse Development Team Offers Unique Knowledge
A good way to add diversity to development is making sure your talent pool is familiar with a wide range of languages and development tools. This way there will be different ways of coming up with a similar conclusion to an issue or problem.
In the actual hiring process, some experts recommend not focus overtly on a resume, experience or particular skills upfront. Its is best to look for candidates who can produce clean or well-written code. The recruiter should set clear expectations for them ahead of time, breakdown the project needs, and test them with problems or issues that may arise and their would-be responses.
Effective Communication for New Talent
It is also a good idea to let the developer know ahead of time the scope and the kind of projects they will be working on. This way, they will know themselves what they are getting into and if they can truly produce the output expected of them. Testing them with analytical questions and looking for good problem solving can also help weed out the type of developer you will want to keep for the long term.
Good management will foster good collaboration and coordination. A good and healthy work atmosphere will foster loyalty and employees to remain with your company rather than be easily poached.
Having a diverse crowd in aspects such as culture, language and geography help make teams more interesting and new ideas to arise. Having a wide range of talent from younger coders to senior developers helps.
Keep these things in mind and consider the type of work you need to be done before finding the right talent for your needs. As a recruiter or manager looking for new talent, you have many options today besides in-house recruiting. Do not hesitate to look at offshore development teams or contractors.
Paul Azorín is the Founder and Chief Technology Officer at BairesDev. He is responsible for coordinating the technology department as well as the Presales team. Paul also leads the Marketing and Communications team and works passionately to communicate the identity and values of the company.