Live data from Hacker News

Early vs. Beginning Coders

zedshaw.com

1–10 of 178 posts

Re: Early vs. Beginning Coders

#2
tldr:

- Books written for "beginners" target people who already know how to code

- Author's book targets people before that

- Most programmers are bad at teaching people how to code

- Recommends some arbitrary phraseology to differentiate levels of ability

- Until someone learns the basics of 4 languages they don't really know how to code

- Demands people only use the term "beginner" for people who can't code, and "early" for those who can.

This is great and all, but it comes off mostly like a whiny complaint about how most development books are aimed at a group of people who already have a basic knowledge of coding.

The has already been addressed by the so called "dummy" series of books. They were aimed directly at the audience the author is saying are being left behind.

I'm not sure I am seeing a real issue here. Go to the bookstore, browse through the books, pick the one you can comprehend and seems to be aimed at whatever your level is. Done.

Re: Early vs. Beginning Coders

#3
I have been thinking this for years.... though I would consider myself an "early coder" according to the article.

This stuck out to me as being just the beginnings of the quintessential issue:

   A beginner’s hurdle is training their brain to grasp the concrete problem of using syntax to create computation and then understanding that the syntax is just a proxy for how computation works. The early coder is past this, but now has to work up the abstraction stack to convert ideas and fuzzy descriptions into concrete solutions. It’s this traversing of abstraction and concrete implementation that I believe takes someone past the early stage and into the junior programmer world.
But why stop at just "beginner" "early" and "advanced". All of the books I have on programming are either truly "beginner" or blankly labeled as a programming guide, when in actuality it is quite "advanced"...nothing in between.

If, as the article states, 4 is the magic number of languages to learn up front, perhaps there should be a 4th level of programming guides....one for the journeyman who knows the syntax, can articulate the complex algorithmic issues that need to be addressed, but isn't quite at that "mastery" or "advanced" level.

Re: Early vs. Beginning Coders

#4
post #2

tldr: - Books written for "beginners" target people who already know how to code - Author's book targets people before that - Most programmers are bad at teaching people how to code - Recommends some arbitrary phraseology to differentiate levels of ability - Until someone learns the basics of 4 languages they don't really know how to code - Demands people only use the term "beginner" for people who can't code, and "e…

I love Zedshaw's Python book, but it is not really for complete beginners. So, his book also fits into:

    - Books written for "beginners" target people who already know how to code

Re: Early vs. Beginning Coders

#6

Programming is a frustrating job, you're pretty much doomed to be a beginner forever. It's part of what makes it exciting day in and day out, but it can also be overwhelming.

I think the point of the article is that you are not a beginner forever. You are a beginner when you know absolutely nothing about programming. After years of experience, no one should be an actual "beginner", by the authors standards, because you understand programming conceptually. Being a programmer can be frustrating for a lot of reasons, but not understanding the basics of coding should probably not be one.

Re: Early vs. Beginning Coders

#7
This is a nice article.

I think it took me three years to understand what a variable was. And I still don't know why it took me so long to understand and why I suddenly understood it.

It's not that I didn't know that assigning '1' to 'a' would result in 'a' having a value of '1', but I didn't understand the concept and workings behind it. I just thought it was magic.

Re: Early vs. Beginning Coders

#8
post #4
post #2

tldr: - Books written for "beginners" target people who already know how to code - Author's book targets people before that - Most programmers are bad at teaching people how to code - Recommends some arbitrary phraseology to differentiate levels of ability - Until someone learns the basics of 4 languages they don't really know how to code - Demands people only use the term "beginner" for people who can't code, and "e…

I love Zedshaw's Python book, but it is not really for complete beginners. So, his book also fits into: - Books written for "beginners" target people who already know how to code

I've read Learn Python the Hard Way and the Head First Guide to Programming (which teaches programming through Python). While LPTHW does beat you with the stick of your own ignorance until you achieve enlightenment more neither of them assume anything more basic than the ability to think abstractly. The only way I can see of demanding less in the way of prerequisites is using a ~non-abstract programming language, maybe Scratch or Logo fit the bill?

Re: Early vs. Beginning Coders

#9
post #7

This is a nice article. I think it took me three years to understand what a variable was. And I still don't know why it took me so long to understand and why I suddenly understood it. It's not that I didn't know that assigning '1' to 'a' would result in 'a' having a value of '1', but I didn't understand the concept and workings behind it. I just thought it was magic.

There's something interesting here too in that what many call variables are actually a bit more like "assignables". The upshot is that only in programming do variables behave this way---distinct and unlike mere "names" which we're more familiar with from day-to-day life.

So often one "learns (programming) variables" in how they're implemented instead of merely what they mean. Their meaning is much more hairy than mere naming.

Re: Early vs. Beginning Coders

#10

Programming is a frustrating job, you're pretty much doomed to be a beginner forever. It's part of what makes it exciting day in and day out, but it can also be overwhelming.

No, there's definitely an underlying substrate of significant commonality between the various programming languages and technologies. If you're at 10 years in and you still feel like a beginner, you're doing something wrong.

Obviously I can't expect to pick up a brand new technology and instantly expect to be a wizard, but I do expect that I can pick up a new technology and be functioning at a high level in a week or two, tops, because it's almost certainly just a respelling/reskinning of some technology I've used before.

(The whole "young guys who know way more than their old-fogey elders" was, in my opinion, an isolated one-time event when we transition from mainframe tech to desktop tech. Despite its recurrence on HN, I think "age discrimination" is naturally receding and will just naturally go away as the people on this side of that transition continue to age, and skill up.)

Post reply on HN