初创团队软件工程师的七个成功心态
资讯
0
2212
2021-05-04 08:07:29
<p><img alt="" src="https://www.21cto.com/uploads/images/1000-1.jpeg" style="width: 553px; height: 376px;" /></p>
<section>几年前,我从Slack离开了,当时我担任工程师一职,离职后,我成立了一家新公司开始创业。</section>
<section> </section>
<section>我最初的想法是借鉴我在Slack开发的最佳实践。</section>
<section> </section>
<section>但是,我发现在工程启动时,尤其是产品与市场相关的工程,需要一种不同的思维方式。</section>
<section> </section>
<section>工程启动需要非常大的决心与动力,这些决定将保留完整性、完善性以及可扩展性,还有工程中传统”成功“的标志。这些过程是充满曲折,甚至痛苦。</section>
<section> </section>
<section>如果你不能做这些艰难的决定,那么你并不适合工程启动的角色。另外,如果你要学习制定战略,发展技能,想快速验证想法,并为客户创造价值,那么启动工程将非常适合你。</section>
<section> </section>
<section>对于那希望进入创业世界的人们,以下是可以使你变成功的初创工程师的心态:</section>
<section> </section>
<section><strong>心态之一:我将学习,我将学习如何更快的学习</strong></section>
<section> </section>
<section>当有人问及“你为何要在初创公司工作”,许多人都这样回答,他们想找一个可以学习的工作。</section>
<section> </section>
<section>但是很少人知道持续学习的真正含义——学习是对人的脆弱性和持久性的高度安慰剂。</section>
<section> </section>
<section>初创团队软件工程师的七个成功心态</section>
<section> </section>
<section>作为早期启动阶段的个人贡献者,你需要每天学习,并要有解决新问题的能力,这些将决定你能否成功。你需要超越自己的舒适圈,拓展新技能。</section>
<section> </section>
<section>你需要修复以前从未修复的代码表现上的错误,你需要用以前从未设计过的交互来构建新功能。</section>
<section> </section>
<section>对于学习来不限于个人,整个团队都要进行,在加入初创团队时这个应该是实质性考虑因素。整个创业公司必须一起学习,在产品与市场契合过程中,初创公司应该从相对较小的样本量和范围狭窄的实验中吸取尽可能多的经验。</section>
<section> </section>
<section>初创企业需要知道谁是自己的客户,他们为什么会购买,他们买来将用来做什么?这些一般描写为假设性测试,初创公司需要验证客户、市场和产品,所有的努力都用于这些假设能够成立。</section>
<section> </section>
<section>因此早期创业公司的软件工程师必须有快速权衡的能力,能达到完整性、可扩展性以及软件工程的成功,此外还应该包括其它传给基准。</section>
<section> </section>
<section>启动工程并不是大规模工程,这是假设验证工程。</section>
<section> </section>
<section>当我们使用学习者的思维时,你需要不断问自己以下的问题:</section>
<section> </section>
<section>1、我现在需要学产什么技能?</section>
<section>2、学习它的最快方法是什么?</section>
<section>3、下次如何学习地更快?</section>
<section>4、我和我的团队将如何才能最先学习更多内容?</section>
<section> </section>
<section><strong>心态之二:“关键路径是唯一重要的路径”</strong></section>
<section> </section>
<section>一位优秀的初创工程师不会编写完美的代码来完成所有用例,而是去关注关键路径。</section>
<section> </section>
<section>你需要很快地去了解关键路径是否正确,然后在其中投入更多时间和精力。如果没有,我们将省却永远不会出现问题的心病,还可以避免过度设计后面丢弃相关的功能。</section>
<section> </section>
<section>比如,我在Slack中的第一版本Bennu构建了公众互动功能,因为公共渠道和私人渠道的区别与我们的假设没有关系,也就是用户会用Slack来与自己的项目管理数据集成。后来,我们了解到用户需要让自己的数据更丰富,更有上下文的呈现,而网站应用程序更适合于此呈现。</section>
<section> </section>
<section>当然,这并不是说开发者要跳过工具或测试的过程,也不意味着认可低质量的代码,仍然需要为关键路径编写工具、测试和高质量的代码。工具和测试应侧重于消除假设性验证的障碍。</section>
<section> </section>
<section> </section>
<section>例如在Bennu,我们为每个第三方数据转换都编写了测试用例,在我们的实施案例中,这些功能的稳定性和正确性对我们的业务至关重要。</section>
<section> </section>
<section><strong>心态三:公司的生意也是我的生意</strong></section>
<section> </section>
<section>做为传统的软件工程师,很容易陷入“不是我的问题”心态。</section>
<section> </section>
<section>但做为初创团队的软件工程师,了解你的工作如何为整个团队提供支持是你的职责。</section>
<section> </section>
<section>初创团队工程师很少能获得一份完整的产品需求,甚至只是设计过程的一部分。而整个公司团队就已经同意开始实施,而且要很快用到它。</section>
<section> </section>
<section>这需要启动工程师了解到的不仅仅是要构造什么,而是要知道为什么要构建该功能的原因。</section>
<section> </section>
<section>要开发自己的此项能力,请对每个功能分离并提出以下问题:</section>
<section> </section>
<section>1、业务优先级是什么?</section>
<section>2、我们正在验证的假设是什么?</section>
<section>3、此时用户在流程中的需求是什么?</section>
<section> </section>
<section>参加这种类型的业务对话是一种宝贵经验。一般传统的公司——要求“下达”给程序员的公司获取不了这样的经验。对于充满兴趣和才能的人来说,初创公司有很多机会自己的责任感和影响力。</section>
<section> </section>
<section><strong>心态之四:我愿意放弃一些好想法</strong></section>
<section> </section>
<section>“有一个好主意的最好方法是有很多主意。” </section>
<section> </section>
<section>如果没有时间和预算的限制,你就不能追求每个好主意。这就是为什么要对伟大想法要有投资心态的原因。比如,对于Bennu的产品,用户会发现数据可视化非常“有趣”,但是人们却很很少有洞察力。</section>
<section> </section>
<section>我们可以构建很多种集成产品,但目前只有少数几个有意义和价值。通常情况下有许多功能可以解决协作、集成和数据可视化的问题,但是需要时间来解决问题。</section>
<section> </section>
<section>不要忽视你正在寻求的更大机遇,包括伟大的创意、客户会喜欢的创意以及早期用户会蜂拥而至的情况。有鉴于此,你必须对很多好主意说“不”。这里面最困难的部分是,它经常被说成“不”,而不是说成“不是现在”!好的主意和想法会吸引人的注意力,让好的想法再飞一会儿也是一种智慧。</section>
<section> </section>
<section><strong>结语</strong></section>
<section> </section>
<section>做为初创公司的工程启动人员,选择以上四种心态之一,然后去尝试吧!当然,将其内化于心需要时间和实践,但是回报将是值得的!在这个过程中有你的帮助,你也将享受到工程启动成功的乐趣,并且无论做什么都可能会找到成功的关键因子。</section>
<section> </section>
<blockquote data-author-name="" data-content-utf8-length="101" data-source-title="" data-type="2" data-url="">
<section>
<section>
<section>编译:洛逸</section>
<section>作者:Brenda Jin @cyberneticlove. CEO/Founder at Bennu; ex-Slack staff engineer; O'Reilly author</section>
</section>
</section>
</blockquote>
本文为 @ 21CTO 创作并授权 21CTO 发布,未经许可,请勿转载。
内容授权事宜请您联系 webmaster@21cto.com或关注 21CTO 公众号。
该文观点仅代表作者本人,21CTO 平台仅提供信息存储空间服务。