之前知乎有个热门话题:25岁开始学编程,晚不晚?Uni酱觉得这位美国大牛在Quora上的回答非常精彩!独家拼命翻译,和你共勉!
我22岁开始编程
22-我才学会什么是“if statement”
24-我进了Facebook,做的是Analyst
25-我在Facebook内部转成了Engineer
26-我离开了Facebook开始创业
现在的我,26岁。也许你会说我“lucky”,但我会用“special”形容自己。如果你肯用心去做,你也可以走到这里,甚至更远。我以下要讲的就是我怎么一步一步走到这儿的,希望我的经历可以在你奋斗的路上伴你一程。只是有一点你记住,从来都没有“太晚”这件事儿,不管是换工作,创业还是去学习。
如果你想1分钟内领会成为成功程序猿的精髓,请直接下拉到文章结尾!
18岁:pre-med
大学第一年,我是Vassar College一个pre-med学生。像大部分pre-med一样,我觉得我就是要当pre-med学生。
19岁:Switch to Econ major
大学第二年,转成Econ专业, 对Econ慢慢开始有兴趣,但没怎么学,花了很多时间在玩,喝便宜的啤酒,放假就滑雪。
20岁:Textbooks can teach you things
大学第三年,开始意识到要学习了,可不幸的这时候病了,不能去上课,在床上度过了春夏秋冬,所以只能自己看书。这期间开始读书,发现“哦,读书可以学到东西的呢”,有点后悔这个道理明白的太晚。
21岁:Finally get good grades
大学第四年,终于读出了很好成绩。不对,这样说有点夸张,以前成绩也是过得去,但这是我第一次在受教育的16年里拿了全A。以前(高中和大学的前几年),我都是一周学习一天,是的,你没听错,一周一天。
原因是我知道学到大概什么程度就能拿B,这一点很重要,因为我只要学到个差不多就能过了,剩下的就都是自己时间可以来做想做的事儿。大四我终于会读书了,知道怎么“prioritize work”,终于全拿了A,当然其中也有很多好的老师起到了作用lol。
22岁 :Start working as a data analyst
毕业了,在一家叫做Morningstar公司做Data Analyst,公司是做金融的。但我当时完全不知道怎么编程。
22岁:Have a new idea
我有一个想法去做一个新的Web应用程序给Morningstar,他们喜欢这个主意,给了一个5个兼职新员工组成的团队由我带领来打造这个新产品。

这是我第一次自己“manage a project”,或这样说,让别人帮着去“build my idea”。开始是非常困难的,我犯了很多错误。年轻气盛,最大的错误是不听团队的话。
如果你跟我当初一样并不知道如何管理一个团队,尤其这个项目需要的是创新精神,你应该给你的团队自主权来充分发挥他们功效,然后自己多听取他们的意见。
你的时间应该花在一是确保他们的需求(因为你听了他们的建议),二是尝试做所有他们没有时间做的工作(通常是就是和潜在客户去聊天)
但当时,我虽然有想法,我却没有能力去“build anything”。我这整个产品是否能运行全部依赖于在我的团队。除了我的项目,他们有他们的全职工作 - 但我想看到的事情进展的更快。于是,我开始学习编程。
23岁:Learn to Code
没错,
我开始学习编码,学习HTML , CSS和JavaScript ,这是去编任何一个网站需要的三个“语言”
,从这个博客,到你全家在看的网站,再到Facebook-都是由这3种语言构建的。
我在想如果我学会了这些,我可以自己做我的产品。
我开始在www.w3schools.com学习,在那儿我学会了 HTML and CSS. 用这两种语言我给我爸公司做了个网站,但做的很烂,到头来他也根本么用(我同意他的做法)。接下来我学了jQuery,然后又学了PHP和MySQL。
在2个月内,我从对编程一无所知,到能够完整做出一个Web应用程序没错,这些应用并没有很好,但他们至少可以function。
24岁:Facebook 12 interviews
Current Projects: Tickur.com, Lookgr.am, Roomidex.com, Searchnwork.com

