Live data from Hacker News

Teaching how to code is broken

neil.computer

231–240 of 258 posts

Re: Teaching how to code is broken

#231

My approach is to employ folks with enthusiasm. If they're teachable, they'll figure out whatever pile of tools they get thrown into on the first task. Then they'll have some skills and the next task will seem less daunting. Of course some mentoring is useful. But just the stuff that's pertinent to the task at hand; concrete help that gets them moving forward. Because, somebody is paying for results. And because prod…

> My approach is to employ folks with enthusiasm

this approach is useless for when your actual goal is to spark enthusiasm, such as in... teaching

Re: Teaching how to code is broken

#232

Earlier quoted context omitted.

I have never met a programmer I respected skill-wise that wouldn't randomly spend a weekend locked in a room solving an esoteric problem they felt they had to solve (for no reason). Over the Christmas holidays everyone at my company writes PoCs or hobby projects, being glad to have some free time away from paid programming in order to enjoy recreational programming. What I'm trying to get at is software engineering i…

This “you gotta program all day every day or else you are unfit for it”-attitude is incredibly toxic and harmful. No other profession has this. No dentist gets told he gotta setup a practice in his garden shed to practice pulling teeth, or else hell be a horrible dentist. No, doing job for 40 hours a week is enough to be one.

That was not prescriptive but descriptive. I don't program every day after work either, but I do sometimes get terribly addicted to a problem and work on it a great deal. I haven't met a good programmer that didn't have it, much like you don't mean someone who's properly good at anything they don't practice a great deal.

> No dentist gets told he gotta setup a practice in his garden shed to practice pulling teeth

This is a weird argument to me, the medical field has an even more unhealthy work/life balance than our field. They absolutely "practice at home" (obviously not through home surgery, but reading and so). Dentists have an easier time than most other medical professions, but every dentist I've met regardless had extremely good work ethic and frequently obsessed over his work.

