This week we welcome Alex Clark (@aclark4life) as our PyDev of the Week! Alex is fork author and project leader of pillow, a “friendly” fork of the Python Imaging Library. Alex writes at his own Python blog which is certainly worth checking out. He is also the author of Plone 3.3 Site Administration. You might also want to check our Alex’s Github profile to see what projects are worthy of his attention. Let’s take some time to get to know him!
Can you tell us a little about yourself (hobbies, education, etc):
I’ve been calling myself a “Python Web Developer” professionally for the last 10 years or so, occasionally adding “& Musician” to the end; so music is a big part of what I do, or at least think about doing, outside of Python. I’m from Baltimore, MD, USA and I attended both Loyola High School and University (College when I attended) in Maryland. It took about 10 years, but I earned my Bachelor of Science Degree in Computer Science in May of 1998. Not all who wander are lost, but in my case I had no idea what I wanted to do until I saw a room full of Digital DECStations in the UNIX lab; at that moment, I decided I wanted to be in that room and I switched my major from Accounting to Computer Science.
Why did you start using Python?
An easy one! In the early 2000s I started working at NIH (National Institutes of Health in Bethesda, MD, USA) and my small group needed a website. A neighboring group was using Plone and “the rest is history”. I built their site using Plone (Python-based CMS) and I learned all the Python I needed to know to accomplish that task. I remember at the time being impressed by the aesthetics of Python, and I began researching the language and community. To my surprise, the first PyCon had just taken place in nearby Washington, DC.
What other programming languages do you know and which is your favorite?
I’ve learned (or have been forced to learn) a lot of languages, starting in school where I took a Programming Languages class. In most classes, C was the focus but in the Programming Languages class we were forced (ahem) to look at other languages like Lisp, Smalltalk, etc. I also had to take an x86 Assembly class. After school, I learned and used Perl and my first job or two. At this point, I’d definitely say Python is my favorite language, both in terms of the language itself and surrounding community. I’m not terribly active in the community these days, but I like knowing it’s there and I do follow events. Most importantly, I still oversee the operation of DC Python, which I very much enjoy doing. Lastly, I’ll mention JavaScript because as a Python Web Developer I can’t ignore it. I’m fascinated by it, and I dabble, but is not my favorite yet and I’m not sure it ever will be; again, the Python aesthetic is superior to most if not all languages, including JavaScript. Oh, and if you can call it a language: I enjoy the occasional shell programming very much (bash, zsh).
What projects are you working on now?
I’m glad you asked. A few years back (2012) I got carried away and ended up building my first start up business: “Python Packages”; I was selected to exhibit at PyCon 2012’s Startup Row and it was very exciting and fun. Unfortunately, the start up failed but the desire to build a software-as-a-service (SaaS)revenue-generating business has not gone away. At the end of 2015, I got tired of using and paying for Harvest Time Tracking & Invoicing service. It’s a very nice service, but there were some minor annoyances that gradually began to consume major space in my head. So I rolled my own with Django & Postgresql based on my exported data. I started using it “for real” in January 2016 and it’s been amazing. The fact that I can send “Harvest-like” invoices to my clients using software I (and others, via open source) created still blows my mind. Earlier this month, I started updating the software to make it more usable by folks who aren’t me. I hope to begin selling it on January 1, 2017.
I’ll mention two other projects, too:
- Pillow (fork author, projector leader)
- Python Project Makefile (a new project I’ve been working on since early 2016)
The latter is marked “do not use”, but I’m about to flip the switch on that one and make it available for consumption (and I hope folks try, like and contribute).
Which Python libraries are your favorite (core or 3rd party)?
I’m glad you asked this one, too. I tend to enjoy frameworks and utilities more than libraries, so I’ll list these and hope they somewhat answer the question:
- Django (most of my web programming these days happens within this framework)
- Django Rest Framework (a “just works” add-on to build web services, with an interesting new funding mechanism)
- checkoutmanager (I love this utility and I use it everyday to move code from GitHub to all my various development stations)
Where do you see Python going as a programming language?
I hope Python 3 “wins” by 2020 (if not sooner). I feel like most of the drama associated with the decision to build a new non-backwards-compat version of Python has passed, and I look forward to the day when all vendors include Python 3 by default.
What is your take on the current market for Python programmers?
I don’t keep too many tabs on this (other than continuously trying to be hired as a Python Web Developer for my standard rate!) but I’m hoping that the market for Python Data Scientists continues to grow. As someone involved in the process of spending lots of $$$ on Mathworks’ MATLAB licensing each year, I hope to see Python continue to compete in this area; I want to reach the point where I can easily present Python as an alternative to MATLAB.
Is there anything else you’d like to say?
Thank you for the PyDev of the week series and for inviting me to participate!