PyDev of the Week: James Tauber

This week we welcome James Tauber (@jtauber) as our PyDev of the Week. James is the founder and CEO of Eldarion. He is also the creator and lead developer of Pinax. You can about his many projects on his website. Let’s take a few moment to get to know him better.

Can you tell us a little about yourself (hobbies, education, etc):

I’m an Australian but have spent most of the last 17 years working for tech companies in the Boston area. I was originally studying theoretical physics but switched majors to linguistics half-way through my undergraduate studies. I had planned to pursue an academic career but, by the mid 90s, the Web was really taking off and I had the opportunity to be at the forefront of Web technology and standards and that’s what eventually led to me moving to the US.

I’m now the founder and CEO of Eldarion, a web application development company focused on Python and Django.

I still maintain an involvement in linguistic scholarship, particularly in relation to Ancient Greek and the Greek of the New Testament, and am currently doing postgraduate study in Ancient Greek. I also compose music in a variety of styles, both pop and classical. I enjoy travel, food, and wine and recently passed my Level 1 with the Court of Master Sommeliers.

I’m somewhat obsessed with life-long learning and have completed over 20 MOOCs on astronomy, music, molecular biology, game design, and language teaching. Whenever I’m learning something new, one of my first questions is always: how would I implement this in Python.

Why did you start using Python?

In the late 90s I was mostly doing Java but I liked to occasionally prototype stuff in Perl. I was working on my first big open source project, a typesetting engine called FOP, which I ended up contributing to the Apache project. I was using Perl to prototype the PDF generation and Paul Prescod suggested that maybe instead of Perl, I try Python, especially as JPython, the predecessor to Jython, enabled easy integration between Java and Python.

I immediately fell in love with Python and pretty much every single one of my personal projects has been in Python ever since.

What other programming languages do you know and which is your favorite?

Over the years, I’ve tried about 25 different languages but the ones I’ve done substantial work in are BASIC, Pascal, Perl, Java, Python and Javascript. Python has been my favourite for the last 18 years. Recently I’ve been dabbling in Haskell, Go, and Swift but I keep coming back to Python anytime I just want to get something up and running quickly.

What projects are you working on now?

My main open source project is Pinax, which we use at Eldarion all the time. I also have numerous personal projects relating (see to linguistics (especially Ancient Greek), music theory, and the ancient game of Go. All written in Python, of course.

Which Python libraries are your favorite (core or 3rd party)?

I think my most imported standard library module would be `collections` and that’s just for `defaultdict`. I use `defaultdict` on almost every project.

All my web application development uses Django and Pinax.

Where do you see Python going as a programming language?

One of Python’s strengths has always been the breadth of application areas it’s used in. While some languages carve out a niche for, say, web development or data science, Python is extensively used in both. It’s used in astronomy, genetics, linguistics, musicology, games, and more. So it’s a great general purpose language with a fantastic community but also really rich domain-specific libraries. It continues to grow in this regard. Particularly for someone with inter-disciplinary interests, this makes Python exciting to work with.

What is your take on the current market for Python programmers?

For reasons just mentioned, Python is an important language to know. Even if you are using a niche language in one area, it’s always useful know Python for everything else. For the last decade I’ve seen an increasing demand for people that know Python.

Thanks for doing the interview!