I’m very pleased to be joined this week by Emily Morehouse.

我很高兴本周有Emily Morehouse加入。

Emily is one of the newest additions to the CPython core developer team, and the founder and director of engineering of Cuttlesoft. Emily and I talk about the recent CPython core developer sprint and the fact that she completed three majors in college at the same time! We’ll also get into her passion for compilers and abstract syntax trees.

Emily是CPython核心开发团队的最新成员之一,也是Cuttlesoft的创始人和工程总监。 我和Emily谈论了最近的CPython核心开发者冲刺,以及她同时完成了三个专业的事实。 我们还将了解她对编译器和抽象语法树的热情。

Ricky: Let’s start with the obvious: how did you get into programming, and when did you start using Python?

Ricky:让我们从显而易见的地方开始:您是如何开始编程的,什么时候开始使用Python的?

Emily: My path to programming started with falling in love with Enigma machines. Really, I stumbled into programming during college. I had recently switched one of my majors from Biochemistry to Criminology, and the department had just launched a Computer Criminology program.

Emily:我的编程道路始于对Enigma机器的热爱。 真的,我在大学期间偶然发现了编程。 我最近将我的一个专业从生物化学转到了犯罪学,并且该系刚刚启动了计算机犯罪学程序。

I was encouraged to try out the Intro To Programming course to see how I liked it. One of our final projects was building an Enigma machine simulator (in C++, mind you), and I was hooked. I decided to add a third major to take on a full Computer Science degree (more on that later!).

我被鼓励尝试“编程入门”课程,以了解自己的喜欢程度。 我们的最后一个项目是构建一个Enigma机器模拟器(请注意,使用C ++),这让我着迷了。 我决定增加一个第三专业来获得完整的计算机科学学位(稍后再介绍!)。

Since the CS program was highly theoretical and focused on languages like C and C++, I started to find ways outside of coursework to learn different things. I picked up Python working on web scrapers on the weekends and was eventually hired as a researcher where we used Python to scrape and analyze public data from various sites.

由于CS程序具有很高的理论性,并且专注于C和C ++之类的语言,因此我开始寻找课外学习不同事物的方法。 我在周末选择了在网络抓取工具上使用Python的人,最终被聘为研究员,在那里我们使用Python来抓取和分析来自各个站点的公共数据。

For me, programming spans this wide range of challenging logic and technical problems to more abstract concepts of how humans think and interact with machines and how technology can enhance our daily lives. It fills a gap between academics and art that I didn’t know I needed to, or could, fill.

对我来说,编程涵盖了范围广泛的具有挑战性的逻辑和技术问题,再到人类如何思考和与机器交互以及技术如何改善我们的日常生活的更抽象的概念。 它填补了我所不知道需要填补或可能填补的学术与艺术之间的空白。

Ricky: As you’ve already alluded to, you attended Florida State University, where you completed your CS degree. And a degree in Criminology. And another one in Theater… Did you ever sleep? One degree is hard, but three at once? I’m really curious to know your secrets and any time management hacks for studying and learning to code when you have so much else going on.

瑞奇(Ricky):正如您已经提到的那样,您就读于佛罗里达州立大学(Florida State University),并在那里完成了CS学位。 并获得犯罪学学位。 还有一个在剧院里……你睡过吗? 一度难,但一次三度? 我真的很想知道您的机密以及任何其他情况下管理和学习代码的时间。

Emily: I definitely did not sleep much. On top of all of my schoolwork, I worked a nearly full-time job and even worked as an overnight manager at our local coffee shop while still participating in theater rehearsals and performances.

艾米莉:我绝对没有睡很多。 在完成所有功课的同时,我几乎完成了全职工作,甚至还在当地的咖啡店当过夜班经理,同时还参加了剧院排练和表演。

I was able to get a research position in the CS department to eliminate some of that pressure. I was lucky to have started college with a lot of credits and tested out of a few courses, so I was technically already a year ahead, which gave me more freedom to try out courses like Programming.

