Not far from a real Magical Kingdom, in the enchanting city of Orlando, lives a great programmer by the name of Jeremy McAnally. By day he codes in Ruby; by night he engineers patterns for his wife's clothing design venture. And in betwixt he writes books on Ruby and Rails, manages a seriously good blog, releases Ruby libraries, and organizes Ruby conferences, bringing together the great minds of the language that he loves. But before I go off on how brilliant this guy is, let me back up and introduce you to a much younger Jeremy McAnally, of Huntsville, Alabama.
Jeremy grew up in and around Huntsville, an area that was occupied by McAnally's for at least four generations. "Huntsville is a pretty interesting area in that it has the highest concentration of PhD's in America, but is stuck in the middle of some of the most backwood areas you'll ever encounter. I grew up in Gurley, a small town outside of Huntsville, and went to a very small school with a small budget; so unfortunately my encounters with programming were scant until high school (and even then it was Pascal in a post-2000 age). My parents, (even though they were divorced) both identified that I had a knack for these new-fangled contraptions, so they invested a lot in making sure I had a computer to play with and learn from even though we often had a hard time putting food on our plates. But I think they saw potential there for me to escape our situation, so they definitely wanted to foster that."
His first run-in with programming was in the fourth grade; "I started using 1337 toolz and pr0ggi3z to punt people off AOL, make my chat pretty colors, etc. I got curious about what was possible, and I found out about this thing called Visual Basic that everyone was using. A few tutorials later, I was in business!"
When he was fourteen years old, faced with the prospect of selling newspapers door-to-door in the slums of Huntsville, he decided to lie about his age to work at rent-a-coder instead. "My family didn't have a lot of money, so I needed to start working early. I started out contracting, doing VB work for a variety of clients for a few years, along with writing some desktop software. It was lots of fun, but the money wasn't great due to the outsourcing and the race to the bottom." As luck would have it, he was able to score an invitation to an exclusively college student event that Microsoft was holding. "At that event I got a free copy of the first RTM release of VisualStudio.net. After that I progressed into doing VB.net and C# contracting, and started getting more into PHP. By the time I graduated high school, I was doing mostly PHP contracting."
Jeremy went on to college at a local state university after finishing high school in Gurley; naturally, he went in as a Computer Science major, but surprisingly he came out as an English major. "I REALLY sucked at math. So I changed to Computer Engineering, only to realize that it also required a ton of math. Then I switched to English." Meanwhile, Jeremy had met the lovely Jacki, his future wife. Jacki was studying at Johnson Bible College in Knoxville, TN, and the long distance between them was difficult. So Jeremy transferred to her college where he majored in Bible and Theology, concentrating on Teaching Ministry. He never finished his BA there; he was juggling so much PHP and C# consulting work that he eventually dropped out to focus on his career. He went on to teach himself Python and then Ruby and Rails in early 2005. He has yet to complete his BA, but he is working on it now through Troy University.
The lack of a shiny BA hasn't kept Jeremy from being insanely successful as a developer, or from being a critical member of our Ruby and Rails community. For the last decade, Jeremy has been working intimately with Ruby and Rails, contributing magnanimously to the ecosystem with useful libraries like dcov, rails-templates, and context. He has authored three books in the last few years. His first, Humble Little Ruby Book has often been compared to Why's Poignant Guide To Ruby for its creatively drawn examples and quirky writing style. He went on to write Ruby in Practice, a cookbook style reference for Ruby. Most recently, Jeremy released a self-published book, the Rails 3 Upgrade Handbook, just in time for the release of Rails 3 last month!
When Jeremy came into the Ruby community years ago, he wasted no time making himself comfortable. Now he's a regular household name among Rubyists. And if you haven't been to one of his Ruby conferences yet, there's no time like February! At this year's fourth annual Ruby Hoedown, Jeremy announced Magic Ruby, another (FREE!) conference for Rubyists, held in "Disney's Contemporary Resort" in Orlando, Florida.
"Every time I speak in public, I feel like I'm going to puke my intestines out and die in a fire." Jeremy is candid about what he refers to as his "social ineptitude", which is ironic, considering his history of organizing events and being an active member of the Ruby community. But despite his proclaimed introversion, he reveals that being in a tight community with friends and going to conferences really energizes him. Jeremy says that he was inspired to organize his own conference after attending conferences like GORUCO and MountainWest Ruby Conf. "I decided the southeast really needed a regional Ruby conference, so I organized the Hoedown. I'm excited about doing the Hoedown, and now Magic Ruby, and whatever else I can get my hands into. It's always always a good feeling to see people learning and hanging out, and creating a space where it's ok to be a nerd without it being work. Those are hard to find when you're an adult I think."
Sean Soper, Software Architect at Intridea, asks Jeremy, "What do you say to the folks who insist that a conference has to cost money in order to have value?" Turns out that Jeremy gets this question quite frequently: "I say they're crazy. I get e-mail after e-mail about, "oh you should charge for the Hoedown so you cut costs on yourself!" Or, "you should charge for your Ruby book! You could make a lot of change!" First of all, that's just not how I roll. When I approach ANYTHING, be it code, events, books, etc. I always ask myself, is there any reason I *shouldn't* just give this away. I would rather do that."
I asked Jeremy how his spirituality correlates with his work in the Ruby community. His philanthropic coding projects, free books and conferences, along with his sympathetic personality are indicative of his strong faith and entrenched morals. "You know, I never used to talk about it because I was really nervous about that. But I think because I try to be genuine about it and I'm not like, 'U IZ GOIN 2 HELL ZOMG' in people's faces, they can respect it (at least I hope they do). I like to think that I have built up a good amount of integrity in the community. I've always done my best to not rip people off, not lie to people, not be a jerk, be as helpful as possible, give as much as I can, and so on. That sort of ties back to my faith a little bit, but it's not like I'm trying to shove it on anyone. It's just a part of the lifestyle that I've chosen to lead, and I'm glad people seem to dig it rather than be repulsed or annoyed by it somehow." And then I see an opportunity to crack some joke about how he must get a lot of hate on Reddit for being a religious programmer, but he insists that Redditors have been kind to him in that department. "As for Reddit, I love it. I go there everyday. I like it a lot because they often hate the same things I hate: idiots burning qurans, fools protesting funerals, etc."
Jeremy is a software architect at Intridea, which means that he plays a pivotal role in designing and developing the architecture that supports large (and sometimes small) web applications. He's excited to be working on a new mobile app with our Director of Mobile Development, Brendan Lim. Down the road he plans to focus on additional mobile apps and will be starting in on a long-term, greenfield web development project.
When it comes to coding toolsets, Jeremy admits that his is "embarrassingly simple." He goes on to explain, "It's funny when I see people with these crazy vim setups that let them generate a complete Rails app in like 17 keystrokes or something. I use TextMate (or xcode if I'm editing obj-c but I'm trying to move that to TextMate soon too). I use it basically like a syntax highlighted notepad with a project drawer. I don't use snippets, I only use bundles for syntax highlighting. I use Test::Unit whenever possible. I use my Mac's system Ruby. If I try to get too fancy with my setup, I end up tinkering around with it too much and it gets in the way of doing real work."
Like most of the Intridea team, Jeremy works from his home office. Working from home isn't new to Jeremy though, who has only worked on-site for a couple of staffed positions in his programming career (which started at the old age of 14, remember). "I like the energy of an office, but I more often prefer the solace of my home." Unlike many distributed developers that I talk to, he prefers to work in the light. He throws open the blinds in his office windows, and codes to movie scores from Hans Zimmer, Klaus Bledelt, and even some Disney scores.
Jeremy's penchant for Disney music is endearing. He recently moved to Orlando, the city of Disney, with Jacki. "People usually move for jobs or family, but we had none of those reasons. So we thought, "why not move where we love to vacation?" Shortly thereafter they settled in their own vacationland, where they now get to watch epic fireworks shows from nearby Magic Kingdom every evening as they walk around the lake near their house. He's contentedly living out his "happily ever after." From a small boy in a financially struggling family in Gurley, Alabama, to a Ruby hero in Orlando, Florida, Jeremy McAnally is the "Rubyist next door" that we all love to love.
This post is part of a weekly series, called "Intridea Insider"