创业公司开发者的26个经验教训

在过去的三年中,我曾在柏林一个小型B2B启动。我是第一个后端开发人员,并加入200〜720企业客户日益增长它的顺风车,从$ 200K至320 $年收入的5至25名员工。

以下是我在那段时间所学到的东西的一个非常简单的个人总结。不多也不少。享受。

(1)回顾至关重要。我们经常坐在一起作为一个团队,以反映上一次迭代。回头看和评估的重要性怎么强调也不过分。每个参与者被要求想一想顺利需要自己改进的东西和事物第一个。小组讨论才开始每个人都提出了自己的想法。这样,每个人都能提出重要的问题——这比那种“声音最大的”主导谈话的会议要好得多。

(2)花时间做常规的1:1。在繁忙的创业环境中,这可能很难证明是正当的向你的经理一小时,每星期。但是,这是我们做的,它工作出色。您可以深入讨论的问题,及时,只是觉得更有价值的员工。对于没有更换了点。

(3)只需购买开发工具。对于电脑,每GB或MHz有助于能够工作得更快。在软件方面,每一个有用的工具,让你更有效地计数。这使得开发者快速,现代化的工具集也表明了公司的价值观他/她。不应该有任何有关讨论。期。

(4)会见客户。我们经常访问我们的本地客户,有一个年度公司旅行客户热点(纽约和旧金山等)。这使得所有的差异。这是一件事与客户交流的电子邮件,但它是一个完全不同的体验,以满足他们,听到他们的痛苦和成功的第一手资料。它有你想想你的用户,当你回来发展方式的强大和持久的影响。

(5)不要让构建变得缓慢。当缓慢的构建成为办公室的笑料时,你知道你已经行动得太晚了。XKCD有人知道吗?)。没有什么比缓慢的反馈周期更令人沮丧的了。我们在后台使用Java,在前端使用Webpack。一周下来,两辆车都越来越慢了。最后,它让我想用头撞墙。从长远来看,缓慢的构建不能通过购买更快的机器来解决问题。你需要考虑应用程序的结构来处理它;例如,对它进行调制。没有快速的解决办法。

(6)跨职能团队FTW。之前,我们已经形成了跨职能团队,我们只能够有效地解决小项目。一旦我们有一个团队,包括设计师以及前端和后端开发者,事情起飞。它使我们的工作在更大,更具冲击力的特点。它带来了自己的挑战,但总体来说是在启动发展的一个关键步骤。

(7) Trello并不适合作为漏洞或项目管理工具进行扩展。我们使用Trello来管理我们的错误。我爱Trello,但我总觉得它达不到。这是很难搜索到,只有规模达到一定点。这同样适用于项目管理。在某一点的简单性和易用性的消失,它只是变得过于庞大和无效的。我比较喜欢实际支持和帮助你想达到什么样的专用工具。

(8)对责任采取或消亡。要想在任何一家公司取得成功,你都需要承担责任。越大越好。与企业环境的不同之处在于,这很容易做到:角色不是一成不变的,很容易承担无人认领或不想要的责任。你必须成为男孩/女孩的东西,以提高你的地位。你需要积极主动,塑造自己的形象——否则别人会为你做这些。如果你能把这和公司的目标结合起来,就能加分。你可以成为一名优秀的代码架构师——但是当公司只重视功能开发时,你就押错了赌注。

适应或离开……必要时你也可以战斗。你可能会与你的管理对某些事物的不同意。在这种情况下,你需要决定这些问题有多么重要你。如果是非常重要的,你可以接受挑战,争取站起来,你认为什么是正确的。但往往这将是一场艰苦的战斗。如果你身边几乎没有人支持你,或者更糟,甚至不分享您的意见,那么你要问自己,如果它是值得的。您可以忽略它一起玩,或者寻找另一份工作。

(10)寻找真正重要的福利。很多创业公司都有很多好处。有些人以他们的乒乓球桌为傲,有些人想在周五晚上的露天酒吧里给人留下深刻印象,有些人则炫耀他们选择的高果糖玉米糖浆糖果。这是一个陷阱!寻找有意义的福利,比如午餐和学习,教育预算或健康福利。

(11)的CEO应该能去度假。在初创公司成长的过程中,CEO不得不放弃越来越多的责任,因为一个人无法跟上公司的发展。基本上,CEO必须一步一步地更换自己。如果这是一个很好的指标,他/她决定去度假。

(12)你需要即时通讯的战略。我们用松弛,虽然它有时很有趣,我认为它杀了不少的生产力。我们没有有关该工具应该如何使用一个共享的心态。要明确哪些应在聊天结束了,什么是更好的留下来的电子邮件,面对面面对面交谈或维基是非常重要的。

(13)一开始,你可以影响别人对你的看法。你所说的和所做的都会影响别人对你的看法。如果你周末加班,你会变成“工作狂”。如果你想出了新功能,你可能会成为“神童”。问题是:它会粘在一起。通常,早期印象是最重要的。要改变周围人对你的看法会变得越来越难。

(14)平衡高层和低层人员。在后台,我们几乎只有拥有55年以上经验的资深开发者。但令我惊讶的是,这引发了过多的讨论,却很少产生好的结果。这些讨论非常激烈。有时我怀疑是否每个人都能活着离开。另一方面,在前场,每个人都是初级水平。他们表现出了极大的热情和创造力——尽管本意是好的——但往往会错过更大的图景,并缺乏高层次的最佳实践。关键是要正确配置初级和高级员工。

