欢迎访问BINZZ励志网,分享好故事、传递正能量!励志网手机访问 | 网站地图 | TAG标签 | RSS订阅
您的位置:Binzz首页 > 职场励志 >

我的编程之路

添加时间:2016-11-07 04:31 来源:Binzz网[整理] 编辑:冷蝴蝶
题图:from Pinterest 上次 MacTalk 的池老师写了一篇「 编程之路 」 {阅读原文} ,让我也不仅回忆了一下我的 「 编程之路 」。细想起来,应该是非典型的,但是可能也不乏同路人。写出来,当留给自己吧。 本科:理论知识和汇编语言 我接触编程其实很晚,是



题图:from Pinterest


上次 MacTalk 的池老师写了一篇「编程之路{阅读原文},让我也不仅回忆了一下我的编程之路」。细想起来,应该是非典型的,但是可能也不乏同路人。写出来,当留给自己吧。


本科:理论知识和汇编语言


我接触编程其实很晚,是大学的时候。那时候其实?#19981;?#25968;学,少年班可以自由选专业,当时差点选了数学,?#27426;?#19981;太?#19981;?#23517;室另一个铁定学数学的妹子,我又是那种不?#19981;?#19968;个人有多远就躲多远的那种,所以干脆选了计算机。加上当时班上选计算机的女生就我一个,另几个男生都是特别投缘的几个哥们儿,所以很开心地就去学计算机了。另外那时候校园 BBS 正火,我也是玩的不亦乐乎,觉得学计算机至少上网的机会多很多(当时是那么觉得的)。所以学计算机这事就这么愉快地决定了。


等到真的开始上专业课,发现自己其实理论很强、动手却比较弱。所有专业课里面的理论课,像数据结构、算法、数理逻辑、编译原理、体?#21040;峁故?#20040;的几乎都是满分。但是每门课的大作业和要动手搭系统的部分,?#21152;?#28857;无从下手,做的也慢,也不感兴趣。好在当时人缘好,上机作业总有人 “帮忙?#20445;?#21152;上当时大学?#36828;?#25163;能力要求也并不算很高(现在想起来)。所以也是混成个假学霸的样子。


本科的毕业设计是要进实验室做东西的。当时稀里糊涂怎么就进了一个体?#21040;?#26500;的实验室,做嵌入?#36739;?#32479;的指令集设计。需要写一些汇编,跑一些实验。但是并不需要做大的软件工程。所以当时感觉自己还是理论远远高于实践(总想起天龙八部里面的王语嫣那种人,说啥都知道点,就是自己做不出来。)


其?#24403;?#31185;阶段,真的就一个字:混。


硕士阶段:各种底层系?#22330;?#32534;译器、函数式语言


科大申请出国就像当时很多学校的同学没事考个四六级证书一样,每个人都不用太去想,跟着大环境就开始折腾托福、GRE。当时你要问我为什么出国,不过是因为觉得周围小伙伴都申请的?#28982;?#26397;天,自己也不能落后。


稀里糊涂的,居然也就被 Rice 录取了。按博士入学的。但是美国很多研?#21487;?#38498;在拿博士学位前是需要拿个硕士学位的。所以这里会有一个硕士阶段。


我的导师是做程序语言设计的,也就意味着成天和编译器、解释器、语法器打交道。而且他的?#36739;?#26159;函数式语言(Functional Programming Language)。主要用的是 OCaml。


美国硕士阶段需要重修几乎所有的专业课。而且?#36828;?#25163;能力的要求极高。


所以硕士那三年,我差点没死过去。


理论部分完全没有问题。而所有的大作业、大项目,一开始做起来,可能要花别人两三倍的时间。加上本来?#25105;?#23601;重,还有科研项目要做。因为拿的全额奖学金,还有很大的心理压力。总之当时的感觉每一天都在 Push 自己的极限。好在那时候是真的年轻身体好,一天平均睡四五个小时也能熬的过来。几乎没有任何的课余时间,寝室楼、系楼两点一线。大学那种轻松的状态一去不复返。感觉每一天,都是当三天来用的。


好在也活过来了,不过这三年是我真的 “会” 写程序的开始。可以自己一个人从头到尾搭各种简单的系统?#21644;?#32476;相关的、算法相关的、分布?#36739;?#20851;的……尤其是编译器相关的。但是大部分做的还是比较偏底层的。


实习:Matlab、Controller、Simulator、C++