我能够在CS部门获得研究职位,以消除某些压力。 我很幸运能以很多学分开始大学学习,并完成了几门课程的测试,所以从技术上讲,我已经提前一年了,这给了我更多的自由来尝试编程等课程。

It’s all very much how I was raised. From a very young age, I knew that my day started around 7 a.m. I went straight from school to rehearsals and dance classes, then had to do homework until I fell asleep. I had to learn how to retain information and figure things out quickly—and I had to stay organized, so I made a lot of lists.

这完全是我的成长方式。 从很小的时候起,我就知道我的一天从早上7点左右开始,从学校直接去排练和舞蹈课,然后要做功课直到睡着了。 我必须学习如何保留信息并快速解决问题,而且必须保持井井有条,因此我列出了很多清单。

I’ve asked my parents how I came to be this way, and they just shrug! I’ve always felt very in control of how I spend my time to ensure it’s what I want to be doing, and I think that’s important when staying so busy. You have to want to be doing everything, or else things will fall by the wayside.

我问我的父母我是怎么变成这样的,他们只是耸了耸肩! 我一直在控制自己如何度过的时间,以确保这是我想要做的事情,我认为当保持如此忙碌时这很重要。 您必须要做所有事情,否则事情会掉到一边。

I definitely suggest finding a manner of keeping to-do lists and prioritizing your time. I use an app called Bear (like a simplified Evernote, but with programmer-friendly themes and markdown support) along with a lot of task prioritization.

我绝对建议找到一种保留待办事项清单并优先安排时间的方式。 我使用了一个名为Bear的应用程序(类似于简化的Evernote,但具有程序员友好的主题和降价支持)以及许多任务优先级。

I also figured out that I learn things quickly by writing them down multiple times. I used this method to memorize lines for shows. I’d white-out my lines then go back and physically write them down from memory on a separate piece of paper, rinse, and repeat. I got to the point where if I wrote something down 1 to 2 times, it’d stick.

我还发现我可以通过多次写下来快速学习。 我用这种方法来记住节目的台词。 我会清空行,然后将其从内存中物理地写到另一张纸上,冲洗并重复。 我的意思是,如果我写下1到2次,它会坚持下去。

Ricky: You are the co-founder and director of engineering at Cuttlesoft. It looks as if you started the company before finishing college. What was your motivation for starting your own business instead of applying for junior software developer jobs straight out of college?

Ricky:您是Cuttlesoft的联合创始人兼工程总监。 看来您是在大学毕业之前就创办了公司。 您开办自己的企业而不是直接从大学申请初级软件开发人员职位的动机是什么?

Emily: Cuttlesoft was a matter of circumstance. I never imagined I’d run my own company, especially not alongside my now-husband Frank. I was in a weird timing limbo where I’d finished my undergraduate degrees earlier than expected which meant that I missed all of the grad school deadlines.

艾米丽: 考特软件是一个环境问题。 我从来没有想过要经营自己的公司,尤其是不能与现任丈夫弗兰克一起经营。 我正处于一个奇怪的时光边缘,在那里我完成本科学位的时间比预期的要早,这意味着我错过了所有研究生课程的截止日期。

FSU agreed to let me jump in and start my Masters there, and my intention was to stay for a year then transfer elsewhere where I could continue working with parsers, compilers, and formal verification. I was also getting recruited by huge tech companies, and I was a bit enamored with the idea of living in San Francisco or Boston. (I’d only ever lived in Florida at the time.)

FSU同意让我进入那里开始我的硕士课程,我的意图是待一年然后转移到其他地方,在那里我可以继续使用解析器,编译器和正式验证。 我也被大型科技公司招募,我对住在旧金山或波士顿的想法有些着迷。 (当时我只住在佛罗里达州。)

But then Frank and I had found our way into this budding entrepreneurship ecosystem in Tallahassee. We met a few people who became great mentors, and before we could even get our Is dotted, we had our first couple of clients. I thought, “Why do I want to leave all of these people who are invested in my future and success to go be one of the thousands somewhere else?”

但是后来,弗兰克和我找到了进入塔拉哈西这个崭新的创业生态系统的途径。 我们遇到了几位成为出色导师的人,在我们还没被点破之前,我们就有了第一批客户。 我想:“为什么我要离开所有那些为自己的未来和成功而投入的人,成为成千上万的其他人中的一员?”

