News for hackers. Stuff that matters.
Re:Women Who Code Closing by josephg on Thursday April 18, 2024 @08:59PM (#40082397)
I really think our industry - and maybe culture at large - is plagued by a sort of anti-expertise philosophy at the moment. I’ve been learning the piano lately. In music it’s widely accepted that it takes years of practice to become skilled with an instrument. People talk about practice constantly. But it’s strange - nobody talks about that with programming. Instead we say “anyone can code!” “Just do some Python tutorials on YouTube!”. Nobody seems to want to talk about how much effort it takes to get good. We just don’t talk about practice like musicians do - and we should.

Dismissing the work it takes is harmful. We relegate practice problems (advent of code, toy projects) into some silly side thing that you would only do for fun. But it’s only through practice that we build expertise. And we systematically dismiss people who are really skilled, and burn the bridge to get that good ourselves. Nobody seems interested in the answer of how Jeff Dean or Carmack gained their skill. When we devalue expertise, we burn the ladder we would need to climb to get there ourselves.

I think we need to take seriously how hard it is to do good programming work. Algorithms, data structures, math, performance optimisation, distributed systems, graphics & shaders, large system design - any one of these skills takes years to properly master. Learning can be incredibly rewarding. But it doesn’t happen without work. We should talk about that work.

Re:Women Who Code Closing by musicale on Thursday April 18, 2024 @10:17PM (#40082842)
"Teach Yourself Programming in Ten Years"

https://www.norvig.com/21-days.html

Re:Women Who Code Closing by em-bee on Thursday April 18, 2024 @09:55PM (#40082738)
it takes years of practice to become skilled with an instrument

that may be true. but it doesn't take years before you can write code. sure, you don't know everything at the beginning, but you can apply what you learned as soon as you learned it, and you don't have to practice it over a long period before you can use it.

learning a music instrument takes comparatively more practice before you sound good. (unless it's a rhythm instrument. you can play a simple drum rhythm after your first lesson. you may take years to master drumming, just like to may take years to master programming, but you can be productive very early.

Re:Women Who Code Closing by bruce511 on Thursday April 18, 2024 @10:20PM (#40082854)
As a drummer who codes (or coder who drums), I feel qualified to comment on your analogy.

Firstly, you can be productive -very- quickly on other instruments too. Guitar and piano are both "good enough" even if you can only play 3 chords. You can then learn more as you go.

Secondly, being productive in coding from very early should be qualified with "for some definition of productive". Yes, you can write code, yes it meets the spec, but usually there's also an element of feedback in code review. Sometimes a lot of feedback.

I concur with the grand parent, we get -better- at coding with practice and experience. As long as you are getting feedback in some way.

The "practice" part might be in challenging your own solution. Rewrite it to go twice as fast. Or in half the code. Or not using that convenient language-provided data structure, or whatever.

For the record I'd describe myself as an "excellent" coder (in my field) but my drumming as "enthusiastic". Competent amateur maybe, but far from "professional".

Re:Women Who Code Closing by em-bee on Thursday April 18, 2024 @10:45PM (#40082991)
i mostly agree, but having had piano and guitar lessons in school, and later having learned playing the irish drum on my own, i don't share that experience. maybe the teaching methods were wrong (i kind of felt the teacher expected everyone to just naturally pick up notes and play). i certainly wasn't able to just grip a chord and start playing it. that alone would have taken me hours of practice. so i never learned even just one chord on a guitar nor did i manage to get any useful sequence of notes out of a piano, whereas the drum i practically learned only from playing in live sessions, and not from practicing myself at home (although there was some of that too, but not much). all i needed was an ear for rhythm.
Re:Women Who Code Closing by bruce511 on Friday April 19, 2024 @12:34AM (#40083456)
I think you hit the nail on the head with 2 parts of your story.

Firstly, playing with others is great fun, and a great way to learn and improve. Not to mention a good motivator. Like you, most of my improvement has been in that context.

When I was just starting out we had "bands" of beginners (guitar, piano, bass etc) and there was a sense of progress learning just one chord or riff etc.

So -how- you learn matters. Equally "starting young" is a common wisdom, but most of the people I play with now "started old". They started because -they- wanted to play, not because someone else wanted to play.

I think method also matters. In school we "learnt" recorder, but it started with "reading music". That's like explaining virtual methods in object orientated design to someone who can't write a for loop.

For both activities we learn better when it's fun.

Re:Women Who Code Closing by swatcoder on Thursday April 18, 2024 @10:03PM (#40082771)
> unless it's a rhythm instrument

... or a drone instrument, or an electronic instrument with a rich timbre and an accessible interface, or most idiophones, or a harmonica, (I could go on for a while)

:)

I think the OP's point was that you can't do cool things when you first start coding or even that you might have employable value early on in your journey, but that practice and experience do pay real dividends and that the field as a whole has lost some appreciation for the transformation that comes from it

Re:Women Who Code Closing by em-bee on Friday April 19, 2024 @10:32AM (#40087309)
I could go on for a while

please do, i am curious.

i read OP more as you can't do anything until you practiced a certain amount, which i think is more like you won't likely get a job until then but not that you can't build something for yourself.

music does not get interesting until you can play in front of or with other people.

Re:Women Who Code Closing by josephg on Friday April 19, 2024 @03:57PM (#40091325)
> that may be true. but it doesn't take years before you can write code.

I never said it did. I mean, where do you think years of expertise comes from? It’s built one day of programming at a time.

Re:Women Who Code Closing by rufus_foreman on Thursday April 18, 2024 @09:47PM (#40082689)
>> In music it’s widely accepted that it takes years of practice to become skilled with an instrument

Some of the music I listened to growing up, that I still listen to, was made by people who were complete neophytes with their instruments.

So I reject your premise, and I reject your attempt at gatekeeping.

>> I think we need to take seriously how hard it is to do good programming work. Algorithms, data structures, math, performance optimisation, distributed systems, graphics & shaders, large system design - any one of these skills takes years to properly master

If there are any programmer kids out there, don't listen to this stuff. I mean that seriously. This is just gatekeeping.

If you're a smart kid who wants to learn to code, you can do that, and you can be writing code in no time. If you're a smart kid who wants to play music, you can do that in no time.

Don't listen to the gatekeepers. They are compromised. They have conflicts of interest.

Re:Women Who Code Closing by swatcoder on Thursday April 18, 2024 @09:54PM (#40082731)
I'm not sure that saying a world of sophistication and capability opens up with practice, or that people have broadly lost sight of it, is the same as gatekeeping.

I was one of those kids you're calling out to and I'm glad I had the opportunity to just dig in, but I'm far better at what I do after decades of practice.

The same is true in each of the numerous other skills and crafts I've pursued in that time.

You can write code in no time, but you really are going to only become continually better at it if you embrace organized, reflective, and regular practice of some kind.

Re:Women Who Code Closing by int_19h on Thursday April 18, 2024 @10:28PM (#40082901)
Speaking as another one of "those kids", I disagree. I became better by doing things, sure, but it was not in any sense an "organized and reflective" practice. It was... just doing things and reading about things because it was fun and interesting (and, eventually, because it paid). But not by deliberately exercising.

Regular, yeah, I'll give you that. Any skill gets better with practice.

Re:Women Who Code Closing by josephg on Friday April 19, 2024 @07:19AM (#40085400)
Nobody is claiming that practice needs to be boring. “Practice” is just a name for the time you spend playing around at the edge of your ability.
Re:Women Who Code Closing by int_19h on Saturday April 20, 2024 @03:57AM (#40095623)
"Organized and reflective" were the specific words used, and I disagree on both.
Re:Women Who Code Closing by musicale on Thursday April 18, 2024 @10:24PM (#40082882)
> Some of the music I listened to growing up, that I still listen to, was made by people who were complete neophytes with their instruments.

I think it depends on the instrument, the type of music, and the ensemble.

Punk band? Sure. Symphony orchestra? Probably not.

Which isn't to say that one is objectively better or worse than the other. Lots of people enjoy both.

Re:Women Who Code Closing by lotsoweiners on Thursday April 18, 2024 @10:01PM (#40082762)
He’s not talking about “smart kids”. He’s talking about the dumb dumbs who are being told “learn to code by going to our boot camp and make six figures”. Expectations absolutely have to be managed.
Re:Women Who Code Closing by sevagh on Friday April 19, 2024 @05:40AM (#40084828)
You're 100% correct. So many stories of very successful musicians (metal guitarists, etc.) that have a knack for making music people like.

I view this thing as a "skill-reward" ratio. If you're a mediocre guitarist and your band has sold platinum records, you're a complete champion. You translated X mechanical skill to Y real-world impact and success.

If you're a superb technical guitarist and nobody listens to your music, you have nothing to contribute.

People over focus on the minutiae and lose sight of the thing itself. Musicianship over music.

Re:Women Who Code Closing by josephg on Friday April 19, 2024 @07:06AM (#40085309)
I’m sorry you hear my comment as championing gatekeeping. That’s not my point at all. I want to champion spending time to slowly get good at things. Celebrate all the people who didn’t put out a hit single the first time they picked up a guitar. I think we only get really good at programming if we put the time in for years. Of course I want more beginners programming. How else would they become experts? Years of practice happen one day at a time.

I was one of those kids you’re talking about, who learned programming on my own from about the age of 9. That was 30 years ago, and I’ve gotten a lot better at it since then. Sometimes I talk to people who have less experience than I do, and I’ve seen the life go out of peoples eyes when they think they aren’t as “talented” as I am. Hah! You see me now, but you don’t see the 30 years of work I’ve put in to get here!

I think this whole “neophytes can do anything” philosophy of yours is toxic, because people assume that if you’re good at programming, you were born good at programming. If they weren’t born like that, they feel inadequate and attack themselves.

You’re wrong. That’s not how it works. It’s great that someone can throw together a website in your first week of a bootcamp. Welcome to the starting line. Maybe that’s enough to start a successful business. But that’s not a sign you’re an expert yet. And thank goodness for that! As piano is teaching me all over again, watching yourself improve slowly over years of practice is a truly wonderful experience.

An expert at programming can make a website - sure. Or they can edit the code in their web browser. Or write their own webpack, or react. Or invent a new programming language and compile it to webassembly. Or write an http2 proxy to make their page go faster. Or 1000 other weird things. How cool is that!

Why on earth would you make expertise into a dirty word? Seriously - what’s wrong with people.