Live data from Hacker News

You Don’t Need Superstar Developers

blog.lunarlogic.io

51–60 of 86 posts

Re: You Don’t Need Superstar Developers

#51
post #48

Earlier quoted context omitted.

>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. Even the average CRUD plus workflow application is only really routine & repetitive if you're using suboptimal tools. If you're good, you're good at choosing the optimal tools and automating all the tedious stuff. In large companies, managers would rather have a mediocre…

You're describing an idealized theoretical team organization model with strict separation between the engineering manager, product manager, and developer roles. In the real world with highly productive teams those roles tend to blur together. In order to produce actual business value — not just churn out code to spec — developers absolutely need to be able to communicate clearly, empathize with customers, and collabo…

It's a sad state of affairs if you consider it "idealized" to be able to focus on your job and rely on others to do theirs.

Yes, in the real world you sometimes have to work with poor product managers who have little empathy with customers, who deliver unclear specs and vague priorities. That doesn't mean a good developer is somebody who can handle the parts of their job that they failed at.

"Communicating clearly" is important, but when developers fail, they usually fail at writing clear, functioning code, not explaining why they did something to others in a conference room.

Re: You Don’t Need Superstar Developers

#52

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…

>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. Even the average CRUD plus workflow application is only really routine & repetitive if you're using suboptimal tools. If you're good, you're good at choosing the optimal tools and automating all the tedious stuff. In large companies, managers would rather have a mediocre…

"Soft skills are vital for team lead and product management but being able to write a good email and butter up your superiors isn't too important for other developers."

No, unless they work very individually. Especially not I freaking agile situation - or any other situation where developers cooperate closely or have to communicate with customer. Thinking that soft skills don't matter in team tend to be entitled.

A developer without soft skills means that all the other developers need to use twice as much soft skills whenever dealing with him. It may mean everybody else having to defend against constant attempts for micromanagement and bullying.

It means longer meetings, because that person does not read situation despite being explained it already three times. It means feature being implemented badly, because that person can't understand how someone different might want it work differently then he would prefer. It means major temper tamtrum cause team did not agreed exactly on his coding style. It means days or hour long arguments about petty differences.

It means dude claims other people "produced bad code" and team members being accused of incompetence or mocked in front of managemnt instead of being asked why they did things certain way - all the why the dude act puzzled when they are pissed when they find out their solution is actually right (but management is not there already). It means juniors afraid to open mounth.

"This is a product manager's job and if you're pushing that job onto developers then it's almost guaranteed to interfere with their other work and to be done poorly."

Unless the product manager completely micromanages the team, which tend to be ressented and tend to push out more experienced people, you have a level of autonomy around tasks prioritisation. If you can't do it, pm will do that for you, but you will be considered higher maintenance and less capable.

Re: You Don’t Need Superstar Developers

#53

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.

> minimal intellectual curiosity

I didn't see that specified.

> docile

Yes.

> does what they are told

Yes.

> works well with others

Yes.

Re: You Don’t Need Superstar Developers

#54
post #48

Earlier quoted context omitted.

You're describing an idealized theoretical team organization model with strict separation between the engineering manager, product manager, and developer roles. In the real world with highly productive teams those roles tend to blur together. In order to produce actual business value — not just churn out code to spec — developers absolutely need to be able to communicate clearly, empathize with customers, and collabo…

It's a sad state of affairs if you consider it "idealized" to be able to focus on your job and rely on others to do theirs. Yes, in the real world you sometimes have to work with poor product managers who have little empathy with customers, who deliver unclear specs and vague priorities. That doesn't mean a good developer is somebody who can handle the parts of their job that they failed at. "Communicating clearly" i…

A developer may also fail in communicating how much time will something take, explaining clearly to pm why is feature harder to implement or not feasible due to existing architecture. A developer may fail at asking questions clearly - so the pm don't even know what info is missing. He may be unable to explain why more time for refactoring is needed or why change of technology is needed.

