I fail to see how they are contrary at all, when looking past the titles. Both are important, but actually programming and also working on non-programming skills used on the job. Neither is saying you shouldn't do the other. They're each saying that the one thing is important in addition to the other.
–
ServyAug 23 '13 at 16:30

2 Answers
2

Jeff Atwood is saying that being an excellent programmer requires more than just coding skills. It also requires being a good designer, working well with other people, and in general becoming a better thinker and problem solver.

The greatest missing skill is somebody who's both good at understanding the engineering and who has good relationships with the hard-core engineers, and bridges that to working with the customers.

-- Bill Gates

Peter Norvig's point is that you can't just pick up a copy of "Become a Master Programmer in 24 Hours" and expect that to work. But that's exactly how many folks who ask questions at Stack Overflow seem to approach programming. They think they can load up Eclipse, learn a few keywords, and write the next Angry Birds. It takes a little more than that.

Well, but in certain way Peter Norving's point refer to the fact of "mastering" not knowing in a superficial way (that is the central point of his article) the programming language. In fact, Peter and Jeff Atwood refers to be a "master". As the same way you describe Jeff Atwood posture I describe that Peter Norving is saying that being an excellent programmer requires a lot of coding (with the implicit learning topics) and practice.
–
WronskiAug 24 '13 at 6:08

2

@Wronski: Ah, you're back, I see! Nice to see you again. While you were away, we were discussing your question, closing it, and reopening it. Anyway, so what are you saying, exactly? Peter Norving's point is that you can't be a master in 24 hours, or even 21 days. Jeff Atwood's point is that you can't be a master by only writing code. They are both right.
–
Robert HarveyAug 24 '13 at 6:12

@RobertHarvey Why closing it and reopening it?. Should I interpreter the Peter Norving article something to be a good "coding" only, and the Jeff Atwood article something to be a good "engineer"? I'm a little confused.
–
WronskiAug 24 '13 at 6:17

1

@Wronski: Masters are both good coders and good engineers.
–
Robert HarveyAug 24 '13 at 6:22

The "Not Programming" part should come after a good deal of programming practice.

the only way to become a better programmer is by not programming

You have to be a programmer first before you can become a better one. The first programming language learning barrier will take up a great deal of effort alone and the problem-solving part will be trivial compared to problems you will have to face later on.

UPDATE:

As suggested in the comments, you can still benefit from "not programming aka: (thinking)" when first starting out as a programmer but I would not step away from the keyboard just because someone says I should be doing that to get better, rather you should do it because you know you need to think about it more.

Perhaps. But design skills are not that far away, even when first starting out; and people skills are valuable, irrespective of your coding ability.
–
Robert HarveyAug 23 '13 at 16:59

@RobertHarvey Yes, but Jeff Atwood's article seems to be more about problem solving and stepping away from the computer to think about what you are programming.
–
Korey HintonAug 23 '13 at 17:02

2

@KoreyHinton Which is something that it would be entirely appropriate for someone to do when solving their very first programming problem. You can and should be doing that from day one, not once you're already proficient, that's what Robert's saying.
–
ServyAug 23 '13 at 17:07

1

@KoreyHinton Which is why nobody (neither article, nor any of the people answering here) are saying you should be doing just one or the other. They're saying it's important to do lots of both, because the skills complement each other.
–
ServyAug 23 '13 at 17:33

1

@Wronski I think Robert is arguing the opposite point that non-programming skills can be learned while first learning programming. I agree with this as well, but I'm glad that I personally didn't over-complicate the learning process at the beginning. My focus was like you mentioned prioritized with programming skills first, thinking skills second and now I am constantly striving to improve both.
–
Korey HintonAug 26 '13 at 22:36