Steering Council nomination: Emily Morehouse

Nominated by: Nathaniel Smith

From Nathaniel:

Emily was recently promoted to core developer after a number of years of “paying her dues” (I think she’s been attending the language summit longer than I have?). New contributors are a crucial part of any project, and a place where Python core has struggled; Emily’s first-hand experience here makes her an excellent choice to represent this segment of the community on the steering council. And while she’s new(ish) to Python core development, she brings an impressive resume of technical and organizational skills, including founding and running a successful software development business, and managing Axios, an open-source JS library with ~15 million downloads/month. (To put this number in some kind of rough context: on PyPI, 15 million downloads/month puts you in the top 25 most popular packages, ahead of projects like numpy and django).

Governance Mandate Qualifications:

A few areas of experience that are relevant to the Governance Mandate:

  • Experience with language and compiler design
    • I studied Computer Science (along with Theatre and Biochemistry, but that’s another story) at Florida State University where I discovered a penchant for programming languages – I was enamored with language theory, history, and design. From there, I conducted a thesis on State-Flow Grammars - a new approach to a more user-friendly LL(k) parser for context-free grammars. I’ve dug into CPython’s parser and compiler internals to implement PEP 572.
  • Experience managing contributions and releases for a popular JS library with ~15 million downloads/month.
    • Axios is analogous to Python’s Request library; it’s seen as the defacto library for making HTTP requests. I’ve gotten a lot of exposure to assisting new contributors and creating an environment where all users feel like they can issue PRs and fix the issues they encounter while maintaining (and increasing) the quality and stability of the library
  • Experience mentoring new developers and organizing PyLadies/Python meetups
    • I previously ran the PythonTLH, PyLadiesTLH and TallyJS groups before moving to Colorado. I’ve started the PyLadiesDenver group and assist with organizing Boulder Python. I’ve seen how critical diversity and outreach are, as well as changes that need to be made from the top down to ensure that environments are inclusive. I’ve also mentored 20+ developers who were either in or recently graduated from code schools, which has helped me learn to adapt communications to effectively work with someone who has been programming for 30 weeks or 30 years.
  • Experience as a new core developer
    • I’ve recently been through the trenches of navigating core development and some of the hurdles to being successful in this arena, as well as ways to ensure that contributing to CPython is accessible

Employer:
I’m employed by Cuttlesoft (co-founder, co-owner, Director of Engineering). When Cuttlesoft started in 2014, we were mainly a Python shop. Over the years, we became increasingly stack agnostic - there were times where Python just wasn’t the right tool. Each project goes through an analysis phase where we ensure that the best technology stack is decided upon, which ensures that we’re keeping up to date on options outside of Python. Understanding the landscape of other languages and tools is an important part of guiding Python’s future.

Online Presence:

14 Likes

Edit: question moved to Question for Steering Council candidates

Awesome! Good to see you throw your hat into the ring. :slight_smile:

-eric

2 Likes

Mod note: If anyone came here from an external link, please read this Update on moderation before posting, thanks.

2 Likes

Emily is also the author of the PEP 572 implementation which is huge, highly technical and complex: https://github.com/python/cpython/pull/10497

I hope that we will be able to merge it soon to have enough time to play with it early in the devcycle. Saldy, I don’t feel able to review it, it is not my expertise area. I don’t know compilers well enough.

2 Likes

Emily merged it in master, the first alpha release of Python 3.8 will have her implementation of the PEP 572 (assignment expression), cool!

1 Like

For those who don’t know me as well, you may also be interested in reading my blog post on how I became a core developer: http://emilyemorehouse.com/blog/015-my-path-to-becoming-a-python-core-developer/

9 Likes