Turo(iOS)工程师生命中的一天

最近在公司全体会议上提出了一个问题:“工程师每天做什么?”? 我认为这是一个很好的常见问题,因此,我想从iOS团队的角度分享更多有关我们日常工作的信息。

首先,我想介绍一下我们的团队。 成为我们出色的iOS团队的一员,我一直感到非常自豪。 在过去的几年中,核心小组只有5名工程师,但是在过去的6个月中,我们增加了3名新的团队成员。 我们的团队是一个非常多元化的团队,来自不同的国家,不同的专业背景,在不同的办公室工作,从而建立了一个思想开放,尊重和强大的团队。

协同工作

作为iOS工程师,我们与产品和设计团队紧密合作,以构建和发布功能。 在2018年,我们发布了63个应用更新,其中包括Extras,Deluxe / Super Deluxe,UK Peer-to-peer Service,Turo Go,Search Redesign等功能。

“作为工程师,我们不仅解决问题,我们还通过构建工具来创造价值” – Matt(Turo iOS工程师)

我们是创作者。 我们在产品经理,设计师和工程师共享想法的环境中工作,并共同创造产品。

例如,我们最近为Turo Go旅行构建了全新的入住体验。 如果只显示一个,那是工程师最初提出的产品设计图,因此工程师提出了在Turo Go行程中显示哪个位置(预定位置或汽车位置)的困惑。 注意到此问题后,产品经理,设计师和工程师们齐聚一堂,讨论了这些问题,可能性以及客户在查看地图并办理登机手续时的最佳体验。 最后,设计师修改了原始设计,工程师进行了相应的更改。 左侧的屏幕截图是修订版。 突出显示的汽车图钉代表汽车的位置,可帮助用户在查看地图进行登机时找到汽车。 常规图钉可根据需要为用户提供原始的预订位置信息。

为了使我们的产品功能在各个平台之间保持一致,我们还与后端,android和前端团队密切合作。 例如,跨职能工程师聚集在一起讨论API(应用程序编程接口)实现。 我们努力为所有客户提供API级别的业务逻辑,以便所有客户的业务逻辑保持一致。 如果逻辑需要根据业务需求进行更改,则后端更改可以使所有客户都可以完成,并维持旧的应用程序版本。

最后但并非最不重要的一点是,我们的iOS团队成员每天都在同一个项目上互相支持,或者彼此支持。 在某些情况下,我们会合作进行一个大项目,将其分成几部分。 在其他情况下,每个团队成员都是受信任的并且可以独立承担项目,其他团队成员可以通过编写代码审查等方式获得支持。 作为iOS团队,我们尝试尽快检查彼此的请求请求,而不是长时间保持打开请求。 作为一个团队,我们会按时发布高质量的应用程序功能。

保持应用程序无漏洞

除了“应用程序功能”,“应用程序崩溃”,“应用程序错误”,它们可能是用户在谈论应用程序时经常使用的短语。 作为Turo iOS工程师,我们不仅构建了用户友好的功能,而且还非常在意我们的应用质量。 我可以高兴而自豪地说Turo iOS应用程序拥有99.9%的无崩溃用户。

有很多因素可以帮助我们取得出色的结果,例如代码审查,分阶段发布,应用程序性能监视,错误修复等。在这里,我想详细说明编写高质量代码如何对我们有所帮助。 请阅读我的同事Eric的“ iOS版本的新金标准:99.99%无崩溃”以了解更多详细信息。

当我在一个学校项目中工作时,“有效”足以使我感到非常高兴。 加入Turo之后,我了解到这是最基本的心态。 我们团队的惯例之一是编写良好,干净,可读和可重用的代码。 我们不会做“它可以工作,将其交付并在以后进行改进”。 我们尽可能快地发布项目,我们对自己保持着高标准。

例如,我们为Turo Go旅行体验项目制定了积极的时间表。 在编码之前,我们花了一些时间进行设计,不仅是为了获得最新的经验,还考虑了结构的稳定性,灵活性和安全性。 进行了一些调整,我们选择了一个中心控制器处理不同viewController之间的连接的版本。 每个viewController是独立的,但是可以流畅地协同工作,并且中心控制器支持流量调整,或者在将来需要时支持更多流量。

在Turo的iOS团队中,我们不仅修复了崩溃的错误,而且还密切关注用户体验的错误。 我们会优先考虑功能性错误,因为它们会阻止用户执行他们想做的事情,这是我们希望为用户提供的最低要求。 对于视觉错误,我们将与设计团队联系,获取建议并进行修复。 我们会阅读客户反馈中的可用性错误或建议,并据此确定优先级并对其进行处理,以为他们提供更好的体验。

保持团队强大

除了软件开发工作以外,以下因素还使我们成为一支强大的iOS团队。

  • 面试

有几天我们面试候选人。 面试对于帮助我们的团队成长很重要,因此我们将其作为当务之急。 面试官会为面试做详细的准备,然后写匿名反馈。 最后,所有面试官聚集在一起,对候选人进行汇报。 在每个人的努力下,过去几个月来,我们在旧金山办事处的iOS团队规模扩大了一倍。

  • 公会会议和场外活动

每个星期,所有iOS团队成员都参加(或远程加入)会议,我们将其称为iOS公会会议。 我们谈论最近的工作,以使整个团队保持最新状态,并讨论我们特定于平台的主题。

每年,所有iOS团队成员都聚集在一个地方。 我们通常谈论我们的SWOT(优势,劣势,机会和威胁),并计划明年。

  • 团队午餐

iOS团队每隔几周聚会一次(基于办公室)团队午餐,在此期间,我们不仅讨论工作,还讨论其他有趣的主题和活动。

  • 学习

Turo工程团队非常支持,并鼓励学习和自我完善。 例如,我们将获得参加世界最大的Apple开发者大会WWDC(如果我们很幸运能够赢得彩票win)的支持。

摘要

因此,这就是我们iOS工程师在Turo所做的。 我们是创作者,我们与不同的团队合作来构建高质量和用户友好的应用程序功能。 我们编写高标准的代码,相互支持,并且非常关心我们的应用质量。 我们是一支强大而有趣的团队。

Interesting Posts