Hacker News new | ask | show | jobs
by FLUX-YOU 2902 days ago
>why does it take me six months to find engineers that understand basic concepts like cohesion and loose coupling beyond a text book level

If it's so basic, just hire them and take a day to teach them those things.

WTF is with this trend of waiting 6 months for a hire vs. spending a day to fix the holes in someone's knowledge.

5 comments

Because someone introduced the term "rockstar" to our profession and we've been addicted to the concept ever since.

An expert is someone experienced and well trained, a rockstar is some inherent quality that's selected.

Our industry needs more of the former.

Cohesion and loose coupling are hard to teach. You need big examples not just to understand what they are but more importantly why they matter. They specifically help you work on systems that you couldn't just read and understand in a few minutes.

If the examples have to be so big, they might as well be real systems. Then you're not being taught so much as learning on the job as you go.

It's accurate to call them basic concepts but you only learn them through extensive experience.

Because it takes way more than a day to fix those holes and instill new habits and ways of thinking and to demonstrate the value of them. In fact, it can take 6 months. Or a year. Or three. And in the meantime you have a developer with bad habits introducing debt that is going to cost even more time to fix down the line.
Because every company thinks they’re Google.
Because of Brooks's law. When you're already working overtime, you don't have a day to fix those holes.
And yet you can afford to wait 6 months to find someone who doesn’t have these holes?

I’d wager actively recruiting for 6 months takes a lot more effort than training someone for one day, for that matter.

As a manager, I find it more interesting to develop someone’s skills than hire a rockstar (and deal with ego issues). It’s more work, and you can’t always afford to do it, but at the end of the day you’ve contributed to fixing the long-term problem by adding one more resource to the talent pool. And it’s way more rewarding, and arguably one of the best uses of your time as a manager.

> And it’s way more rewarding, and arguably one of the best uses of your time as a manager.

I'd say it's also one of the best uses of the time of the more senior engineers who will act as (additional) teachers/mentors.

Having been in the position of needing to explain a concept or even just "show my work" has helped me not just better understand what I'm doing, but sometimes even catch fundamental mistakes in my thinking.

It's also why I like commenting on technical matters on HN. Sometimes forcing myself to articulate my thought to someone else will reveal the absurdity of a long-held assumption, or something similar.

Maybe you (meaning a garage-level bootstrapped startup) don't, but surely not every single firm that's out there is in such dire time constraints.