Becoming a free software developer, part V: When and where did you learn?

In my last article I talked about how interest leads people to program. Then life rose up behind me like a giant Doberman pincer and bit me on my backside; so, I didn't think of programming for over four months. However, just this week something happened that made me want to program again.

I was preparing to teach some students how to use dichotomous keys to identify organisms. Suddenly, while I was staring at a simple teaching key for identifying fruit, my eyes glazed over and I had a moment of clarity. I realized that I was looking at the basis of a very simple program.

It was a list of rules. Simple statements that said, "If this go here, if not go there." In the back of my mind I could see the "either/or" options and the "goto" statements of my coding past, and I knew in my heart that I must make this key into a program!

My problem was that despite my forays into programming, I still didn't know how to program in Python, and I was afraid that if I opened another one of those long tutorials, I'd be asleep before writing my first line of code.

Luckily, I had another option. I grabbed my captive python programmer, read husband, and said "Help me make this program now!"

I saw a need. I had an interest. I had the ability.

Now you may wonder why a simple key could create such a desire in my heart, but it's a simple case of convergence. I saw a need. I had an interest. I had the ability. I knew from experience that when opportunities converge, one must seize the day, and I did. My husband dictated to me how to write the program, and I typed in the commands. We wrote a simple command line program that asks questions and comes up with a result.

I can hear you "poo poo"ing even from here. "He wrote the program, not you!" You say. That is indeed true, but that's how we learn anything isn't it? The first time you write your name on a sheet of paper, it is likely that someone is holding your hand, guiding you to form the correct letters. In the same way my husband sat over my shoulder and told me what to type.

What comes next?

I will try my own hand, shaping programs clumsily like a child trying to form the letter A alone for the first time. It will take patience and a lot of practice, but eventually I will write a program on my own.

And now I understand what I have been missing. I've been missing a teacher. Someone who will sit behind me and help me with my first programs? Abraham Lincoln may have been able to teach himself law by reading textbooks alone, but for most people I think that having someone nearby to help you when you are starting out is essential. The programming world is so full of posturing and bragging that a newbie like me is afraid to ask stupid questions. Where can a new programmer go to have someone hold their hand?

Where can a new programmer go to have someone hold their hand?

And so I ask you gentile reader, tell me, where did you first learn to program? Was it a class? Was it a friend or relative? Or did you learn programming first from a book, and if so, which one? Did you have a place where you felt comfortable asking beginning questions.

How did you first learn to program? Please tell me. I want to know.


Verbatim copying and distribution of this entire article are permitted worldwide, without royalty, in any medium, provided this notice is preserved.

With thanks to Fremantle Counselling to keep FSM editors sane.