I figured that I should take the chance on starting something of my own and continuing on this rapid growth path. I knew I’d learn a lot more in a shorter amount of time than I would almost anywhere else. So I dropped out of graduate school after my first semester and put all of my time into Cuttlesoft.

我认为我应该抓住机会,开始自己的事业,并继续这条快速增长的道路。 我知道我会在更短的时间内学到更多东西,这比我在其他任何地方都能学到的更多。 因此,第一学期结束后,我退出了研究生院,将所有时间都投入了Cuttlesoft。

Looking back, I can’t imagine a different path for me. Soon after I turned down those job offers, Susan Fowler’s story came to light. I couldn’t help but think, “That could have been me.” I truly believe that a company’s culture is top-down, and I’m grateful to get to contribute to a company where I can make a huge impact in a positive manner.

回顾过去,我无法想象一条不同的道路。 在我拒绝了这些工作机会后不久,苏珊·福勒的故事就曝光了。 我忍不住想,“那可能是我。” 我坚信公司的文化是自上而下的,我很感激能为能够以积极的方式产生巨大影响的公司做出贡献。

Ricky: This year, you got to fulfill a dream and speak at PyCon, with your talk titled The AST and Me. I’ll admit, some of it went over my head, but I’m still learning. I got the impression that language internals fascinate you. What advice would you give to someone who is at the start of their coding journey and wants to know more about how the sausage is made? What resources would you recommend?

瑞奇:今年,您必须实现一个梦想,并在PyCon上发表演讲,主题为AST and Me。 我承认,其中有些让我头疼,但我仍在学习。 我的印象是语言内部使您着迷。 对于在编码之旅开始时想要进一步了解香肠制作方法的人,您会给他们什么建议? 您会推荐哪些资源?

Emily: Yes! I was the weird kid in university who loved the classes that most everyone else hated (Programming Languages, Compilers, Theory of Computation…). I would spend hours drawing out non-deterministic finite automata and state machines for my course notes.

艾米丽:是的! 我是大学里的一个怪异孩子,喜欢其他大多数人都不喜欢的课程(编程语言,编译器,计算理论...)。 我会花几个小时为我的课程笔记绘制出不确定的有限自动机和状态机 。

I’m a huge fan of Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages by Bruce A. Tate to get a feel for different programming language paradigms. The Dragon Book (Compilers: Principles, Techniques, and Tools) is a classic and is the backbone of so much we still use today. (Python’s compiler is based on this.) Philip Guo’s video series on CPython internals is also awesome and helped me in my journey diving into how Python works under the hood.

我非常热衷于“七个星期内的七种语言:Bruce A. Tate的实用程序语言学习编程语言指南”,以了解不同的编程语言范例。 《龙书》( 编译器:原理,技术和工具 )是一部经典著作,是当今我们仍在使用的许多书籍的骨干。 (Python的编译器是基于此的。) Philip Guo的有关CPython内部的视频系列也很棒,并在我深入探索Python如何在后台工作的过程中为我提供了帮助。

Ricky: Huge congratulations are in order, as you have just been promoted to a CPython core developer! You must be so thrilled. How was the initiation at the recent CPython sprints? Anything exciting to share or any stories to tell? Don’t worry, we can keep a secret…

Ricky:祝贺您,因为您刚刚被提升为CPython核心开发人员! 你一定很高兴。 最近的CPython冲刺是如何开始的? 有什么激动人心的分享或故事要讲? 不用担心,我们可以保守秘密...

Emily: Thank you! The CPython Sprint was a lot of fun. It’s rare that we get so many core developers in the same room working together. We’re all incredibly grateful for the PSF and this year’s sprint sponsor, Microsoft, for supporting CPython.

艾米丽:谢谢! CPython Sprint很有趣。 我们很难在同一个会议室中让这么多核心开发人员一起工作。 我们都非常感谢PSF和今年的冲刺赞助商Microsoft支持CPython。

