top | item 11041580

(no title)

MrRage | 10 years ago

> I can tell an amateur programmer from a professional by looking at their order of priorities when they grow a code base.

> Amateur programmers tend to put code de-duplication at the top of their priority list and will burn the whole house down to that often-trivial end.

To be fair, lots of how to program books spend a lot of time on teaching you how to abstract, and sing abstractions praises to the heavens, as it were. It takes some experience to learn that real world stuff is not like the toy programs in books.

discuss

order

dakotasmith|10 years ago

To be fair, working only from book knowledge and no experience is precisely what makes someone an amateur.

Jtsummers|10 years ago

Novice, not amateur.

Amateurs aren't paid, professionals are.

Novices are inexperienced, journeyman and masters are more skilled and experienced.

A novice can have a ton of knowledge (from books), but be too inexperienced to apply it.

A novice can be a professional, this is what internships and entry-level jobs are supposed to be for. Paired with mentorship and structured work assignments (structured in the sense of increasing complexity, scope, and responsibility) they're brought up to journeyman and, later, master level.

They can also be amateurs. Given forums, books, manuals, mentors (real-life or online), they can be brought up to journeyman and master level as well.

MrRage|10 years ago

Of course. You can't learn that sort of judgement (when to use vs when not to use) from a book.

But our profession's training material, at least in my experience reading, drills it in your head to use all these abstracting devices.

It's certainly true that you can get some "book knowledge" that tells you that you can over abstract. I mean, this blog post is one example. But I only hear this sort of stuff from things like blog post from experienced devs, it seems to me. (Or maybe I just read the wrong kind of books?)

Chris2048|10 years ago

Sounds like the books actually teach poor practise, divorced from context. The harms of abstraction is nothing that can't be printed - this isn't qualia