65.9K
CodeProject 正在变化。 阅读更多。
Home

开发者面试:Val Polouchkine - 开发者倡导者

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.71/5 (7投票s)

2016年3月30日

CPOL

4分钟阅读

viewsIcon

16009

欢迎来到我们持续进行的 CodeProject 开发者访谈系列。在本系列中,我们将与开发者们交流他们的背景、项目、兴趣和令人头疼的问题。在本期访谈中,我们采访了 Twitter 的开发者布道师 Val Polouchkine。

Val Polouchkine 是一位“改过自新”的 C# 开发者,目前在 Twitter 担任开发者布道师。他的工作重点是支持 Twitter 的移动工具集:Fabric 和 fastlane。在此之前,他曾是 Xamarin 的客户成功工程师,在那里他帮助数十家公司首次涉足移动开发领域。他的目标是传播关于开发五星级移动应用的优秀信息。

你是谁,做什么的?

我叫 Val Polouchkine,在 Twitter 担任开发者布道师。作为一名开发者布道师,我编写代码、在会议上发表演讲、组织活动、协助开发者支持,并维护我们的文档。我专注于为 iOS 和 Android 开发者提供的两个工具集:Fabricfastlane

Fabric 帮助移动开发者构建最佳应用。它提供了 SDK(或者按 Fabric 的说法是 kits),可以解决诸如崩溃报告、实时分析、用户认证等常见挑战,以及许多其他问题。我们在自己的应用(如 Periscope)中大量使用这些 kits。

Fastlane 是一个工作流自动化套件,可以节省应用开发中的测试、构建和发布阶段的时间。使用 fastlane 可以轻松自动化生成 ipa/apk 文件以及管理签名证书和配置文件的任务。它也很适合集成到持续集成周期中。

在加入 Twitter 之前,我在 Xamarin(最近被微软收购)担任客户成功工程师。在此之前,我曾是一名软件开发者,主要从事 Web 和移动开发。

您偏爱的开发环境是什么(操作系统、语言、编辑器等)?

这很大程度上取决于我正在编写的软件类型。我最近写了不少 Swift 和 Ruby 代码,所以对于 Swift,除了 Xcode 之外别无选择(是的,我尝试过 AppCode)。对于 Ruby,我最近切换到了 Atom,一个由 GitHub 开发的开源编辑器。我所有的开发都在 OS X 上进行,并使用 zsh 作为我的 shell。

您喜欢该环境的哪些方面?

我对 Xcode 有一种爱恨交织的关系;有些功能设计得非常好,而另一些则差强人意。

Atom 是一个基于 Electron(一个用于构建桌面应用的框架)的可扩展文本编辑器。它拥有一个充满活力的社区,因此有大量的插件可以使开发者的生活更轻松。我发现 linter 插件非常宝贵。另一个基于 Electron 的有趣项目是微软的 Visual Studio Code

zsh 是 bash 的一个替代方案,macOS 默认会安装它。zsh 标准内置了一些不错的功能,例如文本补全。还有一个 oh-my-zsh 项目,提供了大量的插件和主题,可以进一步自定义这个 shell。

您以前使用过什么,是什么促使您切换的?

多年来我写了不少 C# 代码,所以我对 Visual Studio 始终情有独钟。然而,对于 Ruby 开发来说,它相当臃肿,所以我更喜欢使用更轻量级的工具。我也曾使用 Xamarin Studio 进行 iOS 开发,但在开始写更多 Swift 代码后,就切换到了 Xcode。

您认为新开发者应该知道的一件事是什么?

利用开源社区的力量。我非常喜欢 Libraries.io 项目,它聚合了不同语言和技术中的开源项目。更进一步,尝试参与您在代码库中使用的项目。根据文章“Popular GitHub Applications 的卡车因子是什么?首次评估”,133 个流行的 GitHub 项目中有一半以上仅依赖于一到两名开发者。提交 bug、提交 pull request、改进文档——积极参与。

您最讨厌的编码习惯是什么?

我编码时最头疼的问题就是缺少文档。我自己也犯过这个错误,因为有时很难理解几个月前自己写的代码。通过注释和 readme 文件记录代码,对于任何(包括你自己)未来需要维护代码库的人来说,都是巨大的帮助。

您对哪些新工具、语言或框架感兴趣?

我最近一直在玩 Go。Go 是 Google 开发的一种开源语言,专为系统编程而设计。我觉得它相当优雅,即使存在一些明显且经常被讨论的缺失(如泛型)。如果您想尝试一下,我推荐 Donovan 和 Kernighan 的著作《The Go Programming Language》。如果您想编写一些针对 Twitter API 的代码,可以看看 go-twitter 库。

在 Swift 方面,我正密切关注 Swift Package Manager 的发展。

您从事开发者工具开发已经有一段时间了(Xamarin、Fabric、fastlane)——您认为什么才是一个好的工具,而您自己觉得您正在开发的工具中最有用的东西是什么?

我欣赏那些既能被初学者也能被更高级用户使用的工具。例如,在 iOS 上,Fabric kits 通过一个独立的 Mac 应用进行安装和管理。它非常易于设置和使用。然而,一些用户更喜欢在代码依赖管理方面掌握更多的主动权。因此,我们提供了通过 CocoaPods 来集成新 kits 的方法。这样,用户就可以选择最适合他们工作流程的方式来使用该工具集。

© . All rights reserved.