30 秒看懂
Jane Street 伦敦办公室的软件开发者 Val 讲述了她加入公司的经历,以及开发者在工作中学习的知识。她解释了实习中的双向考察、代码审查中的共同责任,以及社交联系如何帮助工程师跨团队协作。
- 1基础知识与在职学习Val 认为计算机科学学位对她有帮助,但并非必需。开发者需要了解一些数据结构和算法,而同事帮助她学习了自己没有学过的知识。
- 2不需要金融背景Val 入职时既不懂金融,也不懂 OCaml。她说公司会教授员工所需的知识,包括基本金融概念。
- 3实习是双向选择实习生会体验能够展现 Jane Street 真实工作情况的场景,从而决定是否想从事全职工作。
- 4代码审查中的共同责任大多数代码由一人编写、另一人审查。审查者通过称为 seconding 的流程签核,与作者共同承担责任。
- 5跨团队联系作为桌面开发者,Val 与交易员密切合作,也使用其他团队的库和应用。工程师可以向库的作者寻求帮助或请求审查,社交联系让协作更加容易。
要点建议
- 计算机科学基础很有用,新开发者尚未掌握的技能可以向同事学习。
- Val 加入时既不懂金融也不懂 OCaml,在公司学到了所需知识。
- 实习既让公司考察候选人,也让候选人评估全职工作。
- 代码作者与审查者通过审查和签核流程,共同承担生产代码的责任。
- 工程团队之间的非正式关系让提问和互相帮助更加容易。
按章节阅读整理后的全文
背景与学习
Val 介绍自己的软件开发工作,以及计算机科学背景如何帮助了她。她讲述了如何向同事学习不熟悉的技术和金融概念。
我是 Val,在 Jane Street 伦敦办公室担任软件开发者。我于 2018 年加入公司。
我在大学学习计算机科学,这为工作打下了不错的基础,不过我认为这并非绝对必要。Jane Street 的开发者需要掌握一些知识,比如数据结构和算法。每当我遇到大学里没学过的东西,这里的同事都愿意教我。
加入时我没有任何金融经验,这也没关系。我们通常会教大家工作所需的知识。我入职时既不懂 OCaml,也不懂金融;即使你不知道一家公司的一股股份代表什么,或者不了解其他金融基础知识,也没关系。
实习是双向选择
Jane Street 希望让实习生真实了解工作情况。候选人由此可以决定全职岗位是否适合自己。
安排实习时,我们会尽量让实习生体验能反映 Jane Street 真实工作情况的场景。我们不把实习仅仅视为在一个夏天考察候选人、决定是否聘用他们的过程。这是双向选择:实习生也需要充分了解全职工作的情况,才能决定自己是否真的想做这份工作。
审查生产代码
Val 介绍代码审查和审查者的签核流程,即 seconding。作者与审查者共同对结果负责。
代码审查是我们确保生产代码正常运行的主要方式之一。大多数代码由一人编写、另一人审查,还要经过一个叫作 seconding 的流程,由审查者签核,表示自己认为代码没有问题。因此,审查者和作者共同承担责任。
跨团队合作
Val 与交易员密切合作,也使用其他团队的软件。非正式交流和社交关系有助于开发者提问与合作。
作为桌面开发者,我与交易员密切合作,他们是我的最终用户。但这并不意味着我远离其他开发团队:我会使用公司其他部门的库和应用。直接找到库的开发者,问他们怎么用,或者询问能否扩展这个库、请他们审查你的代码,都是再正常不过的事。
我们也会和其他开发者社交,经常一起吃午饭。你可能会看到来自不同团队的五位开发者坐在一起聊些日常话题,未必是代码。在工作之外认识同事,会让大家更容易提问、主动帮彼此解决问题,也更愿意一起合作。
同频道的其他文章
1:48:29EN → 简体中文
1:36:37EN → 简体中文
1:05:45EN → 简体中文
1:25:00EN → 简体中文
1:16:29EN → 简体中文
27:39EN → 简体中文