This morning, I ran into this blog post about a women who decided to learn to code by coding every. single. day. She also decided to be publicly accountable and is pushing all of her code to GitHub. It’s very impressive. There are some great lessons in her post about learning to code that I think every person who wants to learn to code and feels intimidated should take to heart. In fact, much of what she says are things that I wish I’d said to myself years ago.
It’s scary to have all of my mistakes and misunderstandings out in the open. The fact is, that if you want to learn to code you are going to make a lot of mistakes, but just because your code might look a little goofy doesn’t mean you should stop coding. And you don’t need to be a certain type of person, you don’t need to be a math whiz, and you don’t need any prerequisites, because the compiler doesn’t give a damn about that. You just need to start typing.
When I started learning HTML/CSS, I didn’t worry about mistakes or bad code or anything, mostly because I was doing this for myself. My websites were public, but this was 1996 and the web was a small place back then. Everyone’s websites looked awful, even most professional ones. But as the web developed and as I moved into an IT related job years later, I forgot some of that original feeling of doing things for myself. I was surrounded by expert coders, both at work and most especially at home (ahem, Mr. Geeky, I’m looking at you). I did not want to be embarrassed.
I think the best way to learn is to solve problems that you actually have. This is the primary reason I decided not to follow a course or textbook. By following my own path, I can tackle new concepts and problems in the most logical order possible, which is precisely when I have them. When I have questions, I look them up on Stack Overflow.
This is what I used to do. I’d want to build X, and back in the day, I’d actually head to IRC to find answers to my questions (pre-Google, remember). I still do that and things work best for me when I have a specific, personal problem I want to solve. During the school year, I often code up my students’ projects that they propose. I find that very useful for both learning new things and for teaching. I often find more than one way to solve a problem and then I can point the student in the right direction. I don’t reveal the actual solution. I find it harder to be inspired to code during the summer. During the summer, I’m planning, thinking, reflecting, and not always doing. Even though I want to be doing. I have this open schedule, all the time in the world. I have Mr. Geeky to help me (though I really don’t want his help for all kinds of complicated reasons which I’m sure you married folks out there understand). But every summer, I do less coding than I intend to.
So, I’m hereby (inspired by Jennifer DeWalt) adding to my goals to code every day, to make something every day. 180 days from today would put me at the end of our first semester, a perfect stopping point for this project as my workload is heavier in the second semester. If anyone wants to join me, jump on board.