Why I Program

As I begin moving towards app development — and, believe me, the thought that that might really happen is pretty shocking to me — the thing I find myself explaining to other people more than anything else is why I started programming.

There are a number of possible answers: I was a peripheral member of the techie-clique in high school, and, in a sense, it’s a matter of getting back to my roots. Every day I teach English to people who think very technically and having a few technical pursuits of my own gives me an insight into how they think.

More than anything else, though, it’s the same reason I like to try my hand at writing: the more I ‘consume’ software, the more ideas I have for new software. It’s like reading a great novel and then thinking, “I’d like to write a story with characters like that, but as students.” To my way of thinking, the logical next step is to fire up the word processor and start writing. Or, in the case of software, to try my hand at a little code.

And, that brings me to the greatest benefit of trying to program: I like to think it’s strengthened my theory of mind for computers. It’s clearly anthropomorphism to think of computers as ‘thinking,’ but I feel like it’s a pretty natural reaction to have to them. For a long time, I’ve annoyed (or thought I was annoying) my techie friends with questions like “Why can’t a computer automatically tag the people in my photos?” or “How hard is it to make a computer understand that open can be both an adjective and a verb?” And, while I haven’t found answers to those questions, my introduction to programming has given me a sense of what a computer can do easily (translation: I can do the code for it) and what is more difficult (everything else.)

This experience is what made me think that my idea for a story-telling app was pretty feasible. It’s what made me realize that making an app somehow understand (read: react to) the outraged outbursts of my kids when it made ‘mistakes’ in telling the story was way out of my league. But, seriously, why couldn’t I create something that would tell one of the many wacky stories that I tell my kids, but with simple animations (look, I just added something to the picture!) and touch response? It seemed reasonable!

I don’t know that I’ll ever make a dime off programming. And I’ve spent enough time teasing my father about his hobbies to know that children are seldom impressed by the ‘skills’ of their parents (unless you can kill a bear with your bare hands, that’s always impressive), so this seems to be something I’m doing for me. Nonetheless, it’s something I’ve definitely benefited by.

The To-Do List

This seems like a pretty big project to me. So big, in fact, that I’m ready to bring in outside help: I’ve already contacted an illustrator and asked if she would be willing to do the illustrations, should I send her a proof-of-concept that she finds convincing. The answer was a “yes,” but a tentative one.

So, outside of the ‘simple’ act of coding, I see several things for me to be working on:

  • Defining what a ‘success’ will be in this project. It has to be more than just a working app, as I don’t think I can afford to pay an illustrator just to prove that I can make the app. And I certainly can’t expect her to work without some sort of reward. What are we working towards?
  • Deciding if this thing is going to cost money? That’s obviously a subset of whether or not I want it to make me money, or if I’m doing all this just to prove that I’m cooler than the next guy. (Still a worthwhile goal, but is it enough?)
  • Researching how to get my app in front of a few eyeballs. I get that it can get lost in the Play Store, but how do I get the people who would be interested in it to see it?

I genuinely love the idea of seeing an idea that I had realized. Sure, it’s not something physical in the traditional sense, that I can frame and put up on the wall. But, nonetheless, it would be something I could point to and say “See that? I had that idea and I made it happen.”

On the other hand, I sense that success is going to require more than just a finished project. And the idea of marketing my idea, of being forced to try and convince people to look at what I made, well, that’s the part of this project that I’m looking forward to the least. Forget the tedium of trying to figure out why my code isn’t doing what I think it should be doing, this will be the hardest part of the project for me.

And that means it’s the part that I need to work the hardest on.