远程控制,自由与政府。 与Staply对话



几年前,Vedomosti 写了一篇有关“受保护的俄罗斯使者”的文章 ,他们打算在政府机构中实施该工具。 甚至只用一句话再说一次这个新闻,脑子里就会传来细长的锤子的声音。 想象一下,在高高的篱笆后面的某个地方,入口处有刺猬,还有两个哨兵,一些身着制服的程序员惊恐起来,为了进口替代而投入战斗。

我知道,刻板印象是一件可怕的事情。

Messenger和Beeline一起由Staply开发。 现在他们离开了这家合资企业,并将开发成果转移到新产品“移动企业”上。 事实证明,这是一个由远程工作者组成的小团队,他们对微控制的接受程度不高,以致于他们没有经理甚至团队领导就生活在他们想要的地方和需要的地方。

他们如何做到这一点,我问Staply技术总监Maxim Indykov( maks_ohs )。

该公司最近被My Circle IT评为最佳雇主,在所有十二项标准中平均得分为4.81,其中Staply员工是最高评价的现代技术,足够的薪水,专业成长,对工作成果的认可以及与最高管理层的沟通。




什么是订书钉



马克西姆·英迪科夫(Maxim Indykov)

“这一切始于大约六年前。” 我毕业于信息技术ITMO。 这是所有学科的大杂烩,包括课程开发,历史,哲学,数学,物理学,程序设计。 然后我们和他们一起想做些有趣的事情。 我们进行了几次尝试,第一个具有重要意义的项目称为Cloudiverse。

与他一起,这些家伙在Tec​​hrunch黑客马拉松比赛中获得了第二名。 底线是这样的:获取一个文件,在浏览器中将其分解成碎片,每个碎片都被加密,然后将这些加密的碎片发送到不同的云中。 一块在Dropbox中,一块在Google云端硬盘中,而该块仍保留在本地。 要将所有零件组装回去,您需要知道钥匙并知道零件在哪里。

根据斯诺登的说法,这是在大肆宣传的背景下完成的。 但实际上,从技术角度来看,该项目对我们而言更有趣-当时在客户上进行的工作量非常大。 但是随后安全主题以某种方式消失了。

-是您的炒作还是某种信念?

-根本不是炒作-只是一个不错的奖励。 乐于做一个有趣的项目。 当我们展示它时,每个人都感兴趣。 这似乎是一个简单的想法,但与此同时,它在人们的脑海中也得到了很好的体现。 在这里,文件被拆分,仅保留了一个字符集。 完全不要犯错。

-您是如何进入TechCrunch的?

-刚刚发送了一个请求。 在线免费获得门票并进行注册。 我们总是尽力做到尽可能简单。 没有寻找解决方法,没有棘手的方案。 为什么选择TechCrunch? 我想尽力而为。 在那些日子里,这是一次很好的炒作马拉松。

那时我们很少-三个人。 我(开发人员),设计师,组织者。 还有一个人,他处理专利。



一切进展得很快。 在我们开始开发用于对应的服务聊天之后,类似于Slack。 他们只是做成了一个方便的信使。 就在那时,在第14年的某个地方出现了一个有关进口替代的故事。

我们在Rosenergoatom和莫斯科地区的政府中对该产品进行了测试。 主要功能是它安装在内部服务器上。 完全盒装的解决方案。 它使您能够真正安全地进行通信,因为根本无法访问Internet。 因此,大公司已经尝试过了。

他们在Vedomosti中写道,有关这个主题的消息传了几条。 我们自己写了很多文章-在“ Habr”上,在VC上-不知何故是PR。 他们从来没有买过任何广告,只是制作了具有很好素材,有趣主题的文章。 我写过关于编程的文章,我们的律师迪玛(Dima)写了关于项目法律历史的文章。 他们与社区分享了我们所知道的。

当时,我们没有足够的资源来进行开发和支持。 我们中的人很少,我们开始扩展,寻找人才,组建团队,学习一切。

Staply目前正在做什么产品


现在,Staply已拥有三种产品-Octaplan商业报价编辑器,Emny是VK的求职服务之一。 主要产品是移动企业。 这三个都是由三十个人组成的团队。

“移动企业”是为中小型企业提供的服务,其中包括一整套工具:员工聊天,呼叫跟踪,呼叫分析,任务设置系统,CRM系统,记事本,广告分析等等。

