If your business model is based on your employees being geniuses, then you probably have a wrong model.
You Don’t Need Superstar Developers
31–40 of 86 posts
Re: You Don’t Need Superstar Developers
#32Re: You Don’t Need Superstar Developers
#33Earlier quoted context omitted.
And the reason that "the code is self-documenting" is a bad smell is because in 3 months even the 'rock star' who wrote it won't remember without appropriate help (eg comments). I've worked with some pretty smart developers in some pretty interesting roles, and the people cock-sure of themselves are rarely anything other than a poisonous danger to overall performance and deliverables typically. I say this as a lone w…
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…
Re: You Don’t Need Superstar Developers
#34One of my most useful insights in software development is that no matter how smart you are, if you write code that can't be understood by a junior developer, it means that you didn't do a good job writing that code.
And the reason that "the code is self-documenting" is a bad smell is because in 3 months even the 'rock star' who wrote it won't remember without appropriate help (eg comments). I've worked with some pretty smart developers in some pretty interesting roles, and the people cock-sure of themselves are rarely anything other than a poisonous danger to overall performance and deliverables typically. I say this as a lone w…
That simply means you're working with poor developers.
Re: You Don’t Need Superstar Developers
#35in my work experience, there are almost always one or two leads who dominate the conversation.
Re: You Don’t Need Superstar Developers
#36I heard about startup that changed team three times, and had to rewrite codebase likewise.
Re: You Don’t Need Superstar Developers
#37Earlier 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.
Then, you raise a PR, have a code review, and whatever the other developer is confused about that you had to explain to them - that's where you needed a comment and what you explained to them is what the comment should be.
Developers who have their "head in the code" will almost always (unless they are very smart and very empathetic) fail to realize what is hard for other developers to understand because they will fail to accurately model to context which the other developer has.
Re: You Don’t Need Superstar Developers
#38One of my most useful insights in software development is that no matter how smart you are, if you write code that can't be understood by a junior developer, it means that you didn't do a good job writing that code.
Obviously you cannot expect complex code to be well understood without background and programming capability.
Having well-documented code is one thing, and ability to work on this code without breaking things is another.
Re: You Don’t Need Superstar Developers
#39One of my most useful insights in software development is that no matter how smart you are, if you write code that can't be understood by a junior developer, it means that you didn't do a good job writing that code.
It's easy to lose yourself as a developer in problem-solving mode instead of looking at the big picture of a project. It's great to have people around you that reminds you the code is just a part of the more complex story - how to help your client solve a business problem.
If I have to deal with ambiguous specifications, vague priorities and to fill in the gaps I need to start modeling the business's needs, operational structure and priorities in order to make appropriate decisions then that means I have fewer cognitive resources to deal with the actual coding.
i.e. it's not just code that needs to be loosely coupled, it's businesses.
Re: You Don’t Need Superstar Developers
#40It 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.
In Montreal, we have tons of AI people here - their code is sometimes a nightmare. They are AI guys, 'code' to them is like 'mathlab'. Fortunately, it's surprisingly not a lot of code.
But the general point stands: it depends what you're doing.
Developing frameworks is a good example: you generally want experienced people who have 'seen it, done it, been there' and have the 'wisdom' of that - plus - hopefully, an ability to actually 'get stuff done'. Doing 'new' is hard.
But 'in general' I think the post makes sense: 95% of companies need 'professional, thoughtful, collaborators' who can take mildly complex problems, write clean, safe, simple code, document, test, release and move on ...