This is the first in a series of interviews about the people at Astro Code School. This one is about Caleb Smith the Astro Code School Lead Instructor. He’s the guy who writes our curriculum for our Python & Django Web Engineering class that he’s teaching this year.
Where were you born?
I grew up in Hickory, in the piedmont of North Carolina.
What was your favorite childhood pastime?
Programming DOS games in BASIC. I spent far too much time working on making an RPG I called "Water and Stone".
Where did you go to college and what did you study?
I studied Music Education at UNC-Greensboro.
How did you get into Web Development with Python and Django?
After about two years of learning C++ and front-end web development on my own, I moved to the Triangle area hoping to find a role in the tech sector. I applied for the Caktus summer internship and was able to ramp up quickly thanks to some excellent mentorship from the team. I was hired on as a junior developer after that as my first professional job doing web development.
What did you do professionally before becoming a web developer?
I taught elementary music K-5 in Asheville, North Carolina for two years. I found public school teaching really rewarding but difficult. I spent a lot of my free time doing hobby programming until deciding to pursue programming professionally.
What is one of your favorite things about Python? What about Django?
I like the readability of Python the most and I also appreciate that it is well designed but practical considerations are allowed to trump purity. It makes for a really nice language and system to work in. I like that Django makes so many details of web development irrelevant because it abstracts over them well and is also careful about correctness and security concerns.
Who are your teaching mentors and how did they influence how you teach?
I learned the most from Dr. Randy Kohlenburg, my trombone teacher at UNC-Greensboro. Dr. Kohlenburg thinks a lot about pedagogy and taught us a lot about how to apply those ideas in our own teaching. He's the best mentor I've ever had.
Is there a connection between music and computer programming for you?
When I was about 12 I became really interested in music, joined band, and pursued music education in college. While taking music theory courses, especially in post-tonal analysis, I thought of ways to automate the work involved. I wrote some simple BASIC programs to help double check my work. I rewrote this later in C++ and yet again in Python, which I eventually released as the sator library on PyPI. Through this work, I realized that I had a strong interest in programming that went beyond my initial interest of making games as a kid.
Do you have any hobbies?
I still play trombone and guitar when I can find the time. I've recently been trying to pick up khoomei. (Editor: A type of throat singing.) I'd like to eventually do something with programming and electronic music.
Which is your favorite Sci-fi or Fantasy fiction? Why?
Sci-fi. "Dune" and "Neuromancer" are two of my all-time favorites, and some recent works like "Leviathan Wakes" are great reads too. Good science fiction captures my imagination of where society might be leading in ways that fantasy doesn't, but I do like it too.