“用例非常简单,” Maxim说。 “企业主将数字放置在广告中-报纸,广播,电视上。 为每个号码分配一个单独的通道;为每个号码进行呼叫。 员工可以在那里分析应用程序,并继续与那里的客户合作。

他可以为团队设置任务,例如回电客户,签订合同,指导客户完成销售渠道,更改看板上的状态。

对于此客户,员工可以在聊天室中分组讨论,创建讨论。 聊天室有一个迷你垫,用于存储整个笔记团队共有的信息。”

就像Maxim所说的那样,该服务的主要特点是它很简单,您不需要配置任何东西,并且所有东西都已经可用。

-每个人都使用Slack的事实呢?

-这是一个完全不同的利基市场。 尽管我们正在开发类似的东西,但是我们从未与他们竞争,没有为自己设定这样的目标。

-为什么?

-对于喜欢进行各种集成(例如配置某些东西)的人来说,Slack是一件事情。 我不仅在谈论IT社区,而且我认为它在很多地方都被广泛使用。 而“ Mobile Enterprise”是一种产品,适合那些不喜欢配置任何东西,不知道如何做或不想做的人。

首先,这是该地区的中小型企业。 人们希望一切立即可用。

-您会怎样使用自己,与他人交流?

-我们正在开发的产品-在“移动企业”中。 我们每天都使用它自己了解哪些问题,需要改进的地方。 好吧,用于通话的Skype是不可或缺的部分。 他会更简单吗?

-我听说您曾尝试在美国首次发射Messenger,但没有这么做。 怎么了

-当仅仅是开始时,我们尝试为整个世界努力。 本地化发挥了很大的作用。 产品在不断变化,您需要支持两种文本,翻译。 在那个市场上,我们没有全面的工作。 他们的文章非常简单-有了文章。 黑客新闻可能是主要的流量来源。

IT用户是第一个测试者。 但是没有专门针对企业的出路。 而且没有成功,可能是因为重点已经转移到俄罗斯。 显然,这在这里也很有趣,还有很多事情要做-给仍然使用Excel甚至记事本的人们一些简单的服务。


远程处理个人责任


-远程分发是怎么发生的?

-从事这项业务的每个人都住在圣彼得堡。 设立办公室的目标从未实现。 但也总是在远程。 我只是想组建一个好的团队。 在编程方面,很多优秀的人住在喀山的叶卡捷琳堡,新西伯利亚。 因此,他们组成了一个完全远程的团队。



最初,我们为自己设定了尽可能避免微管理和控制的任务。 微控制可以杀死公司的有机环境。 当每个人都在九点起床,坐在办公室,分发任务,开始执行任务时,他们离开了,他们无法随意离开某个地方,将工作推迟到以后。 因此,我们试图避免控制,到目前为止,我们已经成功了。

-在我看来,对于许多公司而言,这听起来像一场噩梦-在没有控制的情况下和没有办公室的情况下工作。

-我们甚至没有经理和团队负责人。 如果没有燃烧的东西,那么一个人可以随身携带,去某个地方放松一下。 如果可以预见,没问题。 一个人可以从哪里方便地工作。

但是对于某些人来说也很难。 当有办公室时,每个人都会为您组织所有的日程安排和工作。 在这里,您必须自己做。 不要回收自己,需要时自己动手。 这是每个人都应负的重大责任。 没有人为您安排生活。

-怎么办?

-当没有来自上,下和侧面的压力时,对他们的诺言,行动和言辞的责任就凸显出来。 现在,在任务设置系统的框架中,各种KPI都将个人责任推到了后台。

我们都彼此信任,并且知道这个人在这里-如果他说他愿意这样做。 如果他没有时间,那么他会说他没有时间。

-如果他没有呢?

-单独考虑。 没有控制权,但是这个过程适度。 观察,结构决策。 我们只有三十个人。 也许您仍然可以应付这样的团队。

我们一直试图不尽可能增长。 有时候项目中会有更多的人,但是后来一切都变得模糊了。

-您分配了哪些城市?

-我们的设计师住在意大利。 然后-彼得,莫斯科,叶卡捷琳堡,克拉斯诺亚尔斯克,克拉斯诺达尔等。

-时区不干扰吗?

-不 我们不需要9到6个固定工作。 您只需要执行您承诺要做的事情,与团队建立共同点,并为每个人商定一个方便的时间。

我们的创始人也坐在家里,在城市见面。 和团队一起-通常在会议上。 假设我们在一个会议上坐了一天,听着,第二天我们已经在讨论协作中的工作。 在莫斯科,“餐桌”可能是此类聚会的最佳选择。