I was able to attend sprints and Language Summits at PyCons past and had the chance to get to know a lot of the group previously, so this sprint felt surprisingly normal, but it was super cool to see and work with everyone in person.

我过去曾参加过PyCons上的冲刺和语言峰会,并且有机会认识以前的很多人,所以这种冲刺令人惊讶地很正常,但是当面与每个人一起工作并与他人合作真是太酷了。

I spent most of the sprint implementing PEP 572, the (in)famous assignment expressions PEP, with Guido’s guidance. No matter which side of the fence you fell on with assignment expressions (or I as lovingly now call it, the walrus operator), it’s been incredibly cool to add new syntax to the language and deep dive into the internals to get variable scoping to work as intended. It will be in the alpha versions of 3.8 early next year, so keep an eye out!

我在Gudo的指导下花费了大部分sprint来实现PEP 572 (著名的赋值表达式PEP)。 无论您是使用赋值表达式(或者我现在称之为“ 海象运算符” )在篱笆的哪一边,为语言添加新语法并深入研究内部结构以使可变作用域发挥作用都是非常酷的如预期。 它将在明年年初的3.8 alpha版本中使用,所以请注意!

One of my favorite parts of the sprint was getting to know more about the history of CPython. Since the beginning of my path in core development, I’ve found that it’s really interesting to hear the stories of how others became core developers, so I pose that question to everyone I can.

在sprint中我最喜欢的部分之一是了解有关CPython历史的更多信息。 自从我进入核心开发之路以来,我发现听到别人如何成为核心开发人员的故事真的很有趣,因此我向所有人提出了这个问题。

Understanding everyone’s journey and motivations for devoting so much of their time and energy to a project (especially those who have been involved since the very early days) is an important step to understanding how to continue growing the group and increasing diversity.

了解每个人将其大部分时间和精力投入到一个项目上的过程和动机(尤其是那些从很早就开始参与进来的人)是了解如何继续扩大团队和增加多样性的重要一步。

Ricky: Now for my last question: what other hobbies and interests do you have, aside from Python? Any you’d like to share and/or plug?

Ricky:现在,我的最后一个问题是:除了Python之外,您还有其他爱好和兴趣吗? 您想分享和/或插入任何内容吗?

Emily: I try to take advantage of everything Colorado has to offer in my spare time—coming from Florida, I’m still totally enamored with the Rocky Mountains and love hiking. Denver is also a great foodie city.

艾米莉(Emily):我想利用业余时间科罗拉多所提供的一切—来自佛罗里达州,我仍然完全被落基山脉迷恋,喜欢徒步旅行。 丹佛还是一个美食家城市。

When I make the time for it, I also really enjoy yoga, reading, listening to podcasts, playing video games (though I’m still slowly working through the most recent God of War), and trying to keep my houseplants alive. I also enjoy spending time with my husband and our dog—they’re my world.

当我抽出时间时,我也非常喜欢瑜伽,阅读,听播客,玩视频游戏(尽管我仍在慢慢地学习最新的战争之神),并努力使我的室内植物活着。 我也喜欢和丈夫和我们的狗共度时光-他们就是我的世界。



Thank you, Emily, for joining me this week. You can follow Emily’s work on Twitter or Github. Find out more about her company, Cuttlesoft, here.

谢谢艾米丽(Emily)本周加入我的行列。 您可以在Twitter或Github上关注Emily的工作。 在此处查找有关其公司Cuttlesoft的更多信息。

If there’s someone you’d like me to interview in the future, reach out to me in the comments below, or send me a message on Twitter.

如果您希望将来有人采访我,请在下面的评论中与我联系,或者在Twitter上给我发送消息 。

翻译自: https://www.pybloggers.com/2018/11/python-community-interview-with-emily-morehouse/

