|
|
|
|
|
by glenngillen
1778 days ago
|
|
I’ve a few different approaches I take depending on the task (and if I’m honest, my mood or levels of motivation): - a new programming language, especially something closer to a systems language, I have a standard set of things I’ll try to implement. Read/write a file. Turn a structured object into JSON, parse JSON to an object. Basic script that can be run from CLI, parses flags/args, reads stdin. Send a HTTP request. Implement the most basic web server. An embarrassing amount of my career has been just building on those fundamentals in various ways. So if I can get those under my belt with a new language it becomes feasible to make an informed decision on whether I might incorporate it into my day-to-day vs just leave it languish as a hobby on the side.
- read read read until I find something that just doesn’t make sense. I mean in not just a “I’m a bit confused” but a more “I don’t understand how this even works. It violates my very understanding of how the world is meant to work”. That happens surprisingly quickly in fields I’ve absolutely no idea about. And then I just focus on understanding how that one particular thing could be true. I’ll often find it forces me to correct some previously held incorrect assumptions, which may have blocked my ability to learn more productively because of the subconscious second guessing and the baby steps not matching my world view.
- I write notes, and then rewrite them in what is kinda like a blog post to myself. If this is interesting info that I’d like to retain, but am unlikely to be applying regularly or immediately, I’m likely to forget. So I write the post I wish I’d originally found. As brief as possible. In a style that makes sense to me. To try and short cut the time it takes to relearn this topic in the future. |
|
I require myself to retype any examples, stack overflows, and so on in the process of learning. Along the way, I get a handle on the patterns of the language. And if I'm learning in an IDE, the autocomplete suggestions start to hint at the other functions within libraries, etc.