This week we welcome Yusuke Tsutsumi as our PyDev of the Week! Yusuke is a web developer for Zillow and has been working on open source projects for several years. He has a blog where you can learn more about him as well as various programming languages. You can also check out what projects he’s been contributing to over on Github. Let’s take some time to get to know him better!
Can you tell us a little about yourself (hobbies, education, etc):
I grew up in Seattle, and love the pacific northwest. After a bit of dabbling in music in high school, I landed on electrical engineering in college. I studied analog and biomedical systems (EKGs are still one of the coolest devices I’ve ever learned about). I also ended up learning about embedding systems, which, paired with some experience in college helping improve a content management system, helped me land a position at Zillow where I work today.
At work I contribute to the tooling and infrastructure used for continuous delivery, testing and monitoring, which is certainly my passion. At home, I love to read, hike, and bicycle around the city.
Why did you start using Python?
Python wasn’t an intentional choice: I joined a development team at the University of Washington that worked primarily in Plone, which was written in Python. I recall my first project was writing a Plone plugin, after only a couple CS courses. I had no idea what I was doing! After that, I picked up an internship where I was free to use whatever tools I wanted, and I chose Python. The awesome community and libraries of the language helped me tackle all the problems that were thrown at me. From automating deployment processes, to building distributes web services, Python has been a great tool.
What other programming languages do you know and which is your favorite?
What projects are you working on now?
In Python, I’m primarily improving transmute-core (http://transmute-core.
Last year, I made the decision to stop using Emacs and adopt Atom (atom.io) as my text editor of choice. It’s always been a dream of mine to build a text editor that combines the modal editing power of VIM, the extensibility of Emacs, and focuses on eliminating using the mouse. I’ve been building an atom plugin called chimera (https://atom.io/packages/
Which Python libraries are your favorite (core or 3rd party)?
In the standard library, I’m a huge fan of asyncio. Event-driven programming paradigms work well with Python’s interpreter constrained by the GIL, enabling significant gains in memory utilization and scales extremely well in the face of long network connections. I did some benchmarking to illustrate that there is a significant performance improvement as well (http://y.tsutsumi.io/aiohttp-
3rd party, I have a lot of appreciation for Fabric (http://www.fabfile.org/). The interface was well designed, and the technical complexity to achieve stable SSH connections and command execution is enormous. I like libraries that help you solve large problems, and fabric has enabled execution of massive orchestration using the power of Python.
A little random, but as you know, I was not a computer science major. I really respect those who have a degree in the field: it’s tough, and requires a lot of hard work and dedication. I played a lot of catch up my first few years to match my peers.If you are interested in software and do not have a degree, sometimes the job market can be tough. If you find it difficult to land your first job, don’t lose hope. In my experience, the way to getting into the industry is to get really involved. Go to local meetups, blog like crazy, and write code and contribute to open source constantly. Coding is one of the few professions where ability is really the only requirement. So if you have the skills, the next step is to get yourself out there.
Thanks for doing the interview!