Martin Grider is a freelance developer from Minneapolis (most often) found at the intersection of mobile and gaming.
When and how did you originally become interested in technology?
I honestly can’t remember a time I wasn’t interested in technology! I was in the Minneapolis math/science/technology magnet school program from kindergarten to tenth grade. I took my first programming course (learning BASIC on an Apple II GS) in 7th or 8th grade, but even before that I remember playing games on my grandfather’s Commodore 64.
I was an avid reader, and from a very early age wanted to be a science fiction writer when I grew up. I read issues of Popular Science and Popular Mechanics when I was very young. I honestly never contemplated creating video games (or any software) until much later, but I was always interested in where technology was headed and especially the implications (social and societal) of the latest and greatest scientific developments.
At what age did you write your first computer program? What did it do?
I suppose my first programming was in that BASIC computer course I mentioned taking in junior high. The most advanced thing we learned to do was draw blocks of color on the screen, but I distinctly remember the ah-ha moment when the goto statement was introduced, and the glee of watching infinitely scrolling text, so I’d imagine it was something like this:
10 print “hello world”
20 goto 10
I didn’t really do any programming after that class until I took a CSci “Intro to Programming” course at the U of MN, although sometime between those two events a friend of mine got me into creating level maps for Marathon (or possibly Marathon 2). I named my maps after obscure short stories by Italo Calvino.
What do you do now? What languages are you proficient in?
I primarily write Objective-C, although I am fairly competent at C and C++, and have dabbled a bit in C# (mostly for playing with Unity at game jams). Before the iPhone I was a PHP developer for 7 years, and before that I did mostly front-end web development.
I’ve been writing iOS apps for over five years, and an independent iOS developer for about two years, when I started my company, Abstract Puzzle. I split my time between freelance / contract iOS development, and launching my own apps (mostly games) in the App Store. I spend a fair amount of time (not usually “on the clock”) thinking about game design (which is not to be confused with graphic design) and game mechanics. I also do some speaking and community organizing (mostly at IGDA-TC), and this year I had the privilege of giving a talk at the big Game Developer Conference (GDC) on mobile game usability.
How have you increased your skillset over the years, formally or otherwise?
Aside from the two classes I already mentioned, I’ve always been self-taught. I was an English major at the U, but while I was there I made several websites, and managed to turn that into a career when I left in ’99. At that time, the web was this amazing field of possibilities. It felt like nobody knew the right way to do anything, and everybody was making it up as they went along.
After the iPhone SDK was released, it took me about three months working nights and weekends before I had my first game in the App Store. Before that time, I’d never worked in Xcode, or any IDE for that matter (unless you count vim).
I’ve never really felt like I know what I’m doing. In general, I see programming as very closely related to learning. Staying sharp and keeping up on what’s new is definitely part of what attracts me to it.
Which do you prefer in programming, the struggle or the achievement?
I’m definitely an achievement kind of guy. Thankfully programming has always come easy for me, because if it were hard I’d probably not be doing what I do today. I love seeing the things I’m creating run for the first time. I don’t know which I like more, the satisfaction of “completing” some phase of a project (software development is never really complete), or the thrill of starting a brand new project from scratch. Everything in between is all about breaking tasks down into fun little puzzles.
What people, groups, projects, or resources were most influential in your development as programmer?
This is a great question. In terms of people, I have had the pleasure of working with various folks over the years I thought of as mentors but who probably didn’t know I thought of them that way. Folks who I looked up to at the time, and tried to emulate their coding styles or practices. Now that most of my projects are solo, that sort of relationship doesn’t have a chance to happen very often.
In terms of groups, going to MinneBar and then later Mobile Twin Cities was very important to my discovering there was a world of programming outside of my insular workplace. I have spent a lot of Thursday nights with the MN Cocoaheads, and more recently I have found kindred spirits over at IGDA Twin Cities.
What do you enjoy about it? Is there anything you dislike?
I have always really enjoyed and been attracted to programming. For me it’s a continuous logic puzzle.
Now that I’m independent, I really enjoy the freedom that comes with that. Setting my own hours, walking my daughter to school every morning, and getting to choose from the projects that most excite me. Oddly, it’s also working for myself that leads to a lot of the things I dislike: worrying about finding projects, dealing with potential clients, invoicing, tax issues — and those are just on the contracting side. On the game development side, there’s marketing (which I’ve always hated), dealing with support (mostly responding to bug reports and trying to keep people satisfied), and trying to gauge how much to work on each project. This is not to mention trying to make them profitable, which is, thus far anyway, mostly an unrequited dream.
If you were to be doing something else, what might that be?
I still think I’m going to finish one of the many science fiction novels I’ve started one day. (I’ve racked up a few incomplete novels by taking part in nanowrimo.) But I also feel like I’m not really contributing to science in the way that I always wanted to when I was growing up, so maybe I’d be an astronaut! Or more realistically, I’d be working in a coffee shop in relative squalor trying to figure out what to do with myself.
Where do you spend most of your time online?
I find myself on Board Game Geek talking about tabletop game design at least once every couple of days, but most frequently I’m on Twitter. I already mentioned Stack Overflow, but if I can’t find enough about an issue there, I’ll try the Apple developer forums.
What excites you most about where technology is headed?
Consider this: the activity that I perform to make my livelihood has existed for less than half the time I’ve been a productive member of society. While big picture rate-of-change is scary, it’s also the most exciting thing in the world! What’s the next disruptive technology? Who knows!?! But I’m looking forward to finding out!
I love the Apple ecosystem, and would definitely hesitate to leave it, but as I see new technologies enter the market, I absolutely evaluate them and try to decide whether they’re for me. Most recently, I received my Oculus dev kit 2, and I’m looking forward to spending some time prototyping with it.
What concerns you most about where technology is headed?
I’m not saying this is technology’s fault, but I do get concerned that our world population is increasingly stratified. Technology is a tool, and can obviously be used for many purposes, but the concern is that those who do not have access to it will be exploited by those who do. The rate of world change is increasing at the same rate as moore’s law, and while most of those changes are positive — increased lifespans, quality of living — if any portion of the populous doesn’t benefit, I think we’re doing something wrong. This isn’t something I talk about publicly, but I’m sometimes concerned that I’m not doing enough to keep the morals of our society in check. I vote, of course, and sometimes donate strategically to charity, but could I be doing more? Absolutely.
Is there anything else you would like to add?
In August (2014) I launched my latest game, a 2-player abstract strategy game for iPhone and iPad called Catchup. It has an AI opponent with 20 levels of difficulty and multiplayer via Apple’s Game Center. There are also leader boards and achievements, and the whole app is color-changeable. (Which was no small amount of work!)
Also, the tech “scene” in the twin cities is amazing. There’s a user group for just about everything. I didn’t mention Tech.mn previously, but the calendar and blog here have been just as important and influential as any of the other resources I listed. I feel a tremendous debt to this “scene”, and try to give back through community involvement whenever possible. Thanks for reading!