
在一个小的初创公司或与朋友一起的宠物项目中看到一种新的,至今鲜为人知的编程语言是司空见惯的。 您会问他们为什么选择它,他们会说您只是出于好奇而学习,喜欢它并决定进行实验,因为您对工作中永恒的Java / .Net / JS感到厌倦。
但是,如果一家公司用“国际业务”,“全球办事处”,“生产力崇拜”,“结果对我们很重要,而不是流程”,“我们需要精明的眼光和发展的愿望”这样的短语来谈论自己,通常他们不需要等待惊喜。 一些人甚至在新技术上增加了非标榜,直到他们在行业中占了上风。 在对有关工具的缺点的质疑中,他们回避地说:“主要是人,而不是语言。”
拥有约400名开发人员的Wrike使用不同的方法。 他们并没有对JavaScript的缺点视而不见,甚至没有选择折衷方案,例如Flow或TypeScript-而是采用了一种完全激进的方式。 他们将前线改写成一千种当时几乎不知道的语言,而且看来他们仍然对自己绝对有信心。
在My Circle IT 的最佳雇主排名中, Wrike以4.82的平均评分在中型公司中名列第三。 公司最受高度评价的质量包括:社交套餐,舒适的工作条件,与同事的关系,充足的薪水和专业成长。

-Wrike由Andrey Filev于2007年在圣彼得堡成立。 然后他开始在美国硅谷发展业务。 那时是完全不同的公司,现在我们发展了很多。
最初,Andrey拥有一家外包公司。 他们开始在其中寻找可以使其更有效地工作的软件-管理时间和资源。 当时还没有真正出色的工具,因此想到了创建自己的工具。 然后Wrike出生了。
我们从简单的事情开始,但是逐渐地产品开始增长。 这是12年前,可以说我们参与了此类工作管理系统的市场形成。 现在,全球已有18,000多家公司使用Wrike。
-那个外包公司还存在吗?是的,它叫做Murano Software。 但是她与我们无关。 Wrike是一家成熟的单一产品公司,它是在外包公司框架内进行的实验,但是飞速发展并迅速分离。
“他们还在那里使用它吗?”是的,还是。
什么是W
Wrike是一个广义的项目管理和协作平台:从个人待办事项列表到适合大型公司的系统。
在内部,您可以创建包含许多任务和子任务的项目,设置用于数据收集的报告,显示甘特图,跟踪日历中的任务,以及与其他参与者同时编辑它们。 Wrike附加组件可帮助您实时管理工作量或运行复杂的多渠道营销活动。 有一个API可以集成到其他工具中。 有一些扩展,例如Adobe Creative Cloud的扩展。 它使您可以在不离开系统的情况下查看和评论文件。
Wrike并不试图专注于特定职能,行业或专业。 它被定位为适用于所有事物的通用工具-可以取代邮件系统,信使,知识库,错误跟踪器等等。
-散焦于所有人,使一切变得更糟吗?-我们刻意不要进入狭ni的壁ni。 例如,我们不想为像Jira这样的开发人员专门制作错误跟踪系统。 我们不想只为程序员或设计师设计软件。 我们对制造通用产品感兴趣。 同时,我们了解到,我们没有涵盖一些高度专业化的案例。
但这不是我们的目标-取悦所有人,或完全占据IT领域。 尽管我们正在开发Wrike,但仍将其用作任务系统和错误跟踪器。
-也就是说,您可以使Bug跟踪器更快,使Messenger更快,但是它将是五个不同的工具,并且很难在它们之间进行同步。
-但是您必须与所有人竞争。 一方面是Atlassian。 松弛的使者-另一方面。-是的,现在只有懒惰的人不在开发项目和产品管理系统。
-但实际上,没有多少公司可以与我们竞争。
-Atlassian不是那样的吗?-他更专注于IT市场。 例如,对于设计师Jira来说太复杂了。
定制非常困难。 甚至还有一个职业-Jira设置经理。 我们会尽力确保您访问该网站并获得一个免费帐户,仅此而已-从第一天起,您就可以毫无问题地使用它。
-但是您说您还与客户密切合作,还直接与建立流程的经理进行合作。是的,我们有一个由客户成功和部署经理组成的团队,以及旅游,指南,电子书和各种文档的整个系统。 有一些经理可以帮助您为现有流程配置Wrike。 有时他们与大型一对一客户合作。 有时会立即进行许多活动(例如,录制网络研讨会)。 即使一个人注册了一个试用版并且不了解该产品,他仍将有机会与其中一个人聊天并了解其工作原理。
-通常,
将产品引入拥有数千名用户的公司是另一项任务。
-碰巧,其中一位大客户很难吗?通常,公司规模越大,工作流程就越多-工作就越困难。 我们当然不是外包。 没有什么钱袋会这样说:“这里有很多钱给你,做我这样的事。” 我们的产品经理自行确定产品开发路径。 但是有些客户提出了有趣的要求。
例如,Airbnb在非常罕见的情况下使用该平台。 每个公寓和每个出租的人都是在Wrike中一个单独的项目。
或汽车公司Coil [名称更改]。 客户从他们那里订购备件。 向这些人提供Wrike帐户只是一个主意。 您将不会是Coil的每个所有者都要做您的帐户。 但是该公司确实希望有一个与客户合作的便利机会。
当然,我们并没有说现在我们将为他们提供这样的功能。 但是管理者意识到她将改善整个产品。 对于没有Wrike帐户的人,这就是“外部请求表”的显示方式。
-原来,您为Coil做过[名称更改],但它适合其他所有人吗?“不是真的。” 我们同时分析了市场并进行了假设-此任务位于潜在的路线图中。 如果有一个根本不适合我们的要求,我们将不会这样做。
毁灭战士的内部结构