12面试轮面试在Facebook不是一定的数字,像我,原本只是去申请一个产品经理,可是经过几轮面试,我被这个team拒绝了。但好消息是,Analytics Team对我很感兴趣,所以,又给我进行了另一轮Analytics Team的面试,他们最后决定雇用我。
在Facebook的日子里,一直被推动着成长,每天我被比我聪明很多的人围绕着,只有‘勤能补拙’。就像大学时期最苦难的时候一样,Facebook又一次把我推到了我人生的顶峰状态。
对公司里所有的问题,我都不能信口开河,指望别人。因为其他人要么懒得理我,要么就是我说什么,他们马上就能指出哪里是错的;就算我说对了什么事儿,别人也期望我能给他们更多信息。好事儿是,这样下来,我成长了。
我还学会全世界顶尖消费类科技公司的运行模式。还有更多,比如会议时候,你会听到马克·扎克伯格不停的在提一些当下流行词汇比如“data driven”和“minimum viable product”,但他想说的是别的寓意,我知道我要学的还有很多。我会读很多报纸和博客,也会去每周五晚上的Q&A(Facebook公司传统)。
白天,我学着怎么run a product,a project and a business;晚上,我继续编程然后继续建筑我自己的想法。但实话说,事后看来这样安排是不好的。不过,至少我越来越会编程,我做网站越来越快,也学会了怎么做事情不会奏效。
25岁:Engineer at Facebook
我承认不是一个好的工程师。我知道几个编程编程语言,自己做过一些网站,不过that's it。我不知道(现在仍然不)任何关于算法和数据结构。
我知道如何改善内部(基于web)的数据工具,和Analytics Team所需要的基本能力;也就是说我知道的在我工作领域足以。所以,我最终被纳入了analytics team的工程师团队。
编程速度上,我可能是 Facebook培训出来的工程师的1/10;而我的鉴定分析和对visualdesign的感知能力在团队内部起到了积极的作用。
25岁:Blockspring.com begins
我开始和高中一个好哥们一起创业(side-project),他聪明能干,虽然他比我更不像个合格的engineer,他还是有一些基础的。在我们决定合伙的时候,他就辞去了咨询工作,开始我们的创业生涯。
当时手头上有很多私活儿,直到遇到Paul,我才感觉到这是一个真正可以一起创业的伙伴。其他的co-founder都是兼职做我们的项目,Paul是第一个辞去全职工作专心扑在我们初创事业的人。
当其他co-founders花时间在吵一些很小的事情,比如网站的颜色,添加一些小功能在网站上,Paul用自己的营销方式为网站了带来成千上万的浏览量,同时还在自学coding帮助我把公司一点点建立起来。
并不是我之前的合作伙伴都不好,而是我不知道如何经营我与他们之间的关系,并为对我的角色设一个合适的期许。有一天,当你有你自己的start up,“setting expectation and broad ownership of areas of the company”变成了最重要的事情之一,这是我学到的血的教训。
终于,我们的创业公司Blockspring出生了。
26岁:Blockspring gets a client
我们试图说服很多企业使用它,他们没有答应。我们把它贴在某个博客上打广告,纽约一个人看到了它的潜力,邀请我们飞到了纽约做一个pitch。最终,我们并没有卖出去,但他却善意的支付了我们纽约的工作支出并继续在纽约做一周Blockspring相关工作。
我还全职在Facebook上班,我请了“emergency”假期一周,留在纽约继续为Blockspring工作 。兼职(Moonlighting)并不违反Facebook的规则,几乎每个工程师都有正职之外的项目和兴趣所在。
如果你想保留有企业家精神的人,你必须让他们追求自己作为“企业经营者”的身份;但Facebook的工作环境就是有如此大的吸引力,这些人更喜欢自己在Facebook的日常工作(是不是听起来疯狂,去Facebook工作吧!)
但Blockspring的确分散了我从Facebook工作的程度会不会给公司,或者我的团队是公平。如果我要继续努力Blockspring (有几个用户一个网站,和一个潜在客户) ,我将不得不离开Facebook的(最好ENG的工作在世界上,轻松的工资和福利,朋友等) 。
为了让Blockspring运转,我需要花费大量精力和时间在上面,的确分散了我在Facebook的工作。这的确对Facebook和我的团队不公平。这就意味着如果我要继续让Blockspring运作 (有几个用户一个网站,和一个潜在客户) ,我必须得辞去Facebook的工作(真的是作为一个engineer能在地球上找的最好工作,丰厚的工资和待遇,有趣的co-workers和工作环境等)。
没有办法的办法,我下定了决心然后离开了Facebook。#YOLO
26岁:Y-Combinator
我们来到了Y -Combinator求助。这个公司是世界上最好的startup加速器。

3个月,每天16小时,我们没有停的在工作。一点儿也不好玩。一些过往的前辈称其为“pressure coker” ,这真的是说轻了。很多人在这里为了他们的project工作了2天,便厌倦了它。在Y-Combinator的第一天,我们把“85天”写着在白板上- 85天倒计时到demo day。85天让我们的梦想运转起来。
我们工作,然后睡觉 ,我们继续工作,然后告诉我们的女朋友,你们是世界上最善解人意的人,然后,我们回去继续工作.
终于,85天后,我们的demo day到了,thank god,我们筹到了启动资金。
◆ ◆ ◆ ◆ 
以上,就是我的故事。
总体来说,我已经慢慢学会如何让人们在对我的公司和我的想法有兴趣了;与此同时,我还在继续自学编程。这意味着我有能力完善自己的职业生涯,并接触到好的产品,同时也推进了我的执行能力。
程序猿的自学To-Do List
  • Go to w3schools.com and learn HTML and CSS
  • Open some text editor on your computer (not Word), save it as index.html. Use your HTML and CSS from w3schools.com to try to make things appear on your webpage. See how far you canget.
  • Go to lynda.com and watch a beginner video on HTML & CSS.
  • Make your index.html file look more like what's in your mind. Copy colors from sites you like. When you don't know something, make a "jsfiddle.com" and post a question with it on StackOverflow.
  • Go to lynda.com and watch abeginner video on jquery. This will let you make your page interactive really easily.
  • Add jquery to your index.html file. This will let your page behave as if it's a real web application. You can fake interactions on it. You can now prototype a website.
  • Go to lynda.com and watch a beginner video on Ruby on Rails. This will let you make your prototype into anactual web application.
  • Turn your index.html into a Railsproject. You are now a full-stack web developer. You may suck, but you can do it. Now you just need to get better.
  • Keep working on your project. Google what you don't know. Post on Stack Overflow when you have questions. You'll be surprised how quickly you learn.
  • Keep building.

咨询求职系列免费公开课
4位明星导师分享中美咨询求职方法
还有咨询直推实习机会
👇
UniCareer作为阿里巴巴2017
独家海外实习生招聘合作方 
一大波技术 /  产品 / 设计各种直推通通有!
👇
42号计划
全面背景提升+面试/实习保障
保面试保实习,否则百分百退款
👇
—END—
原文作者:Don Pinkus(@whatsdonisdon)
UniCareer独家翻译,版权归UniCareer所有,
转载请后台回复“转载”
继续阅读
阅读原文