在你开始编码之前,一定要有一个可视的模拟。一个新特性有许多利益相关者。例如,有项目经理、设计师、产品负责人、首席执行官、开发人员和客户。他们都有自己的期望和计划。传达新功能愿景的最佳方式似乎是尽可能接近最终结果的视觉表示。一次又一次地,这帮助我们避免了误解,让大家站在同一立场上。

(16)每队一个办事处。已经证明了再一次再一次再一次再一次再一次再一次再一次再一次开放式办公室是一个坏主意。我认为,公司通常是想节省办公室租金,把它作为一个协作和创造力的天堂来出售。根据我的经验,我可以告诉你,你需要一个安静的环境来完成工作,但你仍然需要能够轻松地与你的团队成员沟通。我发现,如果你保持团队规模较小,那么“每个团队一个办公室”的原则很好地实现了平衡。

(17)外向的人主导着每次讨论,除非缓和气氛。对于一个内向的人跟我一样,工作场所是具有挑战性的。外向的人喜欢说话和写 - 很多。内向的人通常无法抗衡。我们正处于一个非常不利的地位,因为外向的人可以更自信,更精心作出更快的响应。任何公司,不解决这个问题失去了对伟大的想法,并通过其“沉默的少数人”的贡献。

(18)开发者需要谈论他们共享的心态。一旦你从一个开发人员变成一个开发团队,就会有冲突。每个人都是不同的。这就是为什么在代码风格、架构、开发和bug处理、代码审查等方面分享共同的思维方式是如此重要。简单地在wiki中写下规则是没有用的。当环境需要时,它需要被生活、理解和改变。没有什么可以代替经常谈论它。

(19)定期更新状态是一种激励。知道了这一点,在第二天的“站起来”上,我的整个团队都会聆听我所做的工作,这激励了我。每周的状态更新更是如此。当我们的创业公司还很小的时候,每个人都用几句话分享了上周的成功与失败。当公司发展壮大,只有团队的共同努力时,就不再具有激励作用了。

(20)学习预算需要以时间而不是金钱来衡量。虽然我们有一个学习预算,但除了参加会议,我们几乎没有把它用在别的事情上。研讨会可以是碰运气,也可以是碰运气——通常连最新技术的研讨会都没有。但像我的许多同事一样,我能从博客、书籍和视频中学到新东西。所以我建议开发者每年花几天时间自学一些东西。这是我们无论如何都要做的事情——通常是在周末——但通过这种方式,公司可以直接支持这些努力。

结对编程被低估了。结对编程是在团队成员之间甚至团队之间共享知识的一个很好的工具。就我个人而言,我发现它比评论更有效。编码期间的交互和讨论是无价的。它工作得有多好通常取决于两个开发人员相处得有多好——从我的经验来看,把不同的人放在一起实际上可以产生最好的结果。

(22)如果没有一个合适的发行过程,功能就会陷入困境。这一次似乎是显而易见的,但很容易被错过。我亲眼目睹被困在地狱的几个月,因为没有人真正知道如何与成品特性坐在一个分支正在开发的功能。这是极为重要的有关于谁拥有它的职责,或者甚至更好清醒的认识,有一个人谁的工作是采取照顾。

(23)伟大的事情时有发生的自主权。就在旁边给开发者的机会,工作的事情都可以成为创新的有力来源。当一家公司支持这个自然驱动优秀的开发者,伟大的事情发生。如果没有,最敬业的开发人员都会做出自己的机会,无论如何(例如加班或周末),这可能会导致不愉快,甚至倦怠,从长远来看。

(24)如果你想有一个消息要坚持,一次又一次地说。你有一个重要的信息,你想让每个人都理解、分享和记住。你不能只说一次。或者干脆把它放在幻灯片上,用粗体字写出来。你需要一次又一次地重复。它需要非常清晰。你说的话应该是不容怀疑的。想要获得更多的建议,请阅读这本优秀的书让它粘

(25)攻略是创业公司文化的重要组成部分。创业公司总是有比资源更多的事情要做。优先级是至关重要的。这通常意味着快速拼凑出一个几乎不起作用的解决方案。有时候是出于一些合理的原因,如创建一个功能原型并观察它是否具有吸引力。但如果真的发生了,你几乎没有时间回过头来,让它变得更好。然而,我一直感到非常恼火的是,黑客可以庆祝这么多。对我来说,这总像是作弊。但我已经接受了这个事实:黑客在任何初创公司都是不可避免的祸害。请不要做过头。

截止日期是愚蠢的。在当今瞬息万变的世界,截止日期已成为过时的产物。最后期限只会让管理者感觉良好,但却扼杀了软件开发的所有优点。最后期限越长,它就变得越荒谬和危险。唯一比这更糟糕的是截止日期+一组需求。这将我们带回到软件开发的古老开端。未来没有最后期限的余地。

谢谢你的阅读。我很快会加入另一家初创公司,这次是在多伦多。我相信我会在那里学到很多新的东西。

Stephan本克先生

从事软件开发工作。大部分时间都花在追求代码的简洁、优雅和美观上。或者只是在两者之间把事情做完。

评论的Disqus