Re:Athletes/musicians pursue fundamentals more rigorously th...
by norir on Sunday September 01, 2024 @03:51PM
(#41419796)
While learning to write compilers, I would memorize small, but critical, programs like converting a char range, like [a-zA-Z_], in string format into a table or reporting an error if the range was invalid. At my peak, I could implement the function that did this in about 60 lines of Lua in about 3 minutes.
I haven't done exercises like that recently, but I found it helpful at the time.
Re:Athletes/musicians pursue fundamentals more rigorously th...
by galkk on Sunday September 01, 2024 @04:37PM
(#41420167)
20-30 years ago that was a role in competitive programming team - fast typer with knowledge of data structures, whose job was exactly that: very fast and bug less writing of them during competition
Re:Athletes/musicians pursue fundamentals more rigorously th...
by StefanBatory on Monday September 02, 2024 @09:51AM
(#41425382)
I came to a belief recently that memorization is way too underrated of a skill. Most of programmers, myself included believe that why you should memorize something if you can look it up, but... I'm not really sure by now.
Perhaps we rely too much on our ego that we can come up with everything on the fly where we should instead look into how other crafts did it in the past?
Re:Athletes/musicians pursue fundamentals more rigorously th...
by stavros on Sunday September 01, 2024 @07:41PM
(#41421274)
I've spent maybe 40-60 hours a week on average programming since I was 15 or so (42 now, but I don't program as much nowadays). I'm very logical in general, so I was naturally drawn to programming, but that's a ton of work to put into something. Software engineering comes easily to me now, from the very high level to the very low level.
I don't know tons of stuff about tons of stuff, but I do have a fairly good sense for how computers work at all levels of the stack, which helps.
But for software engineering? This seems a lot harder to me. What seems to make most sense to me currently is really high-level stuff like "build up a local dev environment from scratch", "implement a minimal change than is visible in the frontend, but results in a change to the data storage in backend" and "write an integration test". Those seem to touch on many areas of skill and should be "trainable" in some sense, making them a good target of deliberate practice.
Thoughts or experiences anyone? :)