News for hackers. Stuff that matters.
Re:Challenging projects every programmer should try by tehnub on Tuesday December 26, 2023 @01:22AM (#38769340)
This is like telling a student learning an instrument never to practice scales or études because there are other skills necessary for playing in an orchestra. Those other skills are important, but you have to develop your chops at some point, and being a better a programmer will certainly help with basically all those skills you listed anyway.
Re:Challenging projects every programmer should try by hilux on Tuesday December 26, 2023 @03:10AM (#38769784)
Nowadays (and increasingly, going forward) it's possible to be a very productive programmer without knowing much low-level stuff. This may seem unfair to those who spent years wrestling assembly and then C pointers but that's just today's reality.

It's not possible to be a "productive" musician on a traditional instrument (i.e. excluding iPads) without knowing how to play scales, chords, etc.

Re:Challenging projects every programmer should try by snovv_crash on Tuesday December 26, 2023 @04:02AM (#38770076)
This is also the reason a computer with 4GB of RAM can't run Gmail and Spotify at the same time.
Re:Challenging projects every programmer should try by ttoinou on Tuesday December 26, 2023 @04:33AM (#38770218)
Google and Spotify are supposed to get among the best / most productive developers though
Re:Challenging projects every programmer should try by deterministic on Wednesday December 27, 2023 @05:57PM (#38787908)
According to what evidence? I have worked with developers who later ended up working for Google and they were OK but not great. They didn’t stand out in any way.
Re:Challenging projects every programmer should try by ttoinou on Saturday December 30, 2023 @11:13AM (#38816322)
yeah I kinda don't even believe what I'm writing, hence why I'm saying "supposed"
Re:Challenging projects every programmer should try by wiseowise on Tuesday December 26, 2023 @05:28AM (#38770493)
> This is also the reason a computer with 4GB of RAM can't run Gmail and Spotify at the same time.

That’s demands for faster delivery of software and ridiculous demands on user experience.

Does looking down on higher level devs make you feel superior or something like that?

Re:Challenging projects every programmer should try by angra_mainyu on Tuesday December 26, 2023 @07:31AM (#38771233)
> That’s demands for faster delivery of software and ridiculous demands on user experience.

Absolutely not. It's about bloat. Many times people "just want to code" or eschew optimizing repeating the mantra that "premature optimization is the root of all evil" that you often end up with bloated software.

Re:Challenging projects every programmer should try by cpursley on Tuesday December 26, 2023 @04:24AM (#38770188)
Tell that to most guitarists. Vast majority are self taught and can’t read music; a number are excellent players.
Re:Challenging projects every programmer should try by eternityforest on Tuesday December 26, 2023 @04:40AM (#38770261)
They can't read music, but they can still make their hands move in repeatable patterns without thinking about each finger position, which I think is roughly the equivalent of implementing quicksort.

As someone who has played guitar on and off for years as a hobby, I'm shocked by how much harder it is than programming.

I can pick up almost any random codebase on GitHub, and as long as they use libraries and don't touch low level stuff, I can probably start working with it in 10 minutes to a day at most.

Then, I could leave that project for a year and be almost as productive as when I left. So much of the action is on the screen, not in the head, and there's no muscle memory required.

If any instrument was as easy as coding... I think a lot of coders might have music careers instead....

Re:Challenging projects every programmer should try by hilux on Wednesday December 27, 2023 @02:40AM (#38779898)
Who said anything about reading music?
Re:Challenging projects every programmer should try by drunkpotato on Tuesday December 26, 2023 @09:03AM (#38771816)
Hard disagree. Those “productive” programmers are a nightmare, their code is a barely decipherable jumble of randomly gluing function calls together until they kinda sorta do something that approximates working some of the time. They cause an unfathomable amount of damage, lost productivity due to bugs and data nightmares, lost data, and headaches.

They do make idiot managers happy though, because look at all those features and scrum points they “finished!” That’s why armies of them will always be there in the software ecosystem, blithely and ignorantly a net drain on whatever unlucky company is currently employing them, busily making a mess for more diligent programmers to clean up for the rest of eternity. It’s called “job security.”

Re:Challenging projects every programmer should try by p-e-w on Tuesday December 26, 2023 @02:08AM (#38769506)
> This is like telling a student learning an instrument never to practice scales or études

No, it's like recognizing that an orchestra conductor doesn't need to play every instrument (or even any instrument!) in order to make music.

Or alternatively, that a violin player doesn't need to understand the physics of acoustic dispersion in order to be the best in the world at playing the violin.

Re:Challenging projects every programmer should try by tock on Tuesday December 26, 2023 @02:13AM (#38769530)
Yes a software engineer understanding data structures and runtime complexity is akin to a violin player understanding the physics of acoustic dispersion.
Re:Challenging projects every programmer should try by p-e-w on Tuesday December 26, 2023 @02:21AM (#38769563)
Is it not? I can't tell if you're being sarcastic or not.
Re:Challenging projects every programmer should try by Arch-TK on Tuesday December 26, 2023 @03:35AM (#38769926)
I would say, given how absurd the statement is, sarcastic.
Re:Challenging projects every programmer should try by khazhoux on Tuesday December 26, 2023 @05:24AM (#38770468)
The analogy would be a software engineer having to understand resistors and capacitors and transistors.

Also, I don’t think you’ll find a single conductor on this planet who is not skilled in at least one instrument. Terrible analogy.

Re:Challenging projects every programmer should try by tonyarkles on Tuesday December 26, 2023 @01:05PM (#38774162)
So here’s the thing… I did an EE/CS dual degree. I’m going to focus on the EE side of it for a bit.

We learn the high level practical behaviour of devices: resistors, capacitors, BJT and MOSFET transistors, opamps, logic gates, etc in 2nd year. What we learn there is enough to be an effective practical circuit designer.

We also dive deep into how that stuff works under the hood. One course I remember fondly started the first lecture with “This course is called semiconductor physics. To understand semiconductor physics you need to understand solid state physics. To understand solid state physics, you need to understand quantum mechanics. We have a lot of material to cover so let’s get started.” A similar course was Electric and Magnetic Fields, where we spent a ton of time applying vector calculus to situations of varying complexity to get a better understanding of how the things we learned in 2nd year actually work and some of the limitations that you wouldn’t pick up on from the practical (generally first-order) models.

You don’t get to graduate with an EE degree without learning this stuff. And in my mind, that stuff is like a mixture of data structures, runtime complexity, assembler, and cache coherency. Fundamental understanding that while you won’t use directly in your day-to-day work but underpins everything you do.

Re:Challenging projects every programmer should try by seanmcdirmid on Tuesday December 26, 2023 @01:08PM (#38774191)
The job market for EEs...still isn't as hot as for CS people. However, you could also focus on DSPs in EE and use it to get a heads up on machine learning. This assumes you are ready to specialize, however. Anyways, none of it should go to waste.
Re:Challenging projects every programmer should try by tonyarkles on Tuesday December 26, 2023 @01:39PM (#38774568)
I’m quite a ways into my career and being able to dance up and down the “full stack” from designing circuit boards, to writing low level firmware, to backends in Python/Elixir/Java/etc, to frontends in JS/ObjC/Kotlin/Swift/Dart has been a lot of fun. I did the dual EE/CS degree because the “computer engineering” program wasn’t introduced until a few years after I graduated.

That’s all kind of missing the point though. This whole thread has been a discussion about whether Software Engineers need to get down into the nitty gritty low-level stuff. My take is absolutely yes. You might not use it directly every day, but you’ll make consistently better design decisions if you really feel it in your bones. Over on the electrical engineering side of the world you don’t get to graduate without that background understanding. In the software engineering world some people seem to take pride in their ignorance of the foundations they’re building in; in my 20-ish years of experience, those people often end up building things that work poorly and they don’t have the background understanding needed to fix it.

Re:Challenging projects every programmer should try by MikeTheGreat on Tuesday December 26, 2023 @02:37AM (#38769644)
> an orchestra conductor doesn't need to play [...] any instrument! in order to make music

Ok, this is clearly a side-topic AND at the risk of being pedantic: Is this actually true?

Like, I can see how theoretically one could learn to sight-read music well enough to be able to direct an orchestra of individual musicians, then do enough ear-training to identify enough notes to keep tabs on everyone (especially if you're conducting a high school or (god help you :) ) middle school orchestra), etc, etc.

But does anyone actually do that? Has anyone ever done that?

"I'm going to learn how to conduct an orchestra without learning any instruments" kinda feels like "I'm going to become a software engineer using an LLM instead of learning any foundations)"

(To be clear - the LLM path might be viable in the future, possibly the near future, but at least today it's not quite there. My apologies in advance if my analogy doesn't work in the future :) )

Re:Challenging projects every programmer should try by ofcourseyoudo on Tuesday December 26, 2023 @03:03AM (#38769746)
No, it's not true, there are no prominent conductors that cannot play an instrument (or sing at a high level).

A conductor should have a deep understanding of music, theory, and rehearsal pedagogy. At least in current western schools of music I don't see how you would explore these topics outside of the study of an instrument. Maybe there is some esoteric path to this; I just can't imagine how you go to Berklee and begin to explore the nuances of a composition without ever engaging with it as an instrumentalist.

On top of that, the conductor isn't just engaged at performances, they're also responsible for leading rehearsals. If they've never deliberate practiced the learning of music from an instrumentalist perspective I think they would be very hard-pressed to structure strategies for getting the larger group to a high level.

Re:Challenging projects every programmer should try by darreninthenet on Tuesday December 26, 2023 @03:14AM (#38769803)
I guess it depends what you mean by "play an instrument" - almost all proficient conductors have proficiency in at least one orchestral instrument.

There is at least one (so I'm speculating he's not the only one, but it is likely to be rare) proficient conductor (Leopold Stokowski) who had no real proficiency with any instrument but he did have some very rudimentary piano training... and then pretty much taught himself conducting. Whether that rudimentary piano ability counts as "play an instrument"

Re:Challenging projects every programmer should try by MikeTheGreat on Tuesday December 26, 2023 @05:02PM (#38776577)
I was intrigued and looked into this. According to Wikipedia:

"He studied at the Royal College of Music, where he first enrolled in 1896 at the age of thirteen, making him one of the youngest students to do so. In his later life in the United States, Stokowski would perform six of the nine symphonies composed by his fellow organ student Ralph Vaughan Williams. Stokowski sang in the choir of the St Marylebone Parish Church, and later he became the assistant organist to Sir Walford Davies at The Temple Church. By age 16, Stokowski was elected to membership of the Royal College of Organists. In 1900, he formed the choir of St. Mary's Church, Charing Cross Road, where he trained the choirboys and played the organ. In 1902, he was appointed the organist and choir director of St. James's Church, Piccadilly. He also attended The Queen's College, Oxford, where he earned a Bachelor of Music degree in 1903" [1]

That sounds like a bit more than rudimentary piano training to me :)

[1] https://en.wikipedia.org/wiki/Leopold_Stokowski#Early_life

Re:Challenging projects every programmer should try by ahoka on Tuesday December 26, 2023 @05:59AM (#38770684)
Re:Challenging projects every programmer should try by bluGill on Tuesday December 26, 2023 @10:46AM (#38772738)
the skills of conducting do not require any instrument. Many conductors tell someone how to play their part despite not knowing how to play it themself. However it is hard to imagine anyone learning music theory not in context of learning an instrument.
Re:Challenging projects every programmer should try by lodovic on Tuesday December 26, 2023 @03:48AM (#38770008)
I'd rather put the violin player with understanding of acoustic dispersion in the same bracket as a software engineer who understands the effects of magnetic interference on a memory controller.
Re:Challenging projects every programmer should try by hurril on Tuesday December 26, 2023 @03:40AM (#38769955)
This is correct, a conductor does not need this. But you are not the conductor in this analogy, you are a player of one or more instruments.
Re:Challenging projects every programmer should try by wiseowise on Tuesday December 26, 2023 @05:24AM (#38770473)
Are you an orchestra conductor or a professional violin player?
Re:Challenging projects every programmer should try by kragen on Tuesday December 26, 2023 @08:11AM (#38771475)
> it's like recognizing that an orchestra conductor doesn't need to play (...) any instrument

i heard this before and it seemed dubious to me

on investigating, it turned out that there were literally zero famous orchestra conductors who don't know how to play any instruments. most of them know how to play numerous instruments and do so in their spare time, though there were one or two who had stopped. from my experience with musicians i think it's likely that they could play any conventional orchestra instrument after a short exploration period, even if they don't have documented histories of playing it

i suspect that this is true of non-famous orchestra conductors as well, but i could only find public information about the famous ones

of course that doesn't prove anything about programming, which is not the same skill as playing a musical instrument or conducting an orchestra, but it does show that you're constructing your arguments without much concern for veracity