Live data from Hacker News

Ask HN: Can you be a good programmer if you are not details oriented?

news.ycombinator.com

11–20 of 27 posts

Re: Ask HN: Can you be a good programmer if you are not details oriented?

#11
Yes, you can become a good programmer if you're not detail-oriented. Not without becoming detail-oriented in the process of becoming a good programmer, however.

An entire system can go down because a single bit which should have the value 0 has the value 1, or vice-versa.

However, everyone has problems with details to some extent. Otherwise, we wouldn't have software defects. A reasonable software development process does not rely on hiring perfect people who take care of every detail and never make a mistake. (By saying which I don't intend to blur the distinction between missing a detail, or getting a details wrong.)

Alan Perlis once wrote the following epigram, #32 out of many:

"Programmers are not to be measured by their ingenuity and their logic but by the completeness of their case analysis."

That's the important thing: getting all the cases right and not missing any.

Re: Ask HN: Can you be a good programmer if you are not details oriented?

#12
TL;DR: Yes, you'll get better.

I'm reminded of a recent article about grandmaster chess players - when briefly shown a chess board with pieces that were laid out in a reasonable way, they were later able to recall them exactly with ease. Non-chess players were generally unable to recall them at all. When shown chessboards that made no sense (strange configurations, etc), the grandmasters were not any better than non-players.

I think that if you're relatively new, this sort of thing can be difficult, but the more you work with code, the easier it will become. Common patterns become "more of the same" and you can start to notice minor details relatively easily.

Re: Ask HN: Can you be a good programmer if you are not details oriented?

#13
Yes, experience should bring improvement in all areas. Not uniform improvement, but improvement to some degree. Expect that over time you will gain significantly in some areas.

Another point is that teams are ideally made of people with complimentary skills and mindsets. Try to be the best "you" instead of trying to be as good a "Jim" as your coworker Jim. Bring something to the table that Jim isn't so good at. Even if Jim is awesome, there's probably something that you can do better. Even if it's a "soft" skill like ferreting out hidden requirements or something.

Re: Ask HN: Can you be a good programmer if you are not details oriented?

#14
The comments here make sense, but I'd also add that there seems to be room for different types of programmers on a team. I think I'm detail-oriented without being especially brilliant, and I've worked well alongside programmers who've contributed key insights but didn't have the patience to turn them into shippable code.

So, you might get better, or you might just find that other people seem to enjoy working with details more than you do, and that's often okay too.

Re: Ask HN: Can you be a good programmer if you are not details oriented?

#15
Despite what many people think, programmers spend far more time reading code than writing code. Figure out ways of reading code that work for you, using tools as needed. For example syntax colouring was a great reading productivity improvement. If you write your code in a consistent way then it will also be easier to read, although that doesn't help much reading other people's code. (This is why source formatting is a big deal to some.)

Ultimately you will develop a sense of "code smell". A quick glance at some code will give you an impression of it likely being right or having problems. (For example lots of variables and control flow is more likely to have bugs. Seeing lots of zeroes and ones points to off by one issues.)

Re: Ask HN: Can you be a good programmer if you are not details oriented?

#17
Everyone has different ides of what "detail oriented" means, and everyone's experience taints any advice they give on the matter.

For example I've been programming for 20 years, and with my favored languages I don't see "details" of the code at all; I mainly think in indentation shape and huge code block pattern recognition, with the internals of the patterns abstracted away and irrelevant. "Oh, this is just a request handler that reads a file."

By sheer weight of experience I'd classify myself as a pretty "good" programmer, but I don't consider my programming style to be "details oriented" at all.

Summarily I would suggest that a programmer worrying about being "details oriented" is a lot like a fresh lawyer agonizing about the fit of their suit. Stop worrying about it.

Re: Ask HN: Can you be a good programmer if you are not details oriented?

#18
Your idea that you either have it or have it not is rubbish. You absolutely can't be a decent guitar player unless you have rhythm. Three years ago I had none whatsoever, now I have a little. :) Same thing with affinity for details.

So practice, practice, practice!

Re: Ask HN: Can you be a good programmer if you are not details oriented?

#19
My take is that you must learn to pay attention to details to be good at anything. As many others have pointed out, and from my own experience, this is a skill that grows with practice. What level of abstraction you focus on is a separate issue -- details exist at every level. In other words, to design a sound high-level architecture, you must pay attention to details in the architecture.

Re: Ask HN: Can you be a good programmer if you are not details oriented?

#20
Yes, you'll get better. It's one of those things that just takes practice. My advice is to just test, test, test, test, test. Test until you're sick of testing, then test some more.

My second piece of advice is to just slow down. I don't know if you're a fast coder or not, but in my experience, any problem can ALWAYS take another hour or two (or day or two!) to ensure that it's done perfectly. It takes far less time to do it right the first time than it does to "hack it in and fix it later." Slowing down also means that you spend more time on the details -- and your detail spotting gets better!

Good luck.

Post reply on HN