I was reading some joking comments about asking fast food customer service bots to reverse linked lists and I was struck by the realization that I didn’t quite remember how that would be done. Data structures were never my strong suit but I landed on something like going through the whole list and filing the pointers in a stack.
I was actually half decent at writing something in a programming language I barely understood back in university, but these days I prod a pandas dataframe twice a year or set up an abomination for one-off data scraping once a year and that’s about it. Maybe I do half of a Zachtronics game.
There’s two sides of this for me:
- The actual writing of code and the theory has become very rusty (not a pun). I’d ideally like to fully re-learn a lot of the software fundamentals. I did a lot of RTL and embedded stuff in university and I never really got deep into writing that much “traditional” code. Mostly lower level stuff and others would write the high level stuff.
- I’m actually not very familiar with actual tools people use to build stuff. I’m somewhat familiar with Conda and NodeJS, my understanding of the microcontroller ecosystem is still pretty reasonable, but I’m not very familiar with what people actually build software with. I get that the meta now is electron and web apps but that doesn’t really appeal to me. Everything I’ve ever built has been versioned by saving backups of source folders so even though I understand Git I haven’t really used it for my own work. Student projects were simple enough and abstracted the right way that we just used loose files. Stuff like that
I’m probably not pursuing a career pivot into software development but the idea of having personal projects has never faded away. I know it’s far fetched but the early 2010s dream of making a few little apps or games and quitting corporate still appeals to me. Even before the slop era there was far too much fodder to stand out, but hey, I still like making things, I’m not going into it with the expectation of it changing my life.
As LLMs eat up more and more of beginners’ foundational knowledge I don’t quite know exactly how to feel. I think asking for a regex filter in natural language is neat, it’s also something I can immediately verify without messing up my work. But I hesitate to offload much brain power into that kind of tool. I intuitively understand it would probably be very helpful to explain basics, or to offer an explanation for an error the compiler is being obtuse about, but I don’t know. I see this stuff totally melt people’s brains around me. Competent professionals just throwing away their judgment and experience. Even if my use case is what it’s better at doing, I have reservations. I do worry about the future of online documentation of little weird issues if nobody is asking the dumb questions in an open forum.
I guess the trivial solution is just “come up with a project and learn as you go” which is how I’ve done this before, and I’m assuming most of you have too. But I lose all momentum most of the time pretty fast, and a lot of it comes down to frustration with not having the time to debug like I did as a student, not knowing what the obvious libraries are, just plain blanking on when to use a pointer and when to use an address. My brain still thinks in (bad) C++ so I’ll look at my bad python and think huh this looks nothing like the documentation. Ideally I’d like to be decent or at least confident with both, and be decent at winging it in another language when needed.
Not looking for explicit recommendations as much as just seeing what you guys think. If the world economy crashes and I’m out of a job, doing a few projects on my own time might be good for me. Especially at a time when computing feels like it’s being wrestled out of our hands, and when most people are treating computers as magic black boxes again. I swear the interns are somehow worse at navigating an OS than my grandma.
In the short term I should just try to beat The Farmer Was Replaced, but after that I’m all ears