There are so many challenges for both candidate and employer. Some challenges from the candidate such as wrong expectation, skill/talents, or attitude. For example, most computer science students didn’t know what Git is. However, this article will be focusing more on the employer side. Further, hiring a great candidate is difficult, but retaining is more difficult. Let’s dissect.
When hiring your first and main priority will be an attitude (or culture some people say). Skill and the rest are situational and can be addressed later based on need. That’s the main issue on the candidate side. The rest of the issue often irrelevant and can be addressed from the employer side.
Here’s some issue on hiring and retaining talent in the company that you will often notice.
Don’t understand the needs and capability of the company and not having a hiring plan.
This happens when an employer trying to recruit a candidate before really understand what kind of people they need. This also the first step when everything can go wrong. Need things to get done fast but no money, hire junior, or attempt to get senior developer but pay peanuts. If you pay peanuts, you get monkeys. The question is do we really need a junior, mid or senior developer at that time.
If you are a new company and not having enough budget to hire but need to get things going fast, you better of with 1 mid-level developer and 1 junior developer, instead of 1 senior guy. Or maybe 2 mid-level developers. Don’t hire 3 junior dev to replace 1 mid / senior guy.
This is because a junior developer tends to require a lot of attention from management, they are not independent enough to do the task and require guides from a mid or senior developer. Worst, if you let junior developer handle your infra. Nevertheless, the employer needs to have a plan and really understand what kind of dev they need.
No talent or career pipeline
Once hired and they completed the task, what do you want them to do? This often issues when you made a mistake above, especially when hiring a senior developer. Don’t let senior developer working alone too long or do the menial task, it’s hard to sustain them especially when they feel their work is boring. This also the same as a junior. If you hire junior, you better prepare to hire mid or senior to help guide them. How is your company grows each developer to its utmost potential? Most company doesn’t have this in mind and think the developer is just a coder.
Bad internal culture & incompetent management
This is when a company or manager, just tell the developer to do as they told. Have a rigid structure, process, micromanage or regulation. This is also when the company doesn’t have a capable “manager”. There is the only manager who doesn’t know what the team needs, what individual team needs, and what the company can give in return.
Lack of employment branding
Ask a few people around you what it’s like to work for Google. You’ll probably hear words like innovative, collaborative, techie, cool, open. The crazy part is that the people you asked have probably never worked at Google. The same test usually works remarkably well for big brands like Amazon, Southwest Airlines and Red Bull.
And that’s the amazing thing about employment branding—just like a corporate brand, the reputation can often precede the experience. We don’t need to work for a company to have an understanding of their employment brand. Somehow, we just know.
Supply < demand
There are a lot of tech candidates but not a great one. In Malaysia, the tech ecosystem is small and we don’t have enough great tech talents because the better ones are highly sought after especially large corporations. Many great talents outsource to recruitment firms especially from India, Indonesia, Vietnam and etc.
If your developers always complaining about long hours, try to understand the issue. Sometimes it’s not of the long hours, it could too many tasks and they are burning out. Sometimes they have a family to take care of. Try to understand what is the real cause and come out together with a solution. You might not let them do remote working every day, but they can go back early on Friday or work from home once a week. You might not be able to reduce workload, but you can spread it evenly and plan better, or simply reduce the number of meetings.