碰巧一个人工作六个月后,您甚至都不知道他的长相。 开会很有趣。 您看起来像这样:“您好。 是你吗 我们答应在喷泉见面!”

-你们如何划分团队?

大约相等-5至6人。 一个开始开发该项目的人是一个知识中心-围绕它,有一个对当前开发它感兴趣的团队。 公司内部的项目是开放的,每个人都可以看到正在发生的事情,提供帮助或也可以参与开发。

团队是可变的,但每个人仍然只能在其产品领域工作。 当开发人员同时处理三个项目时,这非常令人沮丧和疲惫。 他们从各个方面都希望他有所帮助。 我看到十个人挂在其他公司的员工上,他们的职业倦怠很糟糕。

“你这么说,看来你有完全的自由。” 随心所欲,随心所欲,随心所欲。 没有管理者,没有压力。 但是,当我在HeadHunter上阅读您的页面时,给人的印象完全不同。 截止日期,路线图,日常通话。

-压力是自己产生的。 但这与定制开发不同。 在那里,客户提出要求,有必要安排一个这样的日期,他将为完成的工作付费。 这不是很强的动机。 好吧,他会付钱给公司,但是开发商对什么感兴趣?

但是,当团队知道在某个日期已经从合作伙伴处购买了广告时,就知道团队也在那里工作并在等我们-内部动力,责任感出现了。 您已经没有为金钱和截止日期而工作,但是您有责任确保其他人也能成功。

内部压力会组织人们。 团队本身开始提供做什么,如何分配以及如何跟上。

-这不会模糊职责吗? 开发人员开始编写信函,而不是编写代码,而是考虑组织问题。 最后,什么也做不了。

-确实有这种情况。 但是还有另一面。 有时,一个人已经写下了自己的部分,并帮助组织内部的工作。 真是太酷了-他很高兴了解那里真正需要的东西。 毕竟,对于经理来说,通常是这样的:“给我一个位置,我会考虑的。” 程序员在这里处于流程内部,并且知道在哪里可以做什么。

这是我们实际上没有团队负责人的问题。 蒂姆利德(Timlid)表现出了自己的勤奋技巧,如果仍然有沟通,建立关系的能力,他会自动成为领导者。



-没有经理,没有潜在客户。 但是,作为技术主管,您现在正在做什么?

-上一次,主要是通过雇用。 面试要花很多时间,特别是如果您需要花几轮时间。

通常-只是开发,观察的技术审核。 我可以快速制作原型,我知道我可以在一天内制作出来,所以我可以制作特征原型。

对于工作,我们使用概念服务,我们在那里充分维护我们的知识库,并绘制各个阶段。 因此,我正在组织这些阶段,与合作伙伴交谈。 总的来说,我尽量不让自己了解知识。 当您学习某些东西并将其快速放入知识库中时,一切都会变得容易得多,尤其是在远程团队中。

-在经典方案中,当经理正在等待状态并且发布客户是开发人员时,即使他们对质量不满意,他们也可以跨过并完成它。 在您的情况下,永无止境的完美主义不会绽放吗? 什么时候还不是高质量,并且没有必要紧急扔掉?

-如果可以出于质量考虑而推迟该术语,那么我们最好推迟。 截止日期没有进行测试和检查的选项仍然会导致相反的效果,导致疲劳和巨大的技术债务。

-您在同一HeadHunter上写道,如果设置了截止日期,则无需移动截止日期。

-嗯,每次都是个案。 您可以移动截止日期,主要是报告所有内容。 我可以将所有组织某些事情的尝试减少为一件事情-一个人应该是可以预测的。

如果团队可以预测一个人的行为,那么他们可以信任他。 如果她知道一个人履行了诺言,而他确实履行了诺言-好的。 如果一个人有最后期限,并且他写道他没有时间-不管出于什么原因-也可以。 如果他在发布前一个小时写,那么这很糟糕,这绝对是不可预测的。 我们讨论了一件事-讨论了另一件事。 最主要的是沟通。 写,告知,说-您总能提出一些建议。

-每个人都有为您做的工作吗?

-是的

“混乱不会开始吗?”

-每周一次,当我们分析并认为我们应该在一周内做好时,会有一个很大的要求。 相应地,任务在团队内部设置。 首先,我们讨论产品开发路线图。 讨论是相当全球性的,通常每个人都参加。

