文科生也能当工程师?我用了一年半
扫描二维码
随时随地手机看文章
人的一生每隔3年就需要发生一次巨变。有很多时候如果你现在不改变,以后就很难改变了。
从一个并不优秀的文科生,蜕变成一个硅谷的程序员,再变成业务的产品经理。如果你身边有正在发愁不知道该选什么专业/职业的?还是有想转行的。可以分享给TA我的小故事,希望能给更多人带来一些启发。
为什么从文科生变成程序员?
因为找不到工作。这是最真实的理由了。
本科读的是经济学,在一所不太知名的小学校。但我的想法很简单,既然都出国了,一定要在国外积累一些工作经验。当时读书是真的努力。一般来说本科生每个学期会上12~14个学分的课程。我一口气报了两倍的课程,因为超过了学校上限的21个学分,还被院长请去做心理辅导。只能从别的学校赚学分。还一鼓作气拿了全级第一。
本来以为工作稳了。没想到一个offer都没拿到。信心瞬间崩塌。
在绝望的时候,无意间在Youtube上看到一个视频:“What most schools don't teach”。
突然发现,原来写代码是一件这么酷的事。“你就像一个法师,自己就能创造整个世界”。计算机是一个未来必备的技能。更重要的是,它能帮助我找到工作。我一定学会它。
先拿到一个计算机学位做敲门砖
那时候已经是我大学最后一年了。跨专业考计算机专业的研究生基本没戏(当时压根没有选过一门计算机相关的课程)。但在我人生词典里,不可能没有办法。在最后一个学期里,我争取报上了几门计算机相关的课程。跑遍了数学学院和计算机学院的所有教授,恳求他们收我为徒。免费帮他们干活做项目。有两个教授被我的精神感动了,收留了我。那段时间都快疯了,上着跨年级的课程,下课立马跑到教授实验室帮忙,晚上还得熬夜背GRE的要你命3000。既然时间不够,就想办法提高效率。人都是被逼出来的,当时我还自己研究出了适合适合我自己高效的学习方法,比如背单词周期性训练法,写文五段模版,抽象概念具象图画法等等。在吃饭的时候,洗澡的时候,我都在思考怎么样提高效率。回头才发现,正是这个阶段的压力,反而促成了我日后高效学习能力的养成。
终于,我拿到教授们的推荐信,顺利考上了计算机的研究生。
如果不占优势,别跟随大众常规操作
入学后发现身边的同学都是国内211,985计算机的名校。有许多从初高中就开始学习计算机。相比之下我就是各种膜拜。身边还有很多在北京工作多年,把房子卖了,拖家带口全家搬来美国All in的同学,很佩服大家的勇气。大家的目标都只有一个:进入顶级互联网公司。
当时听师兄师姐的反馈就业形式并不乐观。更别提我这种转专业没什么经验的小白,就连许多名校的土著,也没几个能拿到大公司的offer。常规套路肯定没戏了,要达成目标,必须另辟蹊径。
掌握一种技能最好的方式:创业?
当时我在想一个事情。怎么样才能更快学习一项新技能?许多同学会去找一大堆资料,买一大堆书,这一切都完成后已经很累了。就没有然后了。制造出一种假象满足感。但最好的学习方式,是你有十足的热情,系统还会给你持续有效的反馈。
我想到了创业。大部分同学不太认同:课业都忙不过来,哪有时间搞这些?我只好自己单干。
找到一个需求:刚来纽约的时候,发现找房子很困难。我想搭一个网站,专门给纽约中国留学生提供租房信息。当时是干啥啥不懂,全得靠Google。觉得不可能完成的一件事,吭哧吭哧过了三个月反而被我做出来了。这个小项目当时也做到了上万的用户量。一件不可能的事情,回头看其实也不是很难。最重要的,我把搭建一个产品从前端到后端的技能熟练掌握了。
如何学算法?要把自己当成老师
大公司工程师的面试主要考算法。怎么学好算法?这是大部分同学当时的痛点。
我总结出来的方法是:学习一样东西最好的方式:把自己当成老师。
我在第一个学期就选了算法课。每次上课前,我会提前在coursera(Priceton的算法课)上把当天要讲的内容预习一遍。然后在课间给同学们讲题解题(其实我是在通过这种方式学习)。后面教授注意到我了,让我帮他做助教。那时候我有一个任务是帮教授出题和批改作业。要出题,就必须对这个算法有更本质的了解。后面你会惊讶的发现:核心的算法也就那么十几个,所有的题目,其实都是围绕这些核心算法做变形。万变不离其宗。
当你是老师视角的时:
你会更了解这道题的本质。让学生学到/理解了知识的核心点,你就成功了。
当你是学生视角的时:
你只要解决了这道题。你就算完成了。
发现了这个规律后,我强行把自己硬掰成老师的视角。果然效率提升好几倍。我对算法的认知不在停留于表面,而是有了更深层次的理解。当时发现一个好玩的事情是:一开始我对算法没有什么特别的感觉,但当我开始深入研究,算法反而变得越加有趣。很多东西,有趣的点都在很深的地方。许多人说对一样东西没兴趣/不喜欢,那是因为你还没专研得足够深,还没有看到它有趣的点。看到许多人用意志力,自制力强行让自己学习,其实是很低效的。
当时我身边同学一遍一遍在刷着题,许多都流于表面。记住了这道题,稍微变一下型就不知道怎么做了。还会因为带着之前做题丰富的“经验”而扰乱思路。其实在实际工作中也是一样,一个同学把业务做得很熟练,很有经验。但只要环境一改变,变量一多,之前再多的经验反而成为累赘。很多同学工作多年,其实是在不断重复着第一年,实际并没有什么进展。
功夫不负有心人,最后还是拿到了Google/Facebook/Amazon等一众offer。世界上有很多看似不可能的事情,但人类最厉害的地方就是你的大脑。如果你在某一个领域不占优势,不要用大家都用的常规套路出牌。用巧劲而非蛮力,因为蛮力斗不过。任何的困难,都是机会。任何的机会,你都能想办法抓住。
特别推荐一个分享架构+算法的优质内容,还没关注的小伙伴,可以长按关注一下:
长按订阅更多精彩▼
如有收获,点个在看,诚挚感谢
免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!