Live data from Hacker News

The Number One Trait of a Great Developer

engineyard.com

41–50 of 72 posts

Re: The Number One Trait of a Great Developer

#41
post #27

How do you know/decide what a "good" solution is? It all depends on what you already know and what your team is best at. And although a "simple" solution may look like the best choice, it too can have the same problem of maintainability.

I agree with the first point. Development is usually a team effort. Effective teams generally play of their strengths. This is probably more important than having a rockstar on board. Isn't simple code inherently more maintainable. I can see it having the problem of lacking scalability, but prematurely building in scalability is the root of all evil...

I agree that premature anything is bad, especially in extreme form, however, your other point needs some elaboration.

Isn't simple code inherently more maintainable

Verbose, over-simplified code can also be unmaintainable because you lose track of the bigger picture.

The only really simple code is small projects, and code that was just written. In the longer run, as features are added, there is always complexity being added.

In that phase it becomes important to separate concerns, prevent accidental complexity, factor out repeated code, and so on. This can mean that some parts of the code have to make use of more powerful constructs of the programming language, and thus are less trivially "simple".

Also, opinions differ greatly on what is "simple code" and what is not. After all, all code is simple once you understand it.

Re: The Number One Trait of a Great Developer

#42
post #24

Earlier quoted context omitted.

Two years? I think you can learn everything you ever needed to know about a language in a much shorter time period than that.

Totally agree. For example, if a web dev wants to try a new language/framework, he or she can be competent in a few weeks and well-versed in 3-6 months. No?

[deleted]

Re: The Number One Trait of a Great Developer

#44
post #13

This article is totally true, but almost impossible to act on. It's very very hard to differentiate people who have a passion for doing good work and people who just like to play with the latest trendy technology. Especially since the latter is often just an immature stage of the former.

You can look for someone who works with non-trendy technologies. This is actually a big reason why non-trendy technologies persist - indeed, why they often thrive in the larger marketplace precisely at the moment that they become least sexy and fall off the geek radar. Non-trendiness is a market signal of its own. There's a lot less noise in the backwaters, and those products which survive to become boring have demon…

There is a fine line. Sometimes people work with non trendy tech because they have no interest in developing their skillset.

Re: The Number One Trait of a Great Developer

#45
post #30

This post just listed traits very prominent in hackers - deep fascination for technology, perfectionism, need for deep focus and few distractions, concern for efficiency - and wrapped this package under the label of "lack of judgment". The problem I have with such generalization is that these scenarios are always a bit caricatural and are usually presented in a way that nicely fit the argument. The experimental devel…

the "rockstar" either looks like a god, for having foreseen some problems, or he'll be the guy who brought a tank to a knife fight.

Fights over. The guy with the knife killed you while you were putting the treads on. Meanwhile, the guy with the knife discovered that his customers actually wanted something else because they could run the first iteration of the actual product while you were worrying about scaling to a million customers. Maybe the customer is in the steak-house business, but you just stopped reading at "customer wants knives", got a hard-on and started building tanks.

Then something happens mid-project and it turns out that what was originally requested wasn't actually what was needed.

So you advocate over-engineering a just-in-case tour-de-force, instead of agile, iterative, responsive development. How are you getting up votes????

This post just listed traits very prominent in hackers - deep fascination for technology, perfectionism, need for deep focus and few distractions, concern for efficiency - and wrapped this package under the label of "lack of judgment"

Not so. The post listed traits found in very prominent in hackers but also found in ineffective, inexperienced hackers. And advised that to focus on just those traits is wrong. The key trait that separates these two groups is judgement. A "prominent hacker" will use the right tool for the job, right now.

Re: The Number One Trait of a Great Developer

#47
post #13

This article is totally true, but almost impossible to act on. It's very very hard to differentiate people who have a passion for doing good work and people who just like to play with the latest trendy technology. Especially since the latter is often just an immature stage of the former.

You can look for someone who works with non-trendy technologies. This is actually a big reason why non-trendy technologies persist - indeed, why they often thrive in the larger marketplace precisely at the moment that they become least sexy and fall off the geek radar. Non-trendiness is a market signal of its own. There's a lot less noise in the backwaters, and those products which survive to become boring have demon…

Don't sell yourself short. My father bought an IBM-PC and built a record-keeping database application for a niche market that did very well for him from the mid-80s well into the 21st century. It was written in almost-pure PC-COBOL (some ASM), which was already the butt of jokes before the PC era even began.

Re: The Number One Trait of a Great Developer

#49
I would say a great developer should have the followed waxed:

1. Accurate time estimation & communication skills

2. Not suffer perfectionism

3. Know where to find the right answers

4. A good understanding of general programming concepts and when to apply

5. Ability to write code in a way that it's easy for future dev to understand

6. A good understanding of tasks other than programming and how they all fit together in a business environment

7. A good dose of enthusiasm - things can get tough, how are they going to deal with it?

I'll end my comment by saying that you won't know the extend of the damage caused by a bad developer until it's too late.

Re: The Number One Trait of a Great Developer

#50
Judgement:

For it to be judgment, it must be living and active in a programmer's mind. It can't be switched on some of the time, it must be switched on all of the time, for the mundane and the monumental. It must be sharper than a double-edged sword; it must discern the thoughts and attitudes of the heart.

Post reply on HN