DYZ.Life

全栈营之8周心得 - 你好我是朱英楠,一只程序猿

如何正确的面对自己?

起笔写这个心得,比我想象中要难好多。

我其实并不是一个喜欢研究如何“学习”的人,或者说我在较早的时候就已经经历了迷恋研究如何学习的时期。我在大一的时候痴迷于GTD,买了很多书,给自己做了inbox、文件夹、各种todo list、用了各种App(那个时候就用了第一版经常闪退的Evernote Beta),后来发现效率的确有提升,但并没有那么“神奇”,和我自己持续正常努力的结果可能不会有太大差距。也可能是因为从小就足够会学习,家里满墙奖状、高中当选学生会主席、哥伦比亚大学提前录取、本科毕业就年薪百万,这些对我来说虽然不算轻而易举,但真的也没那么难。我是个典型的实践主义者:Just do it。思考,远没有执行来的有快感。

我也不是不擅长写字。我7年前就开了自己的博客,从高盛辞职的时候写过整个金融圈都看到过的“我为何离开香港”,在知乎上过去一年也积累了接近一万个粉丝。但我不喜欢写日记。也不擅长总结自己学习的过程或方法论。我比较擅长的是分享人生阅历、在每一个人生节点为什么做出和别人不太一样的决定的思考,或者对最近所观察到的事情做出自己的一些看法和总结。换句话说,一篇文章对我来说更像是一个会被展示的项目,而不是一段文字记录或思路整理。这是个我仍需要克服的问题。

在”Just Do It”的模式下运行惯了的我,却发现在创业这件事情上并行不通。在过去两年中,我尝试过两次互联网创业,享受了融资成功、百人团队、9个月烧掉一千万的盛世,也体验过产品零增长、融资失败、合伙人撕逼、团队解散的挫败。长这么大第一次深刻意识到,再漂亮的简历、再牛逼的背景、再花哨的西装、再强大的自我包装能力,在市场面前,完全没有任何卵用。

你可以说我是一个自以为是的over-achiever,一个精致的利己主义者,一个创业动机不纯的wantrepreneur——我曾经100%是,直到现在一部分的我,可能还是。

通常,和我类似背景的人在碰到上述困难的时候,会选择去读MBA,准确的说是哈佛、沃顿、斯坦福的MBA。但当我脑海中闪过这样的念头的时,我会立刻将其抹杀,因为我不需要再多一个名校标签,被潜意识的逃避所屈服,两年后回到远点,再一次思考工作vs.创业的窘境。

所以我选择了面对。面对自己的失败的最大好处,就是让所有心高气傲的想法统统被干掉。全栈营开学第一天,我没有要做队长,甚至在前两周都没有说什么话。我告诉自己,我就是个什么都不懂的初学者,我需要做的唯一一件事,就是学。所以,能够让我真正进入学习状态的,不是智商或勤奋,而是抛开了我的傲慢。

创业失败了,所以呢?

创业失败后的总结过程中,我越来越认为创业不是需要去理解多么高阶、深奥、复杂的理论,而是将一些非常简单又基本的原则真正去实践。以下是我认为在所读过的文字中最能够概括创业所需的基本原则:

  1. Companies create X amount of value, and capture Y% of X(创造价值X,然后获取X里面的Y%占比).
  2. Avoid competition and always try to monopolize a small market(避免竞争,尽可能垄断一个微小市场).
  3. The best way to think of startup ideas is not to try to think of startup ideas. It’s to look for problems, preferrably problems you have yourself(思考创业点子的最好办法就是不要去想创业点子,而是去找寻问题,最好是你自己正面临的问题).
  4. The best startup ideas tent to have three things in common(最好的创业点子拥有以下特征):
    a. they’re something the founders themselves want(是创始人自己想要的东西)
    b. that they themselves can build(是创始人可以创造的东西)
    c. and that few others realize are worth doing(而且很少其他人会认为这件东西有价值).

前两条来自Peter Thiel 2012年在斯坦福的创业课,后来被整理写入他的书《从零到一》,后两条来自Paul Graham的博客,同样写于2012年。

这些原则可能会是我下一次创业的指南针,但其中有一个很大的缺口:4.b——创始人需要自己能够打造自己想要用来解决问题的产品。 而这,也正是我学编程的原因。

过去两年,我看到了太多创业者在开发上所浪费的时间、精力、钱,最终打造出来设计丑、体验差、没人用的产品。选择创业是为了给世界创造价值,而这样的创业只会摧毁价值。

我没有对身边的任何人提我要去学编程这件事情。他们不会那么容易理解,我也懒得浪费时间去解释自己。在获得了我唯一需要的支持后(我的家人),我就报名了全栈营。

全栈营是什么鬼?

刚来全栈营的时候,我是怀疑的。经验告诉我,大部分告诉你能够速成的东西都是骗人的。

我不知道Ruby on Rails是什么。我查了网上的解释,还是不知道Ruby on Rails是什么。我听过Github无数次,甚至之前创业的iOS代码就备份在Github上,但我不知道一行Github指令,也不说不出Github是什么。我上一次写代码,是13岁的时候为了让自己的MySpace能够更好看一些,勉强用HTML调整了背景图、字体、颜色。所以对,我也不知道CSS是什么,因为没用过。

7个星期的项目成果,大概是长这样:

【第一个项目:贴吧,开学前两周独立完成】

【第二个项目:论坛,开学前独立完成】

【第三个项目:招聘网站,独立6天完成】

【第四个项目:电商,独立8天完成】

