英文原文:What Qualities Make a Good Startup Engineer?
我曾为创业公司面试过很多程序员,他们中有些人在 Google 这种大公司中拥有丰富的工作经验,但他们并不适合创业公司。不能说他们没能力,但他们在创业公司中表现得确实并不那么出类拔萃。
在多年的工作中,我发现的确有一些特质能让程序员在创业公司里更易成功。在创业公司中,我曾共事过的最高效程序员都有很好的决策力及工作技巧,尤其突出的是他们都具有下列几种特质。
解决问题的技巧。高效解决问题需要有缜密且科学的思维模式:提出假设然后想出可重复、高效的方法来测试。在创业公司中,解决问题的技巧并不局限于技术领域。如何设计交互方式推动用户数增长、如何避免项目延期等都可能是程序员会面临的问题。
勇于学习。作为创业公司的程序员,需要经常面对纷繁复杂且不熟悉的代码库,所以在大型代码库中迅速定位代码的能力尤为关键,这种能力多得益于大量的代码学习经验。在创业公司中,程序员需要学习的新东西并不仅与代码有关,有时候甚至需要做一些比如客户服务、销售、培训新员工这类不熟悉的工作。
务实的态度。大公司里,代码审查、单元测试等工作也许重要,但创业公司的程序员需要更加务实。这里的务实是指程序员需要知道什么时候该坚持观点、什么时候该接受观点,以此使项目得以顺利推进。要知道,还有很多更困难和更重要的决策需要去做,这些更值得多花些时间和精力。
开发新工具提升效率。创业公司最宝贵的资源是时间,而工具软件可以帮助程序员更好地利用时间。但创业公司中很难有开发工具软件的团队。优秀程序员总可以开发出新工具来自动化一些重复性操作,以便高效地利用时间。如果所开发的工具其他人也可以使用,将会提升整个团队的效率。
强大的多面手。除时间外,创业公司最需要的是多面手人才。比如前端开发人员如果懂一些服务器端知识,或是后端开发人员懂一些前端知识,他们的工作效率将会有极大提高,毕竟有些小问题将可以自己解决。
当演员不当观众。对于任何问题,我们都能以两种心态来看待:观众或是演员。观众心态使我们将问题归因于外部环境,而演员心态则会促使我们努力解决问题。创业公司当然需要后一类心态。
学习意愿和坚忍不拔的毅力。以上的六种品质有一个共同点:可以后天习得。想要获得这些品质,需要有坚韧不拔的毅力与学习意愿。从经验中不断学习,才能明白自己的弱项和需要提高的地方。