Know this Nerd? Meet James Shields



shields_mugThank you to The Nerdery for underwriting the Know this Nerd? series.

James Shields is a freelance developer and systems admin/engineer/architect with ‘eternal optimism’ about the future of technology.

When and how did you originally become interested in technology?

My family got an Apple IIGS when I was eight years old, and I immediately fell in love. I mostly just played games on it for a couple years, but that became the foundation for my later interest in programming. When I was 16 I finally got my dream job — developing games for a local startup. They only paid me $6.50 per hour and I had no idea what I was doing most of the time, but we managed to get some functional games out the door and it was the most fun I’ve ever had at work.

At what age did you write your first computer program? What did it do?

A friend showed me the Applesoft BASIC interface when I was 10, and I knew right away that I’d found my calling. My first program just did a space shuttle style countdown: 10, 9, 8, …, BLASTOFF!

Shortly thereafter I moved on to some more advanced programs like Mad Libs, and printing out the lyrics to ’99 Bottles of Beer’. We had lots of fun.
The Nerdery

What do you do now? What languages are you proficient in?

I’m a freelance developer and systems admin/engineer/architect. Really I’m a general purpose coder and problem solver. I love working with startups, but I also work quite a bit with established companies and government organizations. Usually I’m brought in to solve a big urgent problem of some kind. X isn’t doing Y, and no one can figure out why. My specialty is being able to make X do Y in short order, for arbitrary sets of X and Y.

So in other words I’m highly proficient in all of the popular systems and languages that everyone loves to hate, most notably Java and PHP.

How have you increased your skillset over the years, formally or otherwise?

I used to play around with every new programming language I could find, but after a few dozen languages or so I began to lose interest in syntax peculiarities. I still spend a considerable amount of time learning languages, tools, and libraries in order to do well as a consultant, but my passion has shifted towards subjects with more depth and (I hope) longevity. Machine learning is the area that interests me the most these days, so at any given moment if I’m not getting paid to write code, there’s a pretty good chance I’m reading a math book.

Which do you prefer in programming, the struggle or the achievement?

The achievement.

What people, groups, projects, or resources were most influential in your development as programmer?

Every client and coworker I’ve ever had has made some kind of lasting impact on me. I really can’t think of anyone I’ve worked with that has not influenced my own work in one way or another. Whenever I run into a very difficult problem, I think to myself, “If I could call one person right now and ask them what to do about this, who would I call? How would so-and-so handle this problem?” More often than not, just trying to think about the problem from that person’s perspective is enough to get me over the hump. I’ve worked with so many great minds over the years, it’s rare I can’t find inspiration from someone.

What do you enjoy about it? Is there anything you dislike?

I sometimes get annoyed when I hear people talk about programming as if it were a repetitive or boring profession. If you think of creativity as the dictionary defines it, then software engineering is the most creative profession that has ever existed. The increasing pervasiveness of open-source software means that we don’t need to reinvent the wheel. We stand on each other’s shoulders. At the end of pretty much every day you (should) have created something that did not previously exist, that no one before you had ever thought to build, that in all likelihood no one could even have articulated to you in its entirety before the product itself burst forth from your brain, not unlike Minerva from the head of Jupiter. If you’re not creating something new every day, then you’re not doing it right. How many professions can you say that about?

If you were to be doing anything else, what might that be?

I would love to be a musician if at some point in the future I develop any kind of musical talent or inclination.

Where do you spend most of your time online?

TechCrunch, arXiv, xkcd, Wikipedia. I try to limit my time on Reddit as best I can, but you know how that goes.

What concerns you most about where technology is headed?

I’m an eternal optimist when it comes to the future of technology. In the long run, technology unequivocally makes the world a better place. As long as people have been inventing things, naysayers have been hostile towards both inventions and inventors. But technology is solely responsible for the relatively high quality of life we enjoy today, and the rate of progress is accelerating. I’m talking about exponentially improving quality of life. If this continues (I think it will), things are eventually going to get amazingly awesome for everyone in the world, relative to our quality of life today. I guess I’d say my biggest concern is that I was born a few decades too early; that I might not live long enough to see it all happen.

What excites you most about where technology is headed?

Amazingly awesome everything for everyone 24×7! Ray Kurzweil and K. Eric Drexler are about as close as I come to reading science fiction these days, but I recommend their books for anyone seeking a dose of unrestrained technological optimism.

Is there anything else you would like to add?

I’m not on a contract at the moment so I’m working on some ridiculous machine learning experiments, like trying to predict the stock market with PyBrain. It’s really very silly. Anyway if you’re good at math, have a sense of humor, and are interested in teaming up on an educational project of some kind (or better yet a client wanting to pay me a small fee to do this kind of stuff for you), please give me a shout! I’d be glad to hear from you.


  • Jefferson Sutton

    James Shields is being way too modest. He’s one if the best if not the best programmer I’ve ever had on a team. I would work with James again in a heartbeat.