【第五个项目:投票游戏,2人2天完成的Hackathon】

【第六个项目:约饭平台,5人15个工作日完成】

如果说我曾经怀疑自己成为一个全栈工程师的潜力,在做完这6个项目之后,我不再有任何怀疑。尽管我现在还不足以称自己为“全栈”,但我已经具备了开发最基础功能的web + mobile前端和后端技能(从这里延伸到iOS/Android也提供了快捷的方法和教材)。更重要的是,我已经拥有了自学开发任何其他简单功能的基础。不喜欢写日记的我,也攒下了近60篇博客,其中约10篇是关于开发某个功能的方法或总结。

不得不承认,在“把学生教会”这一件事上,全栈营做到了。

所以Ruby on Rails到底是什么?

如果一个程序是一个世界,那么程序员就是建造这个世界的神。《创世记》中,神说:“要有光”,就有了光。但神是如何获得制作光的工具?万一光子并不知道如何连接在一起让光线可以从A照射到B呢?万一被光照射到的地方并无法反光所以透露不出自己的颜色呢?人只看得到光,所以认为神可以用一句话让光出现,但人并不知道神是这么造光的。

神要创造光,需要两样东西:给光下达指令的方式,和下达指令的框架。前者可以使任何神和光都懂的语言,而后者,是让神在写任何东西的时候都可以快速高效的写出来,而不需要去担心存放东西空间的大小、里面的物质等其他琐碎却复杂的细节。

所以,在这个世界里:

  • 神=程序员
  • 光=程序
  • 人=用户
  • 神对光下达指令的方式=Ruby
  • 神创造任何东西的框架=Rails

写程序的人非常多,程序非常多,语言也非常多,但为什么说Ruby on Rails会比其他方式更快?因为Rails对神想要做的事情做了很多的预估和猜测,设计了一系列方便神去创造的框架细节。就像在一个锅碗瓢盆因有尽有的厨房炒菜和跟在一个什么都需要去买的厨房炒菜是完全不一样的。Rails就是那个连新鲜调味料都帮你备好的厨房。

7个星期中具体都学到了些什么?

在过去一段时间的学习中,我最大的surprise就是Rails有多么的简单。回顾日记,我可以清楚的看到自己是在哪一天学到了什么:开始学会用Google自己搜教学完成某个功能(第3天…)、如何写seed文档(第4天)、上传附件(第6天)、理解migration和重建db(第8天)、自由搭建routes(第9天)、写CRUD以外的新action(第11天)、自动发邮件(第13天)、装状态机(第14天)、使用AWS存储文件(第15天)、用Figaro保护AWS云服务(第16天)、如何规划Hackathon的超短线开发做Landing Page(第20天)。

从第五周起(第21天)我们进入团队开发模式,项目管理和协作变成了首要学习要点,也就是从这里开始真正模拟实战开发项目的场景。没有什么产品会是一个人独立写出来的,而无法协作的人一定无法成为好的程序员。也是在这个时候,我开始觉得我的小宇宙爆发了。从写User Story在Redmine上切票写Onboarding文档,到写前端做demo,都在一定程度上发挥了我的罗辑思维能力、项目管理能力和视觉审美。我们团队也顺利成为全班进度最快、产品最完整的团队。

8周6万的课,是否值得?

人在衡量一段经历的价值的时候会展现出惊人的认知偏差。成果令人开心的事情价值很容易抬高,反之则无论前面体验如何都会变的不值;自己选择的事情很容易觉得宝贵,被强迫的选择很容易不值;经过千辛万苦被虐到废的经历会十分珍惜,轻易得来的东西则不那么在乎。所以当我们问一个人某段经历是否值得的时候,100个人会有100种答案。

按照我创业前工资来算,过去2个月的机会成本大概是26万人民币。但我在很早之前就已经放弃了按月计算机会成本的短视角。因为这样算的人,永远不会离开高薪打工的岗位去尝试任何带有较高风险的事情。打工和创业,就像是债权回报和股权回报的对比。买债券拿到的是每月的固定收益(工资),而股权回报可以几年不分红甚至亏损,而在未来的某一天腾飞,获得几十甚至上百倍的回报。

从一个技术的门外汉,到能独立开发极简程序、共同开发完整可上线程序,能够看懂Stackoverflow上的交流贴并自己实现没有做过的新功能、解决没有碰到过的bug,这一切对我来说,其实已经远远超出了我对自己“程序员”身份的假想。有很多人会去花时间选择编程语言,甚至去网上跟人撕哪一种语言更好。在这一点上quote一句老人的话“不管黑猫白猫,捉到老鼠就是好猫”。

在我上一次创业当中,开发一款iOS的App,从立项到内测花了近4个月时间,用了1个iOS、1个后端、1个后端实习生、1个产品经理、1个外包设计师、1个全职设计师,开了几十万的工资。而现在的我,再继续练习1-2个月之后,可以1个人完成那6个人做的所有事情。

但在这里学到比编程更有价值的,是关于创业的一些best practice和know-how。Landing Page, User Story, 项目管理,Growth Hacking…如果说编程让我创业的成功率从1%上升到了2%,那么这些其他的知识可能让2%成为了5%(虽然实际情况可能这些概率都得再除以10,哈哈哈)。

结论

在过去半年里,我拒绝了来自投行、PE的offer,以及来自影视行业、医药行业、创业公司CFO的橄榄枝。无论是投资人还是创业者,下注小概率事件的人都是有一定赌性。既然只能下注一次,为什么不博一把大点的呢?

热评文章