例如,我说:“我们需要使用SMS邮件制作一个模块。” 每个人都在讨论-我们将如何做,何时,谁来做。 结果,形成了在知识库中制定的计划,并且我们试图保留它。 我们没有设定时间和期限。 我们有一个共同的截止日期,我们自己选择了。

也就是说,我们同意并只是尝试实现自己的计划。



-每个人都要负责吗?

-是的

-这通常导致一个事实,即没人对任何事情负责。

“当然可以。” 但是,无论一个人如何做,他都有自己的专长。 前端开发人员负责前端。 他自己做的事情对此负责。

集体责任(尽管我一点都不喜欢这个词)在正确的时候更有可能说:“听着,你做错了事,你做了太多的工作,这很容易。 大概的责任是帮助对方不要做太多。

因此,难以寻找人。 在这样的远程工作中,良好的沟通非常重要,这样才能使人保持开放。 的确,如果存在一个僵化的结构,一个人可以像专家一样牢牢站起来的等级制度,但是绝对没有交流技巧,那么他就无法与任何人交流,完成任务并做好工作。

但是,在远程工作中,仅仅成为一名优秀的专家还不够-您需要能够找到联系人,进行交流。


创造性地雇用有趣的人


“你在哪里招募这些人?”

-基本上,比HeadHunter稍小的“我的圈子”在“电报”中提供频道-通常,无论有程序员在哪里。 除非我们使用LinkedIn。

我们称之为“创造性工作”。 例如,他们在这里放了加密的文本,讲了一些故事。 或职位空缺,不是普通文字,而是对话。 当您可以编写不寻常的内容时,为什么还要写“我们需要开发人员”!

这是一种尝试寻找对我们感兴趣的人的方法。

碰巧好专家就在隔壁。 当我们在Rosa Khutor上滑雪时找到了一名Android开发人员。

-有趣的人-很棒。 但是他们应该经过技术过滤吗?

-我们试图尽快进行采访,进行大致的筛选,并且已经处于试行阶段,以观察一个人的工作方式。 突然有人不知道如何接受采访? 这种方法行不通。

一个人被包括在工作中,而理解已经变得模糊了-他是否得到它。 您不会很快注意到它。 因此,我们现在正在测试基础知识。 我们不是围绕框架展开的,而是询问基础知识,一切如何工作,如何工作。 相同的HTTP协议-它是万能的协议。 或索引在数据库中的工作方式,数据库本身的排列方式-不仅是进行查询,还应了解正在进行的过程以及标头的排列方式。

许多人甚至不知道常见的编码方式,为什么是UTF-8,为什么是“八”。

-您认为它真的需要知道吗-为什么要精确指定“八个”?

-我认为这是基础知识的基础理解,非常重要。 一个人可能是一个很好的专家,但他会遇到需要基础知识的问题。

例如,为什么这个查询这么慢。 一个人似乎很好地编写了SQL查询,但是您需要深入研究,了解可以更改数据库结构的内容,找到为什么这个特定索引这么慢的原因。

一个不了解基本原理的人会立即迷失方向。 这对他来说变得非常困难。 当然,这不是一个无法解决问题的粗略过滤器-只能一次完成。 没有检查清单。

如果他不知道一件事,但在其他领域也知道-好的。



-你给测试任务吗?

-同样,以不同的方式。 测试任务可能是一种尝试,以过滤掉那些根本不感兴趣的人。 如果一个人在面试中表现良好,我们可以说没有必要进行测试。 有时不可能在面试中对其进行评估。

, 70 Github — - , , . , , , , .

, , — Rest API . — , .

, . , , .

— ?

“是的,当然。” , . : « , , -, ». , : « ?» : «-, ». .


Ruby Go


— , ?

— Ruby on Rails, - . , MySQL — .

Go. , . Go, , , Go .

, . Ruby- — Elixir, Go. .

— , Go?

— . — , Go - . — Go . — , .

— , Go, « », .

* *
— , . . . , .

Go . ? , . , , .

Go .

— React . Vue, TypeScript.


«»




— , Staply Primavera. Staply «». ?

— — «» . , . — , , . — , .

— , . . — , — , , . . , , .

— ?

— . . — .

— , «» « »?

— , . , .

— , «».

— , . , , « », «», .

. — .

— , ?

— . — , - . . — — , .

, . . , , , .

, . .

— — , — . 3000 — . .

. .

— ? , — .

— . , , , . , — . , .

由于外部条件,可能没有加速,可能什么也没有。但是必须有一个解决实际问题的好产品。

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


All Articles