面试

与Semyon Atamas聊天:Fortran插件开发人员和市场技术主管

Semyon Atamas是JetBrains Marketplace的技术主管。在采访中,他与JetBrains品牌营销组的许永庆(音译)分享了自己的故事。他谈到了他的工作,以及他的Fortran插件和它背后的一些有趣的故事。


Semyon Atamas, Fortran插件开发人员和市场技术主管

您的工作在市场团队中的技术领先涉及什么?
我的主要责任是选择每个部分使用的技术市场发展。现代web应用程序有三个主要层次:前端、后端和后端基础设施。有人必须熟悉他们所有人来制定项目的愿景。我跟踪我们使用的所有技术,并处理有关技术和基础设施的高级问题。此外,我还负责整个平台的开发方法,以及如何将其与其他服务进行整合。我也是一名软件开发人员,我的部分工作是在Marketplace后端。

Marketplace与以前的插件库有何不同?
JetBrains Marketplace是插件库的演变。它比旧的插件库有更多的功能,范围更广,因为它涵盖了JetBrains产品的全部组合,包括付费插件和免费插件,等等。JetBrains有一个插件库已经有很长时间了,因为IntelliJ基于平台的ide的插件已经存在超过15年了。但是在很长一段时间里,存储库并没有得到积极的开发。几年前,我的同事Mikhail Vink提出了市场的概念。从那时起,我们完全重新设计了我们的应用程序,并更新了整个技术堆栈。我们为IntelliJ平台以及我们所有的其他产品提供插件,我们很快会添加非插件服务。我们也有一个新的功能水平。插件开发者现在可以看到他们插件的验证结果,以及一些下载和购买的统计数据。最重要的变化之一是付费插件的引入。 That’s why it’s called Marketplace.

社区在Marketplace中创建插件的积极性如何?
Marketplace中95%的插件来自社区,几乎所有付费插件都是社区创建的。大多数插件创建者都是个人,而不是组织。不幸的是,相当多的插件没有定期维护或更新。我们知道人们必须投入大量的时间、精力和精力来支持他们提供的插件。这就是我们引入Marketplace的原因。市场提供了一种同时支持插件和插件开发者的方式。通过Marketplace,开发者可以出售他们的插件,获得帮助以提高插件的覆盖面和可见性,并使用我在前面的问题中提到的附加服务。这使得他们能够花更多的时间在插件开发和改进上。

对于JetBrains来说,Marketplace意味着什么?
Marketplace的主要目标是围绕我们的产品培育扩展生态系统。我们希望有更多的插件,我们希望现有的插件始终保持高质量。我们拥有的插件越多,IntelliJ IDEA等产品的通用性就越强。

你已经为Fortran开发了自己的插件。为什么使用Fortran插件?它是如何产生的?
每次我说,“我做了。Fortran的一个插件人们问我:“为什么?”但我有明确的理由。我知道Fortran是因为我在大学学习物理的时候用过它。几年前,我问那些仍在学习物理并使用Fortran语言的朋友,“你们为什么不使用IntelliJ IDEA呢?”必须有一个Fortran插件。”但事实上,没有。那时,我决定为Fortran开发一个插件,因为我知道在某些领域仍然需要它。还有一个关于Fortran插件是否有用的问题。我的回答是“是的”,因为这个插件是为JetBrains产品的粉丝设计的,而且它与CLion调试器的集成相当不错。

在哪些领域仍然使用Fortran ?
Fortran通常用于银行、物理和其他需要大量计算的领域,比如天气预报。我偶尔也会发现使用这种语言的其他新领域。有一天,我收到了来自我的Fortran插件的一个用户的电子邮件,他模拟了用于制作精酿啤酒的细菌的生长。他说他使用Fortran进行模拟,这使得他的模拟器比其他的更快。

这是你开发的第一个插件吗?
是的,这是我的第一个插件。

你是唯一一个做插件的人,还是有人和你一起工作?研发多久了?
我在JetBrains的暑期实习项目中提出了一个Fortran插件。一开始我以为我不会很快找到任何人,因为这是一种非常古老的技术,目前只在特定的领域使用。但是有一个物理专业的学生,他理解我的项目和Fortran语言。我和他一起开始了这个项目,我很高兴我遇到了一个理解我的想法并能和我一起开发它的人。我总共花了大约一年的时间,其中两个月是暑期实习期间的全职工作,10个月是我20%的“个人项目”时间。

你喜欢插件开发的哪些方面?
为语言编写正式语法。从我的观点来看,这是一个很好的体验。我不得不说,由于强大的Intellij API,我能够专注于语言特定事项。此外,关于开发插件的最大事情之一是JetBrains产品的现有用户基础,这意味着有很多人将准备好拨出您的插件。您还可以在软件开发中看到您的工作结果,我真的很喜欢。这些是关于插件开发和发展的最酷的事情,从我的角度来看。

你遇到过什么挑战吗?
是的当然。Fortran是一种古老的语言,所以没有官方的Fortran语法。此外,还有一个所谓的“固定”Fortran形式,忽略空格,并具有用于语句标签的前五列。在现代世界中,我们无法想象这样的语言,对我们如何支持这种语言的严重担忧。我们终于找到了一个解决方案,但这是项目的一个具有挑战性的部分,插件仍然没有涵盖写入FORTRAN代码的所有可能方法。

为什么继续支持Fortran很重要?
继续支持任何现有编程语言的工具是很重要的。这通常是JetBrains的方式:支持人们需要和使用的技术和编程语言。Fortran仍然有大量的用户。使用IDE不支持的技术是非常痛苦的。没有合适的工具是很难工作的,使用Fortran这样有70年历史的技术更是难以置信。我知道这个插件仍然在使用中,因为我收到了很多反馈,以及等待更新的用户的问题。

你对其他想要开发插件的人有什么建议?
我的第一个建议是检查我们为插件开发人员创建的所有资源,并保持耐心。开始开发插件很容易,例如使用Intellij平台插件模板.但Intellij API非常大,可能会吓唬新人。我们理解,所以我们正在尽力让它更容易开始。例如,还有一些有用的工具,用于集成正式的语法工具.如果你要制作一个支持特定语言或技术的插件,你必须阅读和学习很多东西。但这最终也是有趣和有益的!

其次,逐渐学习至关重要。从我的角度来看,它是开发插件的最佳方式,因为它已经有很多intellij平台。如果你想实施一些功能,也许有人已经完成了类似的东西。您可以搜索具有的插件开源代码,看看它们,并试图弄清楚它们是如何实现某个特定功能的。这对你来说会容易得多。

另外,加入我们的插件开发者社区;社区可以帮助你很多。Marketplace团队也在这个Slack中,所以如果你有关于Marketplace本身的问题,你可以在# Marketplace渠道中问他们。

谢谢你Semyon !
了解你在JetBrains Marketplace的角色真是太棒了。感谢你分享你的插件背后的精彩故事,并为新的插件开发者提供如此棒的建议。我希望更多的插件开发者和用户能够利用JetBrains Marketplace,我也期待着在Marketplace中看到新的特性。


JetBrains品牌营销部长许永庆