Emily Morehouse的Python社区访谈相关推荐

  1. SegmentFault 社区访谈 | 依云: 一只想依偎在云上的野百合

    社区访谈的上期说到上帝有明是如何通过他的个人魅力撩得妹纸归,回忆传送门,不过逗得了妹纸笑,引得了汉纸拜(唔,崇拜的拜,不是拜天地的拜)这种境界也不是一般人所能达到的,逗得了妹纸笑,清蒸看来需要一点天赋 ...

  2. Python社区专访Mike Driscoll

    Welcome to the first in a series of interviews with members of the Python community. 欢迎使用Python社区成员进 ...

  3. Python社区采访Michael Kennedy

    This week, our Python community interview is with none other than Michael Kennedy of Talk Python to ...

  4. python 社区-谈谈Python社区7种治理方案

    原标题:谈谈Python社区7种治理方案 之前Python之父Guido van Rossum突然决定卸任,我写过一篇 Python 之父为什么要退出决策层?以及我的思考 谈了下自己的一些感想.这段时 ...

  5. 不错的Python社区

    http://python.cn/ 不错的Python社区,可以加入Mail列表 Python 参考手册

  6. 中国最大的python社区-一个将会是国内最高品质的 Python 社区,大家一起来见证...

    缘由 最近几个月对 Python 非常感兴趣,找了一圈,并未找到品质较高的 Python 开发者社区.不是界面太乱.年久失修.管理缺失.就是商业化太严重,实在提不起兴趣久待.趁着这股热乎劲,就创建了 ...

  7. 中国最大的python社区-python最大数

    广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. 腾讯云 api 全新升级3.0 ,该版本进行了性能优化且全地域部署.支持 ...

  8. 中国最大的python社区-python 最大堆

    广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. 最大堆是指最大的元素在堆顶的堆. python自带的heapq模块实现的 ...

  9. python社区问答网站与设计django

    社区问答网站为用户提供在线信息发布服务,系统包括前台和后台. 前台用户可以先进行注册,填写个人的基本信息提交到后台,后台把数据保存到数据库.管理员对会员的信息进行验证后,会员通过验证后的用户名和密码进 ...

  10. Python社区专访Ali Spittel

    Happy 2019! For our first community interview of the year, I'm joined by Ali Spittel. 2019年快乐! 在我们今年 ...

最新文章

  1. AI与基因科学的对话:从“人工智能”到“动物智能”
  2. 【 FPGA 】FIR滤波器的采样速率与系统时钟速率不同时的资源消耗分析
  3. Fedora 33更新异常:Errors during downloading metadata for repository ‘updates‘
  4. listen()函数中backlog参数分析
  5. 一幅图看懂Python编程
  6. php get 返回源码,php源码 fsockopen获取网页内容实例详解
  7. OpenGL indirect material间接材料的实例
  8. 安装翻译_【现象】面对日益增多的外国人 日本安装远程翻译设施
  9. mysql模式匹配用什么关键字_MYSQL模式匹配:REGEXP和like用法
  10. 基站位置查询系统_木牛导航网络基站服务免费了!——更便捷、更高效、更省心!...
  11. log4j2自动删除_登录样式:log4j 2,上下文,自动清除…全部不附带任何字符串!...
  12. Cntlm安装和配置心得
  13. 大数据(1)---全球100款大数据工具汇总(前50款)
  14. Android学习--广播机制
  15. JQuery 自定义选择器 详解
  16. 关于SDWebImage
  17. elementUI表格合并行数据
  18. c语言.jpg图片转成数组_JPG图片怎么转换成PDF?可以试试这些转换方法!
  19. 长期宅在家的人都有什么比较好的室内锻炼的方法?
  20. 撩妹方式,你值得拥有!!

热门文章

  1. 如何培养卓越的执行力
  2. Java中三元运算符
  3. 手游服务器微信互通,9月14日部分服务器数据互通公告
  4. Matplotlib绘制立方体示意图-伪三维
  5. oracle 挖掘日志,使用Oracle的Logminer工具进行日志挖掘
  6. linux 无线网卡 频段,Linux 网卡配置 (频段、发射功率等)
  7. 利用电脑玩android版天天连萌刷高分 二,利用计算机玩Android版“天天连萌”刷高分(二)——图像识别...
  8. Nicholas C. Zakas:我得到的最佳职业生涯建议
  9. Jenkins的安装及使用
  10. B2C模式电商案例分享