It is not possible to write specs completely without ambiguity - just like no one writes code without bugs. A developer who can ask questions to customer with empathy is more valuable then the one who plays telephone and needs interpreter.

What you are describing is junior work - juniors are closely supervised and fed every detail.

Re: You Don’t Need Superstar Developers

#55
post #41

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…

> If you're doing _groundbreaking_ research in, say, AI or facial recognition or whatever, you may need people who are technical superstars. No - AI and ML stuff does not need technical superstars (i.e. from a programming perspective). Usually it is a rinse-test-repeat kind of job. It needs people with patience and who can interpret data and who can be comfortable with uncertainty and then can make their bosses comfo…

>...rinse-test-repeat kind of job... people with patience and who can interpret data and who can be comfortable with uncertainty and then can make their bosses comfortable with uncertainty on timelines.

somehow that isn't a definition of a technical superstar. I suppose a superstar is a DC/Marvel style character who do software engineering impatiently, skipping the test-debug-fix-repeat ... Well, save for the missing Batman mask it is basically the lowest productive engineers i've ever met, and probably you really don't need these superstars.

Re: You Don’t Need Superstar Developers

#56
There is a third measurement. Experience. And the superstar developers tend to have more of it, although not exclusively.

Specifically they have probably seen and done the problem you are trying to solve already and don't need to spend as much time learning and researching.

Less seasoned developers take a lot of mentoring and not every company can do that. In fact the words "mentor" and "train" are nowhere in this article.

Granted you don't have to be a superstar to have experience. And also, on some projects (like CRUD as someone else mentioned) less experienced developers have plenty enough experience to do the job.

There is also the added benefit of experienced developers being able to see when something is being done the hard way. I've seen many cases in my career where a less experienced developer didn't know a tool or technique and would have (or did) go down the more expensive and time consuming path.

What this article should be (and i think might be getting at slightly) is "you don't need superstar developers if you have superstar mentors." If you have neither you're in for longer development time and higher cost over time.

The flip side of the coin is that superstars also have a tendency to favor projects that are mentally / academically challenging which leads to over-engineering or boredom and attrition.

Re: You Don’t Need Superstar Developers

#57
I would add a second element to the title "You Don't need Superstar Developers: You Need High-Acheivers"

The challenge is really having a mixed team of high talent and minimal talent. While yes, those who are of lower talent will learn more from the super talented, the inverse is not always true.

I have found many lazy (or at least not super motivated) devs who have the required minimum competence level, but are not super driven to crank out high quality work. This then makes me not want to work as hard.

This is a little different in that in general companies should go after high-achievers, rather than a minimum technical competence.

Re: You Don’t Need Superstar Developers

#58

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.

The rest of your point aside, no matter what you're doing, "Works well with others" should always be high on the list. No one wants to work with an asshole.

Re: You Don’t Need Superstar Developers

#59
post #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…

>A LOT of companies think what they're doing meets that definition when it really doesn't.

Can you back that up with data? The majority of companies in the US have zero problems hiring developers who aren't rockstars even when their business model is unique for their industry. My evidence is the disproportionate number of questions from developers on Stackoverflow asking things that they would know if they had a decent amount of mastery in their field.

Re: You Don’t Need Superstar Developers

#60

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…

>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. Even the average CRUD plus workflow application is only really routine & repetitive if you're using suboptimal tools. If you're good, you're good at choosing the optimal tools and automating all the tedious stuff. In large companies, managers would rather have a mediocre…

"Soft skills are vital for team lead and product management but being able to write a good email and butter up your superiors isn't too important for other developers."

Unless you're a developer that works by themself on code that will never be used directly by other people, soft skills are always vital. Soft skills include things like being able to empathize with others, which is quite important for building usable interfaces. And, soft skills are incredibly important for getting along with others, which, as a developer, you're going to have to do.

Post reply on HN