You can absolutely work 40hrs a week and be a good engineer business-wise. However, most people who are remembered for their contributions to a field (and weren't just in the right place at the right time) dedicated a large part of their life to it. That includes writers, poets, musicians, doctors, anything.. to quote old Onion videos: are tests biased against students who just don't give a shit?

Re: Teaching how to code is broken

#235
post #202

Earlier quoted context omitted.

I find the comparison really odd as someone in the opposite position - I had formal classical piano training from 8 years old until I gave it up during college, and later learned how to code entirely through copying other people's code and Stackoverflow in my mid 20s. Piano to me feels much more like a sport, in that there's a very visceral, physical aspect to playing, and in turn a ton of effort goes into optimizing…

Have you tried formal computer science training? Learning programming through copying from StackOverflow sounds to me like about as good idea as learning piano by watching Synthesia videos on Youtube.

... and yet that's how people do it these days. I hate that, personally.

Re: Teaching how to code is broken

#236
post #202

Earlier quoted context omitted.

This is true. You do have to watch for the "adult piano beginner" syndrome, though. I'll explain: many piano teachers won't take adult beginners, purely because they have unrealistic ideas of how good they're going to be. They want to play a Chopin Etude or the Goldberg Variations or a Brahms Intermezzo, and don't want to spend time struggling with Clementi. Well, sorry. You won't be that good for a long, long time,…

I find the comparison really odd as someone in the opposite position - I had formal classical piano training from 8 years old until I gave it up during college, and later learned how to code entirely through copying other people's code and Stackoverflow in my mid 20s. Piano to me feels much more like a sport, in that there's a very visceral, physical aspect to playing, and in turn a ton of effort goes into optimizing…

> If you're picking up basketball at age 30, I hope you know that you're never going to be anywhere nearly as good as Curry, or Lebron

Well, I hope so, too. However, in basketball, the really good players aren't even going to let you play with them, so you're forced to play with people your own level. In music, you're constantly hearing 8-year-olds who are better than you will ever be.

I believe it's the motor skills, and the plasticity of the brain. Personally, I memorize pieces with no effort at all, but sight reading is a bitch for me and always will be.

Re: Teaching how to code is broken

#237
post #79

Interestingly related to the author's point of teaching using cards. When I used to give coding interviews one of my favorite tasks was to implement the scoring rules of poker[1]. People would often ask "why ask them about poker?" and I'd show them that there is a ton of skill coverage 1. Decomposition of requirements into sub problems 2. pattern matching for code reuse and composition 3. seeing if they can come up w…

If you truly believe that "poker" isn't the subject matter being tested, run the same interview question (this weekend) with a friend, blind, on scoring hands of cribbage. I'll wait. https://bicyclecards.com/how-to-play/cribbage/

A bit of a nuanced problem here. I've played a lot of crib too.

I hear your point, I guess my point is that serious measures are taken to dampen the difference between someone who knows poker and someone who doesnt. I've actually found largely candidates do not know the game so the calibrated comparisons is mostly between people who don't know the game.

Crib may actually be a better option -- the more esoteric the game, the less pre-knowledge plays a factor.

Edit: also NB: the only part that was to be implemented was the relative rank of a hand (ie, which hand won) . So the analogous equivalent in the crib example would be just the scoring of each hand.

Re: Teaching how to code is broken

#238
post #90

Interestingly related to the author's point of teaching using cards. When I used to give coding interviews one of my favorite tasks was to implement the scoring rules of poker[1]. People would often ask "why ask them about poker?" and I'd show them that there is a ton of skill coverage 1. Decomposition of requirements into sub problems 2. pattern matching for code reuse and composition 3. seeing if they can come up w…

The scoring poker is indeed an interesting problem - and its Project Euler #54 ( https://projecteuler.net/problem=54 ) Starting from high card on gets to some interesting increasingly complex "can I identify it rules"

I actually ran the interview on some coworkers for fun (they volunteered) and it was interesting to see the more senior (& IMO brighter) folks quickly recognize code reuse.

!@! SPOILER BELOW !@!

!@! SPOILER BELOW !@!

high card -> sort cards by value return cards[4]

Count cards (map[value]->int) --> Pair, pairs, triples, four of a kind

For each card is first token match? --> flush

sort cards , card[0] == card[4] + 4? --> straight

straight flush --> straight && flush

royal flush --> highcard == A && straight && flush

Re: Teaching how to code is broken

#239
post #90

Interestingly related to the author's point of teaching using cards. When I used to give coding interviews one of my favorite tasks was to implement the scoring rules of poker[1]. People would often ask "why ask them about poker?" and I'd show them that there is a ton of skill coverage 1. Decomposition of requirements into sub problems 2. pattern matching for code reuse and composition 3. seeing if they can come up w…

The scoring poker is indeed an interesting problem - and its Project Euler #54 ( https://projecteuler.net/problem=54 ) Starting from high card on gets to some interesting increasingly complex "can I identify it rules"

[deleted]

Re: Teaching how to code is broken

#240
post #202

Earlier quoted context omitted.

I find the comparison really odd as someone in the opposite position - I had formal classical piano training from 8 years old until I gave it up during college, and later learned how to code entirely through copying other people's code and Stackoverflow in my mid 20s. Piano to me feels much more like a sport, in that there's a very visceral, physical aspect to playing, and in turn a ton of effort goes into optimizing…

> If you're picking up basketball at age 30, I hope you know that you're never going to be anywhere nearly as good as Curry, or Lebron Well, I hope so, too. However, in basketball, the really good players aren't even going to let you play with them, so you're forced to play with people your own level. In music, you're constantly hearing 8-year-olds who are better than you will ever be. I believe it's the motor skills…

In music there's also the stubborn belief that anyone who's older than 8 is too old to learn, and the idea that the goal of music lessons is to train professional musicians and anyone over 8 is not going to be ready at college age and has to pick a different job anyway.
Post reply on HN