Live data from Hacker News

You Don’t Need Superstar Developers

blog.lunarlogic.io

21–30 of 86 posts

Re: You Don’t Need Superstar Developers

#21

It depends so much on what you're building. If you're doing _groundbreaking_ research in, say, AI or facial recognition or whatever, you may need people who are technical superstars. If you're building the average CRUD-plus-workflow application, the last thing you want are superstars who are going to get bored with routine work. Then they'll go off over-engineering some minor feature or spending weeks at a time inven…

I would rephrase it to: you need people great in tasks that you actually needs them to do.

Great technical star probably don't know AI algorithms and may ressent having to implement math based routins with little tech knowledge being needed.

Someone who is great in algorithms might not be best for tasks heavy on configuration. Someone who constantly seeks new might have trouble to perform routine tasks.

Great under pressure performer might fail in "as much time as you need" situation (and vice versa).

Re: You Don’t Need Superstar Developers

#22
post #13
post #7

Earlier quoted context omitted.

Besides, code speaks to the compiler/runtime; comments speak to the human. - The machine need to know HOW something should happen. That's code. - The human needs to understand WHY that thing should happen that way. These are two different objectives, and good quality code weaves the two in the appropriate measure. Having said that, I don't believe all code should be reduced to the subset that a junior dev can underst…

yeah. I've seen a lot of comments like: // Sleep for 10 minutes sleep(15*60) Unfortunately, the compiler cannot check your comments. Don't put facts that are better looked up in the actual code and that they only risk getting out of sync with the code.

That's a useless comment. A better one would be:

    // Prevent the two tasks from running right after each other,
    // to reduce load when this is run frequently
    sleep(15*60)
Even the most junior dev can infer that a multiplication by 60 for a sleep function probably means the unit is seconds and we want 15 minutes. No need to spell that out. But why sleep for 15 minutes and not just carry on to the next task? THAT is what the comment is for.

Re: You Don’t Need Superstar Developers

#23

It depends so much on what you're building. If you're doing _groundbreaking_ research in, say, AI or facial recognition or whatever, you may need people who are technical superstars. If you're building the average CRUD-plus-workflow application, the last thing you want are superstars who are going to get bored with routine work. Then they'll go off over-engineering some minor feature or spending weeks at a time inven…

Ah, but if you are doing groundbreaking AI research, you need AI experts. You will also need developers, but those developers may not actually need to be superstars.

I think 'groundbreaking AI' was used as an example of something which is (1) new and (2) requires efficient use of hardware. Of course you will need domain experts. But if the new idea requires infrastructure which has not been built and places high demands on the machine, then the project will require above average developers.

Re: You Don’t Need Superstar Developers

#24

It depends so much on what you're building. If you're doing _groundbreaking_ research in, say, AI or facial recognition or whatever, you may need people who are technical superstars. If you're building the average CRUD-plus-workflow application, the last thing you want are superstars who are going to get bored with routine work. Then they'll go off over-engineering some minor feature or spending weeks at a time inven…

Ah, but if you are doing groundbreaking AI research, you need AI experts. You will also need developers, but those developers may not actually need to be superstars.

It sure helps if they are though.

Re: You Don’t Need Superstar Developers

#26
Team dynamics are of course critical, but part of that dynamic is "game recognizes game". Having highly skilled developers makes it easier to have an overall highly skilled team... and ironically that makes it easier to be selective for factors like "team dynamics". It's when you have weaker developers that you have conversations like, "we are just going to have to put up with the ahole because without them we'd be really screwed".

Re: You Don’t Need Superstar Developers

#27

It depends so much on what you're building. If you're doing _groundbreaking_ research in, say, AI or facial recognition or whatever, you may need people who are technical superstars. If you're building the average CRUD-plus-workflow application, the last thing you want are superstars who are going to get bored with routine work. Then they'll go off over-engineering some minor feature or spending weeks at a time inven…

In other words, you want an office drone with minimal intellectual curiosity who is docile, does what they are told, and works well with others.

Speaking as an office drone who is docile and does what he's told and has minimum intellectual curiosity with regards to the software he's tasked with building, I don't get much done compared to the superstars around here who can put out 3000 lines of code a week, building out entire new features and workflows from scratch with beautiful, clean, well-organized code. I disagree with the suggestion that superstars (a.k.a. extremely productive and capable coders) do poorly on ordinary work.

Re: You Don’t Need Superstar Developers

#28
post #11
post #7

Earlier quoted context omitted.

Besides, code speaks to the compiler/runtime; comments speak to the human. - The machine need to know HOW something should happen. That's code. - The human needs to understand WHY that thing should happen that way. These are two different objectives, and good quality code weaves the two in the appropriate measure. Having said that, I don't believe all code should be reduced to the subset that a junior dev can underst…

> Besides, code speaks to the compiler/runtime; comments speak to the human. > - The machine need to know HOW something should happen. That's code. > - The human needs to understand WHY that thing should happen that way. While valuable, some people argue that they should be the same (granted, I mostly deal with high-abstraction language). For example most (all?) lisps have homoiconicity which means the computer and y…

Homoiconicity is irrelevant - comment text has no meaning to the computer but can do for the human. Computers have a hard time with "why".

Re: You Don’t Need Superstar Developers

#29

It depends so much on what you're building. If you're doing _groundbreaking_ research in, say, AI or facial recognition or whatever, you may need people who are technical superstars. If you're building the average CRUD-plus-workflow application, the last thing you want are superstars who are going to get bored with routine work. Then they'll go off over-engineering some minor feature or spending weeks at a time inven…

> It depends so much on what you're building. If you're doing _groundbreaking_ research in, say, AI or facial recognition or whatever, you may need people who are technical superstars.

I think this is true for high risk, cutting edge tech, the problem is that A LOT of companies think what they're doing meets that definition when it really doesn't. They think their NoSQL datastore with 10 million records and a single page frontend is the like putting someone on the moon.

And really maybe the point of the article is more that we should reconsider what makes one a superstar. Raw technical ability is one component, but communication, and teamwork are other very important components. It's like in basketball, someone may be an elite 1v1 player, but someone who is a great passer, defender, and leader is probably more valuable to a team.

Post reply on HN