|
|
|
|
|
by amirmc
5508 days ago
|
|
> ... non-essential components of our codebase ... to build lower priority features that our core team doesn't have time to get to." [emphasis added] Sounds like they've already got their most valuable assets, the employees, where they need them the most (presumably on core product). Using contractors to fill the lower priority gaps doesn't seem so bad in that context. However, I could see it becoming an issue if something that was previously considered non-core suddenly turned out to be critical (e.g after changing direction based on customer/market feedback) |
|
I think Jessica Mah is misunderstanding the purpose of contractors to her and her business' detriment. Hiring contractors because the team isn't able to accomplish its tasks in a timely fashion is disastrous in the long run. What happens is that the contractors will write code in the most expedient fashion possible, without care for the long term harm to the code base. The team then sees an inexorable decline in its ability to iterate, which causes the business side to think that even more contractors are required. This self-reinforcing cycle inevitably leads to a codebase that's almost impossible to change or improve in any way; it leads to a place where moving a logo is a three week project (don't laugh, I've been there).
There is another way of approaching contracting that is more valuable for both the team and the contractor. Instead of thinking of the contractor as a hired gun whose sole responsibility is to finish a feature or fix a defect, the founder should think of the contractor as a teacher or a coach. Hire contractors when your team needs to learn a new skill or improve some aspect of their development cycle. Approaching contracting with this mindset ensures that each successive contractor hired improves, rather than degrades the team's skills. Otherwise, your team becomes trapped in a maze to which they don't know the exit, and you wonder why every new version seems to have fewer improvements and worse performance than the last.
EDIT: After further reflection, there is another way that contracting can improve the business in a sustainable fashion. I know of a few companies that practice "contract-to-hire". In other words, you're brought on as a contractor for a period of 6 months or so. During that 6 month period, you and the company have a chance to evaluate each other. At the end of that period, the company makes an offer to you if you've managed to prove yourself as a good fit for the company.