?#20102;?#22763;阶段的暑假会去大公司做实?#21543;?#24403;时因为在 Houston,所以两次实习去了同一家石油公司:Schlumberger。做的项目是给井底的机器人写控制算法。因为硬件很贵,出不得错,所以每个程序会在 Matlab 上用 Simulator 先做各种测试。就是那个时候把 Matlab 用的纯熟,也了解了一些大公司的软件工程和开发流程。对一些软硬件协同设计也有了更进一步的了解。


博士阶段:数据分析、数据建模、Python、C++


我?#20102;?#22763;阶段的导师后来因为个人原因离开了 Rice。所以我跟了另一个做 BioInfomatics 的导师继续我的博士阶段。他主要做的是 DNA Sequenece 和 蛋?#23383;?#32593;络相关的研究。因此我的?#25105;?#24456;大程序上就是大数据建模和数据分析。也会用到一定的机器学习,但是主要还是无监督算法。因为数据处理需要采集和预处理,所以当时每天要写很多的 Python 程序。而实际的数据建模和分析因为数据量太大,一般语言?#38405;?#19981;够好,所以使用的 C++。


入职初期:Web Server、Search Backend、Ruby、Java


真正开始工作后,我的文章里提的比较多了,做过搜索和支付,主要用 Ruby 和 Java。


其实最开始的时候心里很虚,因为觉得自己碰过的东西其实和互联网没什么关系,却突然进了互联网的领域。总感觉自己什么都不会。开始的时候也确实是什么都不会。所?#38405;?#20010;时候每天都压力?#24049;?#22823;,每天也加班,因为和别人差距太大了。不过可能毕竟很多计算机?#38469;?#30456;关的知识是相通的,慢慢地似乎发现很多以前了解的知识和学到的技巧,还是可以应用到解决问题中的。


说着轻松,其实也是经历了很长时间很?#20889;?#36133;感的阶段,才慢慢好起来。


所?#38405;兀?/strong>


有人问过我:“你觉得学 XXX 有没有用?” 这叫我怎么说?我自己就学了一堆 “没用” 的东西啊。我不会的东西很多。我会、但是用不上的东西也很多。


花了这么多年,才认识到这一点。最大的收获,不过是现在可以坦然面对工作上很多不会的东西。很多用不上的东西,了解个大概也就放下了,因为精力实在有限。工作真的需要的,那就去学呗。毕竟,我会的,有用的东西并不多。




经常后台有留言让推荐好的?#38469;?#20844;众号,我订阅的不多,所以又去在朋友圈收集了一下,下面一些,大家可以自行订阅评?#32769;隆?#25918;在前面的,是我也觉得不错的,后面的,是朋友推荐的。?#19981;?#30340;话,以后再荐。

  • ?#38469;?#20154;的博客一:的哥哥们——科技互联网类公众号推荐

  • ?#38469;?#20154;的博?#25237;?a href="http://mp.weixin.qq.com/s?__biz=MzA4ODgwNjk1MQ==&mid=406108966&idx=2&sn=7672e682c0f18e1e4be1c0b692b6adde&scene=21#wechat_redirect" target="_blank" data_ue_src="http://mp.weixin.qq.com/s?__biz=MzA4ODgwNjk1MQ==&mid=406108966&idx=2&sn=7672e682c0f18e1e4be1c0b692b6adde&scene=21#wechat_redirect">?#38469;?#22280;最值得关注的大牛自媒体推荐

  • InfoQ

  • 小?#32769;?#24687;

  • MacTalk

  • 二爷鉴书

  • StuQ

  • jnby1978

  • 老王卖瓜

  • 程序人生

  • 余晟以为

  • 待字闺中

  • 神秘的程序员们

  • 歪理?#20843;?/p>

  • keso怎么看

  • 高可用架构

  • 中生代?#38469;?/p>

  • 架构师之路

  • 移动开发前线

  • iOS 开发

  • 码工猴哥

  • 硅谷周边

  • 程序员的那些事

  • GrowingIO

  • ImportNew

  • RedHadoop顶级程序员

  • Python开发者

  • CPP开发者

  • 机器之心

  • Hadoop123

  • 测试架构师

  • 美团点评?#38469;?#22242;队(meituantech)


出处:www.liiav.club,转载请保留。

    Tags标签: AngelaTalk | 嘀嗒嘀嗒 |
    专题栏目:
    宝石奥德赛闯关
    河南11选5任5走势图 比分直播足球188 湖北快二玩法 四川快乐12选胆技巧视频 黑龙江时时时时评测 全民欢乐捕鱼好玩吗 七乐彩选号技巧及实例 梦幻西游单开炼金赚钱 11选5手机助手软件下载 天津快乐十分 开心麻将 云南时时的台子 福彩3d计划软件手机版 时时彩怎么做到稳赚 极速11选5 千贏国际官网