优步移动开发人员日

Run Loop是有关那些用自己的双手制作产品的人的播客。 在接下来的几个月中,开发人员将成为嘉宾,他们将在10月8日至9日的AppsConf会议上发表演讲。

在第一期中, Maxim Efimov成为嘉宾。 根据计划,他的故事是关于在Uber进行采访和工作,关于搬到阿姆斯特丹(您也想去那里)以及关于AppsConf的故事。



主讲人:Ilya Tsarev,Alexey Mileev,Roman Busygin。

Ilya Tsarev在Alfa Bank从事iOS开发,在各种会议上发表演讲。

Alexey Mileev正在开发Air的Android版本,正在领导Telegram渠道进行Android开发,并监督应用程序在AppsConf上的报告。

Roman Busygin -Yandex的iOS开发人员,曾参加许多演讲和播客,也是AppsConf计划委员会的成员。

离开Maxim Efimov 。 Maxim在Uber工作,从相识开始。

Maxim Efimov关于他自己


Maxim :我从2011年开始从事商业开发。 我在5年前的2013年离开了Android。 在加入Uber之前,我主要从事设计开发。 我来自新西伯利亚市,我从一家外包公司开始,然后搬到莫斯科,主要在俄罗斯市场从事类似项目的工作。 现在我已经在阿姆斯特丹生活了将近2年,并为Uber工作。 在这里,我们有一个开发办公室,主要处理与付款相关的所有事宜。 我的主要角色是致力于支持旅客应用程序付款的团队中的一名Android开发人员。 尽管我们正在制定付款框架,但该框架原则上是Uber基础设施中几乎所有应用程序所使用的。 我在该框架的开发中扮演着一定的角色:我们做什么,怎么做,如何构建一些流程。 这是我目前在公司中最喜欢的主要项目。

为什么超


伊利亚 :马克西姆,请告诉我们为什么选择优步? 您是如何决定要在那工作的? 您如何到达那里,现在一切都旋转了?

马克西姆(Maxim) :我以为你会问我和面试中问过的同样的问题。 很长一段时间,我们问我们的候选人一个问题:“为什么要使用优步?”。

老实说,我想在一家大公司里发展,我不仅可以在广度上成长。 外包主要是尽可能快地完成相同类型的事情。 在Uber,是的,原则上,几乎所有大型杂货公司都可以这样说,这是内陆的一些发展。 也就是说,那些事情在一个月内在小型项目中完成,然后它们以某种方式工作并提供支持,在这样的公司中,他们可以与多个大型团队一起工作数年。

当数量变成质量时,这是一些相移。 公司在开发某些产品上花费的精力最终会创造出质量上与众不同的产品。 不一定我们在谈论产品,在谈论应用程序。 它可能是某种库,开发中的某种堆栈级别或类似的东西。 它总是牵扯到我很多。 那就是:如何做大事; 在技​​术上如何组织; 在管理人员方面的组织方式; 您需要多少人来做这些事情。

优步仍然是最昂贵,增长最快的创业公司 。 一方面,这是一家已经在市场中立足的公司;它是一个知名且可识别的品牌。 这不是刚刚组织的新创业公司。 另一方面,根据我什至在那儿找到工作之前所发现的评论,这家公司的繁文tape节和企业文化仍然相当多。 就精神而言,它仍然是一家初创公司。 从市场的角度来看,它已经是一家大型公司。

另外, 我真的很喜欢阿姆斯特丹,住在这里真是太好了 。 巧合的是,我认为这是一个很好的建议,应该接受。

阿列克谢 :您在采访中提到他们一段时间后问:“为什么要使用优步?” 最受欢迎的答案是什么?

马克西姆 :这是一个难题。 当我开始采访时,我们几乎没有问这个问题。 因此,根据我的经验,我没有真实的事实。 我记得其他人怎么说。 每个人都开始说在技术公司工作真是太好了,这一切都很有趣。 然后他们被问到:“很好。 为什么不使用Facebook?” 然后乐趣就开始了。 人们说这是在Uber,不在Facebook上。 在我看来,这个问题在面试中并不完全正确。 那是:“来吧,赞美我,为什么你来找我。” 我不记得这个问题有什么好的答案,因此,一方面,它们很诚实,而且很有趣。

优步访谈


罗曼 :马克西姆,这一切是怎么开始的? 像往常一样,在LinkedIn上写了封信,还是有所不同?

Maxim :是的,LinkedIn上有一封信。 唯一不寻常的是,我是我的未来领导者直接找到的。 也就是说,这些不是寻找人才的招聘人员,而是一个特定的人,尽管很短一段时间,但后来还是我的直接老板。 他写道,我们联系了。 一轮采访已经开始。 我可以告诉我是否想知道这是如何工作的。

罗曼 :是的,听说面试过程的安排非常有趣。

马克西姆 :他那时和现在的安排几乎相同。 因此,我将告诉您我记得的最后一件事。 首先,有人找到一个人。 目前,在公司工作的人中有很大一部分是被推荐的。 也就是说,已经在职的公司员工会推荐某人,然后他进入招聘系统。 但是有些人只是通过查看LinkedIn个人资料而被招募的。

找到该人后,很明显他至少与某种职位相关,他们给他写了信。 接下来是出于共同利益的最初打电话。 第一步只是要互相了解,询问对公司是否有任何兴趣,或者有任何需要立即澄清的问题。

之后,我们将进行技术电话筛选。 这是一个小时的时间,两名工程师与应聘者就与他的专业相关的各种技术话题进行了交流。 面试的这一部分有很大不同,具体取决于候选人所申请的职位。 这是后端,移动开发人员,数据科学家-每个人的采访都有些不同。

专门针对移动开发人员,我们通常会询问一些有关软件工程师的一般问题,即计算机科学。 我们要求在线的人为一个不那么琐碎但不是奥林匹克的问题编写解决方案,以了解一个人如何实时编写代码。 自然,每个人都知道,除了采访之外,没有人能像编辑一样快地生活。 我们不希望立即看到工业现成的软件产品的样本,而是想了解一个人的想法,他为自己设定的任务,他如何解决问题以及他的思维过程如何工作

阿列克谢 :在这之后,还有另一个关于招聘的问题。 应聘者对他们将要从事的工作感兴趣的频率有多高? 代码库有多大? 它建立在哪个技术堆栈上? 有很多遗产吗? 您去Uber时有兴趣吗?

马克西姆 :当然可以。 在很大程度上,这是一个问题,“实际上,什么是真正必须手工完成的?” 如果我现在就了解您,那么您可以使用什么工具,哪些工具以及需要多少支持。 我很感兴趣 当我在公司工作时,这只是编写我们的新乘客应用程序的活跃阶段的时间,该应用程序于2016年11月启动。 然后他们在一次开放文本采访中对我说,有一个旧的应用程序。 是的,它是遗留的,可能写得不太好。 但是他们也说他们正在提出一个新的申请。

候选人也经常进入技术细节。 没错,这通常是在个人对话阶段讨论的。 如果这次面试顺利,我们会做一些功课。 只有我们的移动工程师才能做到这一点。 后端和数据科学都没有这样做。 之后,我们将进行一轮现场采访。 一天进行五到六次采访。 候选人从早上到晚上到达办公室并呆在那里时。 采访当然不会连续进行,休息和午餐时间会有所休息。 现在是时候让我们认识候选人,并使候选人认可公司了。 他不仅与团队中的工程师进行沟通。 他与经理以及其他团队的工程师进行沟通。 他可以更全面地了解他也喜欢其他团队所做的有趣的事情。

罗曼 :马克西姆,请告诉我们,在本阶段的采访中,所有阶段最激动人心的是什么?

马克西姆(Maxim) :现在我的印象已经有些模糊了,毕竟已经是几年前了。 我记得对我来说最激动人心的时刻是在去面试的两个小时前,我敲了杯咖啡。 我不记得采访本身发生了什么。 计算机科学或体系结构使我感到担忧。 但是我记得我的整个心情被这种事情打倒了。 谢天谢地,一切进展顺利。 在我看来,没有人注意到或巧妙地保持沉默。

Roman :要继续进行下去,您还记得它帮助您正确地完成了采访吗? 什么知识,你的技能是什么? 是什么让您如您所想般清晰地通过了它?

马克西姆(Maxim) :在这里,我的观点并没有完全被事实所证实。 正如您所说,这就是我认为对我有所帮助的东西。

首先,我花了很多时间在HackerRank上 ,解决所有标准数据结构,算法等方面的各种任务,只是塞满了我的手。 这非常有用,因为尽管如此,“裸露”的计算机科学在日常工作中并不常见,并且准备单独进行面试是一件好事。

其次,它是一种能够解释自己思想能力 。 解决计算机科学问题的方法是在候选人面前出现的五六分之一的面试。 例如,其他访谈包括关于体系结构,如何构建系统,使用什么方法,模式和实践的对话。 在这里,重要的作用不是知识的广度和深度,而是您可以将这些知识传达给对话者的事实。

有两个要点:

  • 经验丰富 。 到那时,我已经担任团队负责人已有一段时间了,并且经常与团队成员讨论如何做和如何做。
  • 英语语言 。 如果您在说俄语的公司和团队中工作,可能很难调整和解释您似乎知道的事情,但是很难立即用英语说出来。 对我来说,这虽然压力很大,但我当时对语言非常了解,但是在面试中讲话是一个很大的挑战。

优步私人日


伊利亚 :马克西姆,您在优步工作了一段时间。 请告诉我们您的日常工作如何。 您从哪里开始,如何结束一天? 午饭吃什么?

马克西姆 :我的一天从早上10:00开始。 我们没有固定的工作日。 通常会有一段时间召开所有会议。 根据项目的不同,可能会有一些差异。 但总体而言,我这次要去某个地方。 我要做的第一件事是连接到我们正在运行的VPN,因为我们拥有VPN背后的所有构件,并且可以删除在一夜之间所做的更改。

我们在世界各地设有数个办事处,因此经常发生的情况是,您早上来查看承诺的历史要比白天看到的要多得多,因为在美国,旧金山,在纽约,我们也有大型办事处。 通常,如果我有一些未关闭的分支,那么我将处理合并解析。

接下来是工作,具体取决于我当前正在从事的特定项目。 我不会深入探讨项目团队等的工作安排。 这将是我演讲的主题之一。 通常,早上我们要站起来。 视项目的阶段而定,可能不是每天,例如隔天间隔10到15分钟。 这是关于谁做什么,谁有问题,我们是否符合我们自己列出的时间表的小阴谋。 如果突然需要做某事,那么我们决定由谁来做,以及何时检查此操作的结果。

然后是时候吃午饭了。 碰巧的是,在荷兰习惯了很早就餐,而且人们大多早点上班。 通常在12:00,每个人都已离开去吃午餐。

此后,就我个人而言,当我从事当前任务时,我的工作效率最高,为4-5个小时 。 我去董事会,看看什么是任务,尽管通常到现在我已经知道该怎么做。 我做了一个新的分支。 在此线程中,我对代码进行了一些更改,收集了构建,查看损坏的和未损坏的。 然后,我提交提交以供审核。 他正在接受审查。 有时它会立即发生。 有时,如果您需要第三方团队的审查,则可能会拖延一天,因为另一个团队很可能在睡觉,因为它处于不同的时区。 之后,如果一切顺利,则将提交重新提交给主服务器,每个人都会感到高兴。 接下来,我进行一个新问题的下一个操作。

罗马 :当然,当您需要思考或思想无法解决时,您会在任务之间稍作休息。 当然,有些时候您可能没有坐在显示器前。 您如何度过这段时间?

马克西姆(Maxim) :首先,我们有很酷的桌子,您不仅可以坐在桌子上,而且可以站立,有时即使是很小的改动也可以。 老实说,在这个集中的工作日里,我真的不喜欢任何干扰。 早上去喝咖啡,晚上去看FIFA的人在PlayStation上的演奏,是的。 但是,尽管困惑不解,但您仍需要确定。 我可以倒水,也许和一位同事说几句话,以及几乎所有内容。 但这只是我个人的偏爱。 例如,我不知道如何在中午打乒乓球。 我需要时间休息,工作时间,然后再休息。

罗曼 :我明白了。 我注意到您在一开始就说要通过VPN连接。 也就是说,在办公室工作时,您仍然使用VPN来访问工作网络,对吗?

Maxim :在某种程度上,通过我们的办公网络可以使用某些资源,而这些资源是任何第三方外部网络都无法提供的。 但是某些资源仅可用于VPN。 我不确切知道采取这种安全政策的原因是什么。 坦率地说,为什么它被接受,我不明白。 这很方便,因为我可以使用世界各地的同一VPN来完成我在办公室所做的所有事情。

阿列克谢(Alexei) :看,这句话闪烁了一下:“我要去董事会了。” 意味着一些任务跟踪器? 如果是这样,您使用哪个? 还是将这些漂亮的贴纸粘在一个真实的物理场所,您需要上去执行下一个任务?

Maxim :通常我们使用任务跟踪器。 我们使用Phabricator。 有些团队喜欢物理板,物理贴纸,标记。 如果您必须从事这样的项目,那么我可能会做。 但是原则上,每个团队都以我们自己的方式组织。 有时候,我们的董事会(如果是一个很小的项目)可能会成为Excel中的标志,因此人们不必为所有报告和其他事情而烦恼。

我在一开始说公司还是一家小型创业公司。 根据我们当前正在从事的项目类型,我们要从中获得什么,我们在如何进行工作的方法论上仍然很灵活。

Alexey :问题是关于工作流程。 您是否以某种方式跟踪您直接坐下来编写代码的时间? 还是您可以集中进行?

Maxim :我们没有专门跟踪任务的时间。 我们会随着项目的进展进行观察。 它已经取决于谁管理这个项目。 当我担任项目负责人时,通常可以更方便地查看一周的结果。 在本周初,我们说我们想在下星期五做,我们想展示和示范。 然后,我们看一下,不管结果有与否,我们分析出了什么问题,为什么要进行管理。 从某种意义上说,如果他们重新加工,我们将比计划的做更多的事情,那么我们还将找出原因。 我从未从任何团队那里听说过关于小时数的时间跟踪,该小时数是关于开发人员的多少以及他在特定一天的具体工作。 在我看来,没有人在与我们一起这样做。

工具


Roman :这不是我第一次听说Uber使用Facebook工具,无论是Phabricator还是Buck。 这是什么原因呢?

马克西姆 :关于全球政治,我不能说。 我什至不能确定是否可以使用Facebook的工具。 巴克根据某些标准适合我们。 有一个很大的项目,要花很多时间。 有了Phabricator,我不知道。 这是在我加入公司之前发生的。 我知道有些团队正在尝试制作一些小型Jira实例,但这仍然是实验的精神。 团队使用这些工具的方式有所不同。 我们没有任何一种全球政策可以让我们使用Facebook所做的一切。

上下班之路


阿列克谢 :进一步告诉我,当您的工作结束时会发生什么。 顺便问一下,什么时候? 时间是否固定?

马克西姆(Maxim) :通常我在7点左右离开某个地方。 具体来说,这是我的时间表,我认为一段时间后它可能会朝着更早的到达和离开而变化。 很多人8点到5点。

阿列克谢 :你怎么去上班? 您是否像真正的荷兰人一样骑自行车?

马克西姆 :我就像一个真正的荷兰人,骑着自行车去地铁,然后骑地铁去上班。 现在,我们的办公室位于一个非常大的交通枢纽旁边,根本不需要自行车。 但是在那之前,我每天骑自行车经过美丽的阿姆斯特丹森林, 单程行驶12公里 。 太神奇了 因为这条路,我真的很想念那个办公室。

伊利亚 :你有多少时间上班?

马克西姆 :30-40分钟。

关于阿姆斯特丹


阿列克谢(Alexei) :您一直住在阿姆斯特丹,您最喜欢什么? 您为什么认为这个城市? 最酷的事情是什么?

马克西姆阿姆斯特丹最酷的地方是它邻近的哈勒姆市,我住了一年。 这是一个完全美好的小镇,就像阿姆斯特丹一样,只有很少的游客。 从文化的角度来看,他很酷。 尽管他很小,但仍有电影院,剧院和各种活动,每个周末都有人表演。 在人们与工作的关系,与家庭的关系方面,我真的很喜欢当地的风格和生活节奏。 著名的生活工作平衡 。 “犁”不是很习惯。 大多数人的职业并不是最重要的。 , , - , , , , 3 . , , , . - , , , , . , .

AppsConf


: . , AppsConf. , , , .

: , , , . , -, , , , .

, . , Android , iOS . - , .

, , Uber Quality assurance . . , , , . , . , , , Uber, , . , , Uber . .

AppsConf


: , ? , , . ? ?

: , . , . , , , , , . . , , , -, - , , . , , .

, , , -, , - . quality assurance, . , Uber, Uber , , - . , , . , - , - in-house. - , backend, . , .

Uber


Uber, , . Uber . , . , , . , , -. . , .

: . , . . , AppsConf , 8-9 . Appsconf.ru , . , , .

, , .

Source: https://habr.com/ru/post/zh-CN417073/


All Articles