How Python Is Used To Build A Startup At Wanderu with Chris Kirkos and Matt Warren

The Python Podcast.__init__

Episode | Podcast

Date: Sun, 14 Oct 2018 21:00:00 -0400

<h3>Summary</h3> <p>The breadth of use cases that Python supports, coupled with the level of productivity that it provides through its ease of use have contributed to the incredible popularity of the language. To explore the ways that it can contribute to the success of a young and growing startup two of the lead engineers at Wanderu discuss their experiences in this episode. Matt Warren, the technical operations lead, explains the ways that he is using Python to build and scale the infrastructure that Wanderu relies on, as well as the ways that he deploys and runs the various Python applications that power the business. Chris Kirkos, the lead software architect, describes how the original Django application has grown into a suite of microservices, where they have opted to use a different language and why, and how Python is still being used for critical business needs. This is a great conversation for understanding the business impact of the Python language and ecosystem.</p> <h3>Preface</h3> <ul> <li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li> <li>When you&#8217;re ready to launch your next app you&#8217;ll need somewhere to deploy it, so check out Linode. With private networking, shared block storage, node balancers, and a 40Gbit network, all controlled by a brand new API you&#8217;ve got everything you need to scale up. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&amp;utm_medium=rss">podcastinit.com/linode</a> to get a $20 credit and launch a new server in under a minute.</li> <li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&amp;utm_medium=rss">site</a> to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at <a href="https://twtiter.com/podcastinit?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li> <li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&amp;utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&amp;utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li> <li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&amp;utm_medium=rss">podcastinit.com/chat</a></li> <li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Matt Warren and Chris Kirkos and about the ways that they are using Python at Wanderu</li> </ul> <h3>Interview</h3> <ul> <li>Introductions</li> <li>How did you get introduced to Python?</li> <li>Can you start by describing what Wanderu does? <ul> <li>How is the platform architected?</li> </ul> </li> <li>What are the broad categories of problems that you are addressing with Python?</li> <li>What are the areas where you chose to use a different language or service?</li> <li>What ratio of new projects and features are implemented using Python? <ul> <li>How much of that decision process is influenced by the fact that you already have so much pre-existing Python code?</li> <li>For the projects where you don&#8217;t choose Python, what are the reasons for going elsewhere?</li> </ul> </li> <li>What are some of the limitations of Python that you have encountered while working at Wanderu?</li> <li>What are some of the places that you were surprised to find Python in use at Wanderu?</li> <li>What have you enjoyed most about working with Python? <ul> <li>What are some of the sharp edges that you would like to see smoothed over in future versions of the language?</li> </ul> </li> <li>What is the most challenging bug that you have dealt with at Wanderu that was attributable in some sense to the fact that the code was written in Python?</li> <li>If you were to start over today on any of the pieces of the Wanderu platform, are there any that you would write in a different language?</li> <li>Which libraries have been the most useful for your work at Wanderu? <ul> <li>Which ones have caused you the most pain?</li> </ul> </li> </ul> <h3>Keep In Touch</h3> <ul> <li>Matt <ul> <li><a href="https://twitter.com/matthewwwarren?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">@matthewwwarren</a> on Twitter</li> <li><a href="https://www.linkedin.com/in/matthew-warren-9bb5798/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">LinkedIn</a></li> </ul> </li> <li>Chris <ul> <li><a href="https://www.linkedin.com/in/chrisjk/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">LinkedIn</a></li> </ul> </li> </ul> <h3>Picks</h3> <ul> <li>Tobias <ul> <li><a href="https://www.jetbrains.com/datagrip/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">DataGrip</a></li> </ul> </li> <li>Matt <ul> <li><a href="http://www.chacarero.com/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Chacarero</a></li> </ul> </li> <li>Chris <ul> <li><a href="https://docs.python.org/3/library/pdb.html?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">PDB</a></li> <li><a href="https://github.com/gotcha/ipdb?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">IPDB</a></li> <li><a href="https://github.com/inducer/pudb?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">PUDB</a></li> <li><a href="https://code.visualstudio.com/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">VSCode</a></li> </ul> </li> </ul> <h3>Links</h3> <ul> <li><a href="https://www.wanderu.com/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Wanderu</a></li> <li><a href="https://www.northeastern.edu/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Northeastern University</a></li> <li><a href="https://en.wikipedia.org/wiki/C%2B%2B?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">C++</a></li> <li><a href="https://www.perl.org/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Perl</a></li> <li><a href="https://en.wikipedia.org/wiki/Microservices?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Microservices</a></li> <li><a href="https://www.postgresql.org/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">PostgreSQL</a> <ul> <li><a href="https://www.dataengineeringpodcast.com/postgresql-with-jonathan-katz-episode-42/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Data Engineering Podcast Episode</a></li> </ul> </li> <li><a href="https://www.mongodb.com/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">MongoDB</a></li> <li><a href="https://www.djangoproject.com/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Django</a></li> <li><a href="https://nodejs.org/en/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Node.js</a></li> <li><a href="https://golang.org/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Go-lang</a></li> <li><a href="https://aws.amazon.com/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">AWS</a></li> <li><a href="https://en.wikipedia.org/wiki/Extract,_transform,_load?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">ETL (Extract, Transform, and Load)</a></li> <li><a href="https://en.wikipedia.org/wiki/Data_warehouse?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Data Warehouse</a></li> <li><a href="https://en.wikipedia.org/wiki/Graph_database?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Graph Database</a></li> <li><a href="https://twistedmatrix.com/trac/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Twisted</a> <ul> <li><a href="https://www.pythonpodcast.com/twisted-with-moshe-zadka-episode-170/?utm_source=rss&amp;utm_medium=rss">Podcast Episode</a></li> </ul> </li> <li><a href="http://www.gevent.org/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Gevent</a></li> <li><a href="https://scrapy.org/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Scrapy</a></li> <li><a href="https://virtualenv.pypa.io/en/stable/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Virtualenv</a></li> <li><a href="https://www.ruby-lang.org/en/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Ruby</a></li> <li><a href="https://github.com/rbenv/rbenv?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Rbenv</a></li> <li><a href="https://boto3.amazonaws.com/v1/documentation/api/latest/index.html?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Boto3</a></li> <li><a href="https://api.mongodb.com/python/current/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">PyMongo</a></li> <li><a href="https://www.ansible.com/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Ansible</a></li> <li><a href="https://pip.pypa.io/en/stable/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Pip</a></li> <li><a href="https://en.wikipedia.org/wiki/Transport_Layer_Security?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">TLS</a></li> <li><a href="https://cryptography.io/en/latest/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Cryptography</a> <ul> <li><a href="https://www.pythonpodcast.com/episode-93-cryptography-with-paul-kehrer/?utm_source=rss&amp;utm_medium=rss">Podcast Episode</a></li> </ul> </li> <li><a href="https://github.com/pypa/setuptools?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Setuptools</a></li> <li><a href="https://www.openstack.org/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Openstack</a></li> <li><a href="https://requests.readthedocs.io/en/master/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Requests</a></li> <li><a href="https://pypi.org/project/pycountry/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">PyCountry</a></li> <li><a href="https://en.wikipedia.org/wiki/SOAP?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">SOAP (Simple Object Access Protocol)</a></li> <li><a href="https://en.wikipedia.org/wiki/XML?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">XML</a></li> <li><a href="http://jinja.pocoo.org/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Jinja</a></li> <li><a href="https://www.openssl.org/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">OpenSSL</a></li> <li><a href="https://docs.pytest.org/en/latest/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">pytest</a></li> <li><a href="https://feeds.fireside.fm/pythonpodcast/rss">Bandit</a> <ul> <li><a href="https://www.pythonpodcast.com/episode-62-bandit-with-tim-kelsey-travis-mcpeak-and-eric-brown/?utm_source=rss&amp;utm_medium=rss">Podcast Episode</a></li> </ul> </li> <li><a href="https://amzn.to/2PxZSX8?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Gang of Four</a></li> </ul> <p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">CC BY-SA</a><img alt="" height="0" src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fwanderu-with-chris-kirkos-and-matt-warren-episode-183%2F&amp;action_name=How+Python+Is+Used+To+Build+A+Startup+At+Wanderu+with+Chris+Kirkos+and+Matt+Warren+-+Episode+183&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&amp;utm_source=rss&amp;utm_medium=rss" style="border: 0; width: 0; height: 0;" width="0" /></p>