我们致力于Scrum。 该公司按功能分为团队-每个大约10人。 它们的组成不同,但是每个都有后端,前端,Scrum-master,QA,QA自动化,UX设计器,产品负责人,产品分析师(分析师有时会组成几个团队)。 这样的组合物是完全功能性的,并且可以使特征相互之间。
有内部团队制作框架,组件,设计套件,并参与从一种编程语言版本到另一种语言的过渡。
有些团队是整个公司的共同点。 例如,这些是用于服务器基础结构的SysOps和DevOps-它们用于部署和产品交付。 我们每天发布1到3次。
我们还将部分公知的Spotify结构与公会一起使用。 例如,前端,其中前端由所有团队组成。 有涉及管理和体系结构的前端线索。 并且有公会线索。
我们尚未达到将其与团队隔离的地步。 但总的来说,这是合乎逻辑的和有机的。 现在,具有较高技术架构技能的人员都在基础架构团队中。
Wrike并非真的与官僚结构有关。 但这并不意味着我们国家正在发生混乱。 如果一个人做自己喜欢的事并且做得很好,那么无论他担任什么职位,他都会有成长的机会。
-在哪个办公室做什么?-在圣彼得堡和沃罗涅日的工程研发办公室。 我们在圣彼得堡有400人,在沃罗涅什有40人,在圣地亚哥的圣何塞设有办事处。 今年将在布拉格开设办事处。 最近在都柏林增设了办事处。 今年1月,在澳大利亚墨尔本开设了办事处。

