Common sense would suggest that good developers are better than inexperienced/junior ones.
That’s the norm in an ideal scenario where those few good developers would stick around, handle a good volume of workload, and generate solid ROI.
Also, interns and entry-level developers may become the weakest link in the company. They are slow and inefficient, often produce low-quality code, require mentoring and guidance from more senior people. Handling junior people is definitely not an easy feat.
However, we don’t live in a utopia – and a lot of problems may require some flexibility.
1. Finding Good Developers Is Hard
Even if you happen to have a team of good developers already, it’s unlikely that your team will stick around in the same capacity and structure longer than 6–12 months. Once you start growing, you’ll figure out how challenging it is to find good developers.
Most qualified candidates are already employed and not looking for a job, running their own startups, or working as consultants and freelancers. Convincing them to work for you is tough unless you’re building something truly innovative and developing an outstanding brand.
2. Great Developers Are Generally More Expensive
Even if you find some good applicants, their salary expectations may be higher due to the market demand.
That’s not necessarily a bad thing – it’s just the way it is. Pricing your product or services would depend on your expenses as well. It’s inevitable when you’re building something innovative and complex – but it may be overhead if the majority of the work is more repetitive and less challenging.
3. Capable Developers May Not Necessarily Be Team Players
This is valid for every industry out there. Experienced talent may be confident in their skills and used to a certain set of processes – using specific tools or adhering to various coding standards.
Combining several rockstars together may be tricky. Think about “The Avengers” – all of them excel at their own specialty and there are various conflicts that may arise due to their strong personalities and background.
4. Good Developers Are Bored with Basic Tasks
Very few companies could ensure that all of the ongoing work is exciting and worth tackling by experienced team members. As a result, it’s likely that some of the business requirements will often be boring, tedious, repetitive.
This may be demotivating your workforce who is eager to solve problems that require some creativity as compared to applying the best practices over and over again for generic use cases.
That’s when less experienced people would come in handy.
5. The Better the Developer, the Harder to Retain
There are different studies regarding the average employment duration in the field. Some state an average of two years on the job and most report 1.5 – 2.5 years per company.
Unless you’re able to always maintain a level of interest and challenge that your developers will be interested in covering, this would result in an ongoing back-and-forth and a tedious hiring process.