作为 Pinterest 的软件工程师,你的工作涉及什么,你使用什么技术?

它因团队而异,但作为广告团队的全栈工程师,我不得不构建两个 Web 前端,
ads.pinterest.com

分析.pinterest.com
;设计和实现 Python Thrift 服务作为广告数据库和前端之间的 API;为计费编写 Hive 工作;使用 Bender(Pinterest 内部编写的 Go 库)对我们的堆栈进行负载测试;优化我们的数据库和 API 服务以提高规模和性能;设置工具和系统…
感谢A2A!我在 9 个月前加入 Pinterest,目前在广告团队担任工程师。
自从我加入以来,我就拥有了我们计费系统的所有权。我的一些工作旨在强化和自动化这些系统,以跟上 Pinterest 上越来越多的广告商。其他工作旨在提高收集率和我们打击推广内容垃圾邮件的能力。我还使我们的系统更加灵活并开发了工具,以使我们的合作伙伴团队能够帮助广告商在扩大 Pinterest 支出时在支付方式之间进行转换。
乍一看,计费似乎并不像实际那样具有挑战性。困难在于它集成的系统(内部和外部)的数量:信用卡支付处理器、财务团队使用的工具、处理计费事件的离线数据工作流、支持自助服务平台的服务以及广告 API、我们的反垃圾邮件系统、我们的异步任务队列等。另一个挑战是处理由于支持多种支付方式、多种类型的促销产品和具有不同配置文件的多种类型的广告商而导致的业务逻辑的复杂性(使用我们的自助服务平台的广告商、API 广告商、拥有托管账户的广告商)并且系统的出错空间绝对为零。另一方面,在计费方面工作是非常有益的,因为我知道 Pinterest 赚的每一分钱都流经我拥有的系统。此外,计费是一个非常明显的项目,我与整个组织的许多团队结盟 [1]:工程、产品、广告运营、财务、客户经理等。
作为广告团队的工程师,我有很大的自由来处理其他项目。到目前为止,我编写了一个新的广告服务分片来满足我们优质的语音份额产品的保证,我进行了广告排名实验,现在我正在努力改进目标。
我定期使用 Python、Go 和 Java 编写代码,偶尔使用 Javascript 编写代码。 Tracy Chou 已经提到了我们在广告堆栈中使用的大部分技术。
我还可以做很多随机的事情,比如管理广告团队的社会预算(是的,我负责我的队友在滑冰上的所有瘀伤),接待很棒的实习生、面试、代码审查和待命值班.
在 Pinterest 成为一名工程师是一次非常棒的经历(我有一个很长的参考清单)。如果你也很棒并且想加入我们,请给我发私信。
[1] 针织是 Pinterest 的核心价值观之一。您可以在此处阅读有关我们价值观的更多信息:Pinterest 职业。