Parallax Developer Spotlight: Jamis Buck
We’re happy to announce another developer spotlight post. This is from contractor Jamis Buck.
Hello, Jamis. Mind introducing yourself?
Sure! I’m Jamis Buck, and I love to create things. I’ve been consulting for Parallax as a software developer for about six months now. Programming has been my life ever since high school, when I started writing small programs in GW-Basic on my mother’s brand new Tandy 1000.
Old-school! Tell us more about that. Where’d you go from GW-Basic?
From there, I moved up to Turbo Pascal, and then Turbo C++, and by the time I was a sophomore at BYU I got a job writing software in PowerBuilder, building out the university’s student registration system. Realizing I could get paid to create things like this was a turning point for me! I went on to write systems in Cold Fusion (not my favorite) and then in C (which has always been one of my first loves), and then in Java.
I’ve always loved tinkering with new things, learning new technologies and programming languages and seeing how they all fit together. Around 2000 or 2001 I stumbled on an obscure programming language out of Japan, called “Ruby”, and fell completely in love with it. I authored Ruby bindings for the SQLite database, and a pure-Ruby implementation of the SSH client protocol, as well as many other things of dubious usefulness. In 2004 I attended my first Ruby conference, where I met a certain gentleman from Denmark by the name of David Heinemeier Hansson, who was presenting a new web framework of his called “Ruby on Rails”. That chance meeting led to nine glorious years working at 37signals (later Basecamp).
What did you do at 37signals?
I started out working on Basecamp itself, adding features and maintaining the existing code with David. I also helped write most of the other apps that 37signals produced during those years, including Backpack, Campfire, and Highrise.
I was also one of the early members of the Rails core team and worked on a variety of related projects, including a remote automation and deployment tool called Capistrano. Those were great times.
Still, they say that all good things must end, and eventually I parted ways with my friends at Basecamp. That was just a year and a half ago.
Where did you go next?
Nowhere specific, at least not right away! I spent a year trying new things, experimenting with starting a business with my wife, and doing some writing. I wrote a quirky work of fiction (here: http://blog.jamisbuck.org/) about a wizard (Basil) and his manservant (Fabian), in which they explore and learn about path-finding algorithms, and through that I learned a lot about my own creative process. I figured maybe it was time to tackle something more ambitious.
I’ve always had a thing for mazes, dating back to high school when a friend showed me my first maze algorithm. Later, I wrote a random dungeon generator for D&D, and later still I wrote a series of blog articles about mazes. I was encouraged (and a bit surprised) by how well they were received. In fact, those posts continue to be some of the most-read articles on my blog! I thought that maybe it was time to capitalize on that passion and see where it might take me.
So I spent nine months researching, writing, and illustrating a book about algorithms for generating mazes, titled Mazes for Programmers. It was actually just released in July! One of my favorite things has been to see all of the cool projects that people have created after reading my book.
That’s great! Are you still doing mazes?
Oh, here and there. Mazes are a bottomless topic to explore, which is one of the things I love about them. But more generally, building and creating things is kind of a theme for me. Whether it’s cooking, sewing, guitar, writing, wood-carving, string figures, or any number of other eclectic hobbies I seem to have accumulated over the years, I think something I tweeted once sums up my life philosophy pretty well:
The more I learn, the more I’m convinced that there’s nothing that can’t be learned.
— Jamis Buck (@jamis) June 10, 2014Now as a freelance consultant, I’m finding the truth of that more than ever, in every new project I take. Learning is a journey, and I can’t wait to see what life’s next turning brings!
Great, thanks Jamis. :)
You can look out for some of Jamis’ work in our upcoming open source project!