-在美国办事处,我们设有销售部门,市场营销经理(CSM)。 都柏林也有CSM和销售部门。 还有一个分析师团队。 在圣彼得堡-最大和统一的办公室。 在这里,我们有客户服务经理,产品经理,分析师,设计师,开发和后台支持。
-每个人都在办公室工作吗?还是您可以开到偏远的地方?-远程Scrum命令非常困难。 我们希望人们保持亲密和相互联系。 在可能涉及远程工作的部门(例如,客户支持)中,我们对员工的限制不大。
-开发中的Udalenka-争议点。 现在有很多关于它的讨论,在英语Twitter中我们经常讨论这个话题。 有优点也有缺点。 我们认为,还有更多的“缺点”。 作为团队经理,对我来说,要确保生产力和共同精神,成长和培训远程员工,将是一件困难的事情。
我们的时间表相当灵活,人们坐在办公室的时间绝对不会从十点到六点。 如果有站立的机会,请客气-过来,当它过去以及需要多长时间时,团队会自行选择。 如果发生任何事情,也没有问题-该人写道他在家工作。
-产品为国际产品时,通常需要开发人员具有良好的英语知识才能与客户交流。-我们没有客户,我们不是外包商。 该公司是国际性公司,部分沟通确实以英语进行,但这并不适用于所有人。 对于俄罗斯的开发人员,我们对英语没有特殊要求。
每月召开一次会议,我们讨论公司的所有变化和财务状况。 支持人员的交流以英语进行。 带有客户错误的票证当然也是用英语的。 对于那些想收紧或学习一门语言的人来说,这是一个机会-我们与老师一起上课,对于雇员来说他们是自由的。
但是我的意见是,如果开发人员昨天没有开始开发,他至少会在阅读文档方面懂英语。 没有舌头,您甚至无法搜索任何东西。
当然,开发人员可能没有真正的英国口音,并且身后没有牛津大学,但他们通常会说和读一些东西。
为什么Dart比JavaScript和TypeScript更好
-现在所有这些都是一个庞大的复杂系统。 但是它是很久以前从内部开发中发展出来的,此后发生了很大变化。 因此,现在没有架构错误的计算会影响生活吗?-当然,这个项目很大。 在后端,我们有一半或200万行Java代码。 前端也是可比的。 但是我不知道一个人可以提前五年设计出该系统,而且它的开发无需重建。
碰巧有东西掉下来。 有时我们意识到两年前是愚蠢的。 但这从工程师的角度来看是自然的。 还怎么
-因此,有些内部团队会定期重写旧零件。
-是的,我有时会说我们需要坐下来进行重构,否则它将射击,以至于一切都会被射击。 我们坐下来重构。 建筑会干扰-我们制造建筑。
-你的筹码是多少?-在Java后端上。 SQL数据库。 在前端,有趣的事情。 曾几何时,我们拥有JavaScript,但是我们意识到它根本无法扩展,因此选择了Dart。
-您选择了什么?-飞镖 是的,这是正常现象。 Google的一种打字语言,至今已有七年历史了。 我们可能是俄罗斯最重要的传福音者。
-最重要或唯一?-顺便说一下,现在它正在积极发展。 Google推出了Flutter-这是一种仅在Dart上编写的移动框架。 我们创建并支持了一个
俄罗斯Dart社区 。 已经有大约一千五百人。 当然,按照JavaScript的标准,这不是很令人印象深刻,但是也很多。
去年12月,我们组织
了DartUp会议 -大厅很大,很多人来了。 许多人实际上在生产中使用Dart。 语言正在逐渐发展,而且非常酷。
“所以我们现在在骑马。” 说“世界上”可能是自欺欺人,但实际上是这样。 DartUp是世界上最大的Dart会议。 甚至比Google还多。
-会议有大约300人。 尽管两年前,我们似乎还是一个人在战士领域。
-这都很有趣,但是如何进行如此大规模的项目,如果您不雇用人员,则没有库或框架。-这是谬论。 最近,我们聘请了一个团队,而Dart通常是第一个编程语言。
-在Dart中,一切都在那里。 这是C#和Java类别中的一种语言-您所需的一切都内置于其中。 通常情况并非如此,那里的一切都是空的,滚滚滚滚而来。 内置的语言甚至比使用二十多年的语言还多。 库,工具,框架支持-Angular也在那里。
当然,没有像JS那样的基础架构。 但是问题是,当人们编写数百万个库时,就会得到数百万个不良库。 也许只有一百正常。
而且,如果这些库是由Google编写的,并且在AdWords和AdSense中使用Dart,那么平均质量要高得多。
该语言的优点在于它简单且类似于C。 也就是说,我们以C ++,C#,Java,JavaScript的形式雇用开发人员。 我们不需要Dart的知识。 自然,大街上没有飞镖开发商。
在我们的团队中,有一位具有C Sharp经验的开发人员,他知道。 在前线,他甚至从未写过信。 在五天内,他冲走了一个功能。 因为这种语言就像您一生都在写它一样。
无论哪种语言,开发工程师都可以很好地编写业务逻辑。
“但是人们不会开始用他们的旧语言写作吗?” 相同的JS昵称来自动态语言和静态语言。-因此,我们的选择过程并非最简单。 但是公平和诚实。
-好的,为什么语言很好?我想说它是JS中编译能力最强的类型之一。 四年前,当我们坐在前端时,大约有八个人-您至少可以用各种各样的短毛绒,规则和世界上的一切遮掩自己-但是他仍然会错过一些东西。 我们需要一个尽可能严格的静态类型。
在Dart上,如果您写错了什么,您将立即理解。 它具有较早的错误检测功能,即使没有测试代码也可以了解其是否有效。
当一个更新而另一个掉下来时,内置库中没有混乱。 因为SDK是随语言一起提供的,所以可以确保升级后一切正常。 您无需连接一百万个库即可获取流和流-所有内容都已存在。
现在,世界上有两种语言可让您为所有平台编写-移动,后端,台式机和Web。 这是JS和Dart。 JS缺点知道多少。 Dart具有很大的优势-打字。
因此,只有一种硬类型语言允许您通过正常调整为所有平台编写代码。 许多人都以Kotlin为例,但是对于网络而言,情况并非如此。
-现在您不后悔没有选择TypeScript吗?-不是现在,但是原则上我们不后悔。 我建议您在HolyJS会议上看到JetBrains的Victor Logov的报告[
发言者可能混淆了这个名字,这是Anton Lobov的报告 ]。
他们在其产品中提供TypeScript支持,并且将TS合理地放置在了那里。 在那之后,根本就没有接受它的愿望。 人们会以“让我们添加这个? 来吧。”
-我相信,请告诉我Dart有什么不好? 并非所有事物都是完美的。轻松一点 有问题,但不是语言问题,而是Google。 他们在内部使用了很多工具,这些工具不会浪费很多时间。 现在,我们与Google建立了直接渠道,我们是许多内部组织的一部分,他们正在逐渐放弃这些工具。
但这仅对我们而言非常重要,因为代码库非常大,小型项目根本没有问题。
-体验Dart之后,您不想用Go代替Java吗?-为什么? 我们根据某些参数选择了Dart。 这是一个平衡的决定。
-我们的一位发言人说,有些公司用新技术重写了一切,有些公司却赚钱。 重写本身并不是目的。 有业务任务,应该有工具来实现它们。
-我们正在尝试不同的技术。 如果在某种程度上我们了解Go可以更好地工作,那么我们将尝试。
在前端,我们正在走向独立的应用程序。 后端有一个单一存储库。 这样做有很多优点,但也有某些缺点-您可以讨论很长时间了。 我们将基于对我们的环境有用的微服务架构。
在很少有连接的地方,微服务架构可以很好地工作。 如果您有很多连接,那么微服务就会变得痛苦。 没有银弹。 为此,我们有一个完整的团队来探索在我们的环境中最适合使用的工具。
招聘工程师,而非语言专家
-要达到目标,您需要做什么?-我们邀请对他们的工作感兴趣的人。 这是陈词滥调-关于灼眼。 但是,这很重要。 即使您是一名优秀的开发人员,但您也不在乎削减什么,即使只工作10个到6个也能赚钱-这很可能不适合我们。
-我们带那些想要学习,发展的人。 如果您认为一切都已经实现,那么现在世界之王也不是我们的选择。
-由于我们拥有从开发人员到企业之间以及反之亦然的良好反馈渠道,因此“在这里工作”的方法不是很合适。 我们尝试聘请愿意发表自己的见解,意见和问题的人员。
这比让三名高级员工说“我的工作时间已到,通常您付给我的钱还不够”要快得多。 他们所做的工作少于一天在黑客马拉松上削减项目,将其投入生产的人。
-我们正在寻找关心,对前进有兴趣的人。
-所以我来找你,说我很有目的,我有很多看法,我的眼睛着火了。 我仍然戳着他们,闪着光芒,说,带我去。 那么拿走吗?-面试不是那么简单。 我们创造接近工作流程的条件,并观察一个人如何展示自己。 如果您是开发人员,则将编写代码。 如果是eychar-您将面试。
-开发人员会在面试时编写代码吗?— , , .
, , . , , , , .
: « React-», — . React, ?
, . . , JS. : « Jira Wrike. ?»
, — Go, . , . , , .
— , , « », ?— . , . . , , . — . . , .
, , . , , ? . , … — , « ».
— . ?— .
Wrike , , . , . , , , .
— ?— . Gantt-. Canvas, . , , Google — , Dart . , .
— , - , ?— . . , -. Wrike, . , - , .
— ? , 400 . ?— . — . , . Cultural fit, , .
— . , ?— -5 . — . , . , , ? , .
— , , ?— , - . , , , .
— , , . . . . , , — .
— , ?— . . - .
— , ?— . , . , , , . .
— . Wrike — safe place. Google , — . , .
, , — .
— , ?— — . . , — , .