News for hackers. Stuff that matters.
Re:Learn Exponentially by gratitoad on Sunday October 09, 2022 @07:02PM (#33146132)
Reading this comment had me cheering “yes, a thousand times yes” but then it occurred to me how often I turn to an O’Reilly book instead of a concrete project and I wondered why.

I think I subconsciously avoid new projects to learn something programming-related because of how often they end up unbounded in time due to one of the fundamental attributes of writing software: unknown unknowns. The kinds of sticking points in a project that could take you minutes to figure out, or days, or even weeks.

I have limited free time and I want only so much of it to be _more_ programming. (I’m a professional software engineer) If I can’t be certain I can timebox a new pet project with _some_ degree of successful outcome, I think I’m low key anxious enough to avoid starting it.

Does anyone else struggle with this? How do folks overcome it and work on new things without them taking over?

Re:Learn Exponentially by teeray on Sunday October 09, 2022 @11:52PM (#33147593)
Limit the degrees of freedom. If the goal is to learn a new programming language, pick an interesting problem that you’ve already solved (e.g. todo list manager, pomodoro timer, etc.). If you want to learn a new domain (e.g. networking), pick a familiar language. Choose boring tech for everything else—-things like deployment, monitoring, etc. If your goal is not learning k8s, just SCP stuff to a VPS. It can be crappy. Crappy is how you learn.
Re:Learn Exponentially by gratitoad on Monday October 10, 2022 @09:09AM (#33150891)
It’s like you’ve seen into my very soul. I often struggle to isolate individual problems within a new problem space because my brain prefers to see the interconnected web of what could be if I just did this thing right. Excellent advice.
Re:Learn Exponentially by smeej on Monday October 10, 2022 @08:15AM (#33150374)
I run into the same thing with projects of many kinds.

If I want to do something like move a light fixture in my house, it seems like it should be fairly straightforward. Choose where I want the new one to be. Create hole. Move wires. Connect fixture.

But it only seems that simple because I'm ignorant. I have to install a new junction box, which requires having a joist nearby, or adding a cross-support between two. Am I going to need to move any insulation? What insulation do I even have? Is the existing wiring long enough, or in the right place, or am I going to have to replace it? And I need to pin the wires down every so often? What? How? Where? Where do I even find that info? And never mind patching the hole I'm leaving behind. It's not just eyeballing a drywall patch. I can't match the old texture of the ceiling, even if I thought it was plain. My patch is really noticeable. And on and on.

Unknown unknowns take what I thought was going to be a little afternoon project and turn it into asking all my friends for recommendations of people who aren't booked 6 months out and are willing to handle a tiny little project cleaning up after my ignorance.

Taking on projects before I even know what I don't know has gotten me into more trouble than just about anything else.

I've never nearly burnt my house down taking notes from a book and hiring a professional to do the actual work!