Or, the danger of the side project.
I’ve stated in the past that I’ve been trying to learn programming. Indeed, I have, and I have some basics to show for it. Things that didn’t make sense two months ago are now much clearer to me. While I’m in no position to apply for jobs, it hasn’t stopped me from continuing to improve. Like a Japanese learner that finally reads and understands their first kanji, I know I’m nowhere near proficient, but I can’t help feel a little proud.
The problem is, the more I’m focusing on learning, the less I’m actually doing. Of course, this is natural. For all the advanced learners who accomplish while they learn (most pros are learning things daily), most beginners have a “work debt” they build up. Moments of unproductivity that will result in future productivity. Trading now for later.
On the other hand, I’ve been enjoying myself. Every time I go back to one of the other languages, everything I’m reading becomes more interesting and makes more sense. It’s a blast. Although I may be very off-track, I’ve found that Ruby and C# are more similar than I gave them credit, at least in the early stages. I suppose this is because they’re both object-oriented, but regardless. Strings, Booleans, and Arrays aren’t so different no matter where you go.
But am I sacrificing something by not having a clear focus?
I mean, aside from disc space. New programs take up a lot of room.
Difficult != Boring
One thing that I’ve certainly found in the past few weeks is the difference between difficulty and boringness—and they are quite different at that. While a lot of students in high school bemoan something as “boring” when it is in fact “difficult”, I think it’s important to not conflate the two.
When you sit down to think about an interesting problem, for instance, that’s probably difficult. When you have to type 1000 numbers into a table, that’s boring. So far, so good. Unfortunately, when something is so difficult that it’s incomprehensible (your i+20s), then it usually becomes boring. Because there’s no latch into the problem box. It’s impenetrable. Something becomes interesting when it’s easy to interact with it, even if it’s not easy to solve.
I say this because finding a good way to self-learn programming has, coupled with the ADD, forced a lot of experimentation. Just like finding any learning-related materials, whether it’s a Japanese language textbook or deciding what educational program to sign up for, finding the right one for you can be a tough search. The good news is that for every 5 sites that bored me to death, one site did it in a way that worked for me. And when I thought some websites weren’t working, that’s when I found a billion tutorials on YouTube.
The silver bullet is, as always, experimentation, rather than just trying to bull through a problem. Not that focusing is bad, but that trying to force something that hasn’t been working won’t suddenly make it work. Once you find the thing that works: focus. After all, it’s the method that’s holding you back, not necessarily the destination. In other words, it’s best to fly first class on JAL to get to Japan rather than swimming, even if swimming will net you a greater appreciation of how big the world is and how far Japan is from America.
An important concept in education is that of “i+1”, or “the amount of information you currently have, plus a little bit more”. It’s an intuitive concept, really. Give people incrementally more knowledge, and knowledge that builds off of what is already known, not something that is so outside of what the learner knows. i+1 for a beginning chess player is going over the rules and basic piece movement. No sense bombarding them with opening theory. That’s i+8 right now. But, with enough +1s, opening theory will eventually be appropriate.
As a teacher, this is important to know. As a student, it’s also integral. Yet, even though I can design a class to teach someone English or Japanese with these concepts in mind, designing a computer science class for myself as a learner is very hard. Partially because I don’t know what’s actually important. Am I looking at a +1, or a +3 without knowing it?
Not to say that I’m letting this stop me. But it does mean I’ve accidentally stumbled into some tough territory sometimes without realizing it.
For instance, just after getting Unity I jumped into their tutorial videos. The first one I looked at was this 45 minute one about designing a basic platformer. While I enjoyed it, I don’t think it was the best one to start with. Unity has some good tutorials out there, and following them in order probably makes more sense. Hard to complain though, because I enjoyed trying to understand what was going on.
Truthfully, it makes me want to take a class. Guess that’s the years of education in me speaking.
And then, there’s… Stress. Question mark.
That big question: Am I wasting my time? What am I even actually doing? 意味あんのか？
I went to the clinic yesterday morning with a bit of a shortness of breath and a slight pain. But after all the tests and an x-ray, they came up nothing.
“It’s probably stress,” I said.
“It’s probably stress,” the doctor said.
“Or yokai,” I offered, being an expert after completing Yokai Watch.
“It’s probably stress,” he repeated.
I was glad I went though. There was something comforting about knowing my body has nothing observably wrong with it. I mean, that doesn’t mean there is nothing wrong with it, but at least there’s nothing obvious.
Truth is—could be sleep too. I’ve been staying up a bit late, learning to program. It’s something I never advise and usually reprimand people who do. But I can’t help it. It’s interesting. And if I die because I couldn’t keep away from something interesting, than so be it.
But I mean, I’ll do my best to keep healthy. No worries.
P.S. It was actually probably all the pizza. Too much pizza. Too much delicious pizza.