Hacker News new | past | comments | ask | show | jobs | submit login

If everyone only wants “great” people, where are the mediocre people supposed to work? Think like this long enough and soon the have-nots are plotting a revolution.

Companies with defined, well established revenue streams need to build mentoring programs that turn mediocre developers (solid C) into good (solid B) developers. Those employees tend to be the most loyal and are capable of a great amount of menial to boring coding tasks without complaint. Why do we devalue the grunts? They are the bedrock of every organization.

It’s not like Google’s Adwords is undergoing a complete code rewrite every quarter. Neither is Microsoft Word. Most code changes are incremental, and people need jobs, so why do we denigrate them so?

Plus A players are only usually A in their requisite subdomain. A crack coder of financial systems is going to struggle mightily when writing a morphological filter or a seam carving algorithm. There’s real value to the business when an individual acquires domain knowledge, especially when the domain is not fundamentally exciting (e.g. finance, geology).




The truth is that everyone actually hires mediocre people, otherwise we wouldn't get so many comments about mentor people on teams and performance reviews would look very different.

That said, very few people think of themselves as average. Just looking at the comments here on hacker news, everyone feels they are the A players and if they aren't selected for something it's because management sucks or they aren't understood, or some other excuse.

We could all stand to be a hell of a lot more humble.


>Companies with defined, well established revenue streams need to build mentoring programs that turn mediocre developers (solid C) into good (solid B) developers. Those employees tend to be the most loyal and are capable of a great amount of menial to boring coding tasks without complaint.

In general, when coding, if you're doing a menial or boring task you're doing something wrong. E.g. I've worked with a ton of mediocre developers who don't automate the menial tasks and end up doing the task manually, sloppily and slowly.

>It’s not like Google’s Adwords is undergoing a complete code rewrite every quarter. Neither is Microsoft Word. Most code changes are incremental,

Incremental changes are hard. Incremental changes to large and unwieldy systems while leaving them in a maintainable state are very hard (actually, from what I've heard, Google Adwords' code base is a mess).

>Plus A players are only usually A in their requisite subdomain. A crack coder of financial systems is going to struggle mightily when writing a morphological filter or a seam carving algorithm. There’s real value to the business when an individual acquires domain knowledge

It's vastly better to have a really good product owner/manager who knows the domain working with a really good coder than a mediocre coder with mediocre domain knowledge.


>In general, when coding, if you're doing a menial or boring task you're doing something wrong. E.g. I've worked with a ton of mediocre developers who don't automate the menial tasks and end up doing the task manually, sloppily and slowly.

That’s total BS. Development is full of boring mediocre tasks such as fixing spelling mistakes in UI controls, updating help messages for dialog boxes, or porting the product from one build system to another. In many tasks, there’s a huge gap (a chasm sometimes) between manual intervention and complete automation. I’ve lost count of the number of times a clever programmer has tried to automate the process and completely mucked things up, forcing me to go in and fix things manually.

>Incremental changes are hard. Incremental changes to large and unwieldy systems while leaving them in a maintainable state are very hard (actually, from what I've heard, Google Adwords' code base is a mess).

That’s exactly where a great product manager can mentor a mediocre developer in making a sensible change. It’s a great learning opportunity that we’re depriving people of because software founders want to retain all the revenue for themselves.

>It's vastly better to have a really good product owner/manager who knows the domain working with a really good coder than a mediocre coder with mediocre domain knowledge.

Of course. It’s also vastly better that to be born rich so one doesn’t have to work at all. Ideally, all developers in the market would be great developers. But they’re not. So I ask again, what are the mediocre developers supposed to do?


>That’s total BS. Development is full of boring mediocre tasks such as fixing spelling mistakes in UI controls, updating help messages for dialog boxes

I would say this counts for much less than 1% of what I have to do. A lot of this stuff is in files which I can give product owner control over, too.

>or porting the product from one build system to another.

And this isn't boring. Build systems are tricky and filled with pitfalls. The worst thing you can say about build systems is that it's not a prestigious task.

>I’ve lost count of the number of times a clever programmer has tried to automate the process and completely mucked things up, forcing me to go in and fix things manually.

Yeah, and fixing things manually in that case is boring. As I put it above "if you're doing a menial or boring task you're doing something wrong" and you precisely described "something wrong".

>That’s exactly where a great product manager can mentor a mediocre developer in making a sensible change.

Product managers are not the right people to teach this kind of thing.

>Of course. It’s also vastly better that to be born rich so one doesn’t have to work at all.

Unlike being born rich, which is out of your control, you are able to exercise some degree of control over whom you work with.




Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: