“ VKontakte iOS应用程序的入门门槛很高”:采访Alexei Savin



该应用程序与该应用程序不同:有些应用程序会不时使用,有些应用程序每天都会花费数百万人将它们安装在新的智能手机上。

VKontakte应用程序是第二个应用程序之一,因此很有趣的是,您可以查看内部并了解谁在使用它以及如何进行操作。 我们接受了iOS开发人员Alexei Savin的简短采访,询问了工作和生活的特点。

-你到底在做什么?
-在过去三年中,我一直在VKontakte上担任iOS开发人员。 从事与多媒体有关的任务:视频和在线广播。

“您在IT事业开始之前做了什么?”
-与许多人一样,这始于我在第一年就尝试自由职业的事实:我正在为在线商店创建页面。 然后,我和我的朋友们尝试制作自己的移动应用程序。 它被称为5月9日。 实际上,这是一张城市地图,上面标有与第二次世界大战有关的点,您可以阅读其中的每一个。 这是第一个成功-注意到该应用程序,它出现在各种主题馆藏中。

然后我逐渐转向完全外包到移动应用程序的工作。 三年前,他来到VK。

-以及购买iPhone时,您是如何专门从事iOS开发的?
-那我什至没有iPhone。 我在第二年,那时是iOS 6,买了Mac,想尝试一下。 它很时尚,有传言,我想知道编写移动应用程序是什么感觉,而且自从Mac出现以来,平台的选择就显而易见了。 但是,我也在大约同一时间试用了Android(这是Java大学课程的一部分)。 但是在iOS比较中,我更喜欢它。

-最近,我们 iOS开发人员询问了有关Apple演示的信息,我们还会问您:现在的手机是什么,演示后是否要更改它?
-现在是iPhone X,我不打算迁移到新的iPhone X,通常每两年执行一次。 明年,我可能会参加下一个。

-您如何看待iOS 12?
-有关释放是稳定的事实确实令人高兴。 更新后,感觉好像许多烦人的小错误已经消失了。 也就是说,他们决定休假一年以提高稳定性,事实证明效果很好。

-转到VK应用程序的主题:与iOS 12发行相关的工作量有多少?
-奇怪的是,在这个版本中只有几个小错误。 要支持iOS 12,您无需彻底更改任何内容。 上一次有更多工作要做,我们花了一个多星期。

-VK应用程序是众所周知的,但谁使它们变得鲜为人知。 告诉我,您的流动团队是什么?有多少人?如何安排?
-现在有18位iOS开发人员。 他们由不同的产品团队组成:有一个处理媒体的团队,有一个Messenger团队,有一个实施其他团队使用的通用解决方案的基础架构团队。 团队有两个平台的移动开发人员(每个2-3人),还有后端开发人员-总的来说,我们得到了一个完整的堆栈,可以完全涵盖他们自己的任务。 我们定期在团队之间的平台框架内进行同步,以便交流新闻和知识。

-您有大量的用户,这如何影响开发?
-您认为不太可能且未考虑到的任何情况肯定会立即显示出来,并立即在成千上万的用户上出现。 数以万计的人坠毁是令人恐惧和不寻常的,但它却产生了巨大的责任感。

-功能的想法从何而来?从被批准到在App Store发行之时,该想法会发生什么? 这一切如何发展?
-每个产品团队都有重点关注的关键指标。 例如,如果您进行实时广播,则这是每月创建的广播数量和观看次数。 在讨论功能时,我们确定其将如何影响与我们相关的指标。 只有在那之后,我们才决定是否要这样做。 然后该过程是非常标准的。 我们将其放入下一个空闲时间的计划中。 如果这是一个不错的主意,并且您想使其更快,则可以移动一些东西。 接下来,我们形成文档:设计需要什么,API需要什么。 之后,我们开始做。

-据我了解,您有一个放行列车,您能告诉我们更多吗?
-该应用程序每两周发布一次。 每个团队都应在一周初说出计划添加到此版本中的内容。 发布前五天-功能冻结,当不再有可能添加任何新内容时,如果某人未能设法完成其更改,则这些内容将不包含在此版本中。

-从技术角度看,该过程如何?代码审查和CI如何?
-我们有一个验证码,有一个配置项。 每次提交时,我们都会集会并在歌手之家的员工内部申请-总共约200名员工。 我们所有的员工已经习惯了使用应用程序的测试版本。 这样做的想法是,任何经过测试和未经验证的产品都不应进入员工的程序集。 如果在Dev中注入了一些东西,开发人员会认为该功能已经完全准备就绪:已经过测试,员工可以使用,这是一个正常的稳定版本。

由于这一点,我们从发布火车之间连续两周全天候使用该程序集的用户那里得到了真实的反馈。 这样,我们可以形成反馈。

-您有非典型的应用程序(并非每个开发人员都参与大型的社交网络),而现有应用程序距离第一年还很遥远。 您能告诉我那里有多少行代码,使用它有多困难?
-我不会马上告诉您几行代码。 但是该项目已有多年历史,这一事实会产生影响:许多遗留代码,仍然存在MRC的地方。 几乎所有解决方案都是自写的:几乎没有外部依赖项。 该应用程序具有很高的进入阈值,包括因为这个原因。

-在这样的门槛下,新开发者的入职流程需要多长时间?
-所有新开发人员最初都会加入基础架构团队,然后才加入其他团队之一。 你可以留在这里。 在那儿他们花了一个半到两个月的时间-大概是“适应期”,在此期间他们熟悉了该应用程序并做了一些不会影响某些事情的小任务。

-您将在Mobius上与我们交谈,并提供有关iOS上的视频广播的报告。 告诉我有关该项目的信息,感谢报告的产生:这个想法是从哪里来的,这是怎么发生的?
-该项目成为VK Live的单独应用程序。 当我还在大学时,这个主意就来了。 然后,我和我的朋友经常尝试制作一些演示应用程序,测试一些想法,并为此定期选择时髦的主题。 在新年之后的1月1日的一天,我们认为很久以前我们什么都没做,我们应该选择一个主题。 然后,VKontakte举行了VK Challenge移动开发竞赛,作为竞赛的一部分,提出了一些主题,并进行了直播。 我们认为我们对它们一无所知,因此尝试会很有趣。 结果,他们在几个月内制作了一个原型,然后VK Live就开始了。

-一个非常有趣的故事:学生参加比赛导致您进入VK已经三年了。 这是一个孤立的案例,还是系统地举办比赛? 那些刚刚成为开发人员的人是否有机会重复类似的成功故事? 例如,您是否拥有自己的发展学校?

-与我们定期举行各种活动,包括黑客马拉松和VK杯编程冠军。 从历史上看,在设计和开发方面曾有很多竞赛,而且我并不是唯一以这种方式进入VK的人。 没有开发学校,但是例如,最近我们在机器学习方面实习过。 将来,我们计划更频繁地举办此类活动。

-回到VK Live:与Periscope这样的竞争对手有什么区别? 用户为什么要使用您的应用程序?
-社会关系图的主要区别。 与我们合作创建广播的人将有某些观众:他们的VK朋友,他们不断与他们交流。 他们在其他站点上没有此图。

-现在该项目朝哪个方向发展?
-朝着增加互动性的方向发展。 例如,这是在广播期间添加调查的机会。 也就是说,与观众互动的其他方式。

-在像VK这样的大型项目中工作时,大量的工作难道不是对您不利吗?
-没问题。 为我们工作的人们疯狂地热爱自己的所作所为,感到为此负责,并因此而感到有些激动。 包括我 我可以整夜坐在办公室里,根本不会注意到它。 同时,我们很有可能保持工作与生活的平衡。

“除了编写代码,您还想做什么?”
-旅行。

-参观过的最难忘的地方是什么?
-在后者中-秘鲁。 马丘比丘是一个神奇,非常美丽的地方。 异常地。 我也喜欢大峡谷。

-如果您不是iOS开发人员,该怎么办?
答:我可能会尝试机器学习-这似乎很有趣,很有前途,并且将在第n年中发挥作用。

-最后一个问题。 您了解iOS开发人员应如何在当前现实中发展?
-现在,许多开发人员被“监禁”在任何特定的框架中。 也就是说,在他们的工作中,他们仅使用Facebook / Google的大型库,实际上几乎没有接触本机框架,并且并不总是了解它们的工作方式。 在我看来,尤其重要的是,设法更好地了解系统的主要组件是如何工作的,例如,相同的UIKit。

如果您对iOS上的实时广播的技术问题感兴趣,Alexey 将于 12月8日在莫斯科的Mobius会议上详细讨论这些问题。

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


All Articles