Fork me on GitHub
Beginning

A New Beginning

 

为什么写这篇博客

  不知不觉的,今天已经是我的生日了。我原以为我会在工作中度过我22岁的生日,没想到依然是在学校里焦急着等待召唤。

  我不打算在今天总结过去的一年的成长、思考,还是把这个工作留在2013年的结束吧。相反,由于过去一段时间,受了很大的刺激。在网上随意刨出大神也好,在线下看到周围的很多人都已经找了非常不错的实习,而我由于各种@#$%原因,仍然留在学校,非常有紧迫感,我觉得我已经落后了,而这是我最不愿意接受的现实。我感受到了我和他们之间的差距。虽然,比我强的人有太多,但这也是我非常不愿意看到的。这并不是说对那些非常厉害的人有敌视的意思,而是对我自己非常不满意。我知道厉害的人有很多,也许由于天赋的因素,我永远都不能达到他们的高度,但是我也不会这么轻易接受这个现实。我不能保证,我一定会赶上、或超过他们,但我一定有足够强大的意志,鞭策我足够努力,一步步靠近他们。即使最终没有超过他们,我想我也比一般人要强很多了。

  过去一段时间,我直接或间接的接触了更多的人,了解了他们做过的或正在做的事,视野更加开阔了,对于未来的路的方向,以及怎样走这条路也有了更加清晰的认识。其中,对我影响比较深的是BYVoid。最近在网上流传的阿里星面试跟踪详情,也着实的刺激了一把,在佩服的同时,更多的是对自己的一些期许。

  这也是我写这篇博客的初衷:在生日这天,许下心愿,定下目标,制定策略,自我激励。希望,从这个全新的开始,能让最近无事可做的自己增加些动力。

 

我的目标

  距离我正式找工作还有三年的时间,我希望能够在三年内达到BYVoid目前的水平。我希望能够把落后差距限制在3年。承认比别人差确实非常难受,但希望经过我的努力能够迎头赶上!

  3年时间,我希望能够再一下几个方面有较大幅度提高:

  • 数学功底
  • 编程能力
  • 工程能力
  • 英语水平

  这几个目标对于计算机学科来说非常基础当然也非常重要。不过只是这样列出来又略显苍白,还需要划分的更加细致。

数学

  数学是计算机学科的基础。我不需要把所有数学都学透,只希望在和计算机密切相关的 离散、线代、概率等方面下些功夫;只希望我在做相关工作的时候,不因数学功底差而受阻碍。数学能力决定着编程水平能够达到的最高度,这一点还有有体会的,在做一些ACM题的时候,确实能体会这一点。我不会集中一段时间去学习数学基础,只会在用到或将要用到的时候去补充下知识。

编程能力  

  这一点不用说了,对于做程序员来说,这是最最最重要的了。我想,能够体现编程能力的对数据结构和算法的掌握了吧。我想,ACM是提高编程能力最好的方式了。此外,ACM也强调基础算法,和数学也有关系,所以一定要经常刷ACM试题。具体练习量后面再谈。

工程能力

  我之所以把工程能力和编程能力分为两个部分,我觉得还有有些区别的。编程能力更强调基础能力,而工程能力更加专一些,更加强调实践能力。比如对于编程语言C/C++、Java、Python,Web技术,Android编程这些技术的掌握就算是工程能力。

  在编程语言方面,我希望能够精通C语言(较为低层次、面向过程、高效)、Java(面向对象、有强大的库)、Python(易于掌握、非常喜欢、效率较低)及一门函数式编程语言(不是特别了解)。

  其他技术的掌握,会在研究生阶段做项目的过程中去锻炼,可能会涉及数据库技术(SQL,Oracle)、Android编程、海量数据处理(Hadoop)。毕业前,我希望能有至少5个做的非常好的项目经历。

  在学校学习工作之外,我打算有一些好的idea,自己做开源项目的开发。现在已经有一些idea,是基于自己生活的需求,打算做成Android应用,但是不够成熟。

  总的来说,以前编程都是小打小闹,上不了台面,希望3年后,我能够几个拿得出手的项目,希望做出来的东西能够让足够多的人使用,能使一些人的生活越来越方便。这样的简历才好看。

英语水平

  英语真的非常非常重要。查阅英文资料需要用到(Reading),写paper需要用到(Writing),以后去外企实习、工作需要用到(Listening & Speaking),看美剧需要用到。。。

 

我的计划

提高编程能力

  1. 以《挑战程序设计竞赛》、《算法导论》为参考书,3年内,400~450 ACM problems Accepted,相当于每个月完成12道。如此,可以算法有较深理解,较大程度上提高编程能力。
  2. 如果有时间,参加GCJ,TopCoder等比赛。

提高工程能力

  1. 有2~3个实习经历。希望其中之一是大型外企(MS,Amazon,IMB .etc)。本科毕业后暑假,研一期间(挤出足够多时间),研三可以作为主要实习期。如果有国外实习机会,一定要抓住!(软件所的实习经历不算在内)
  2. 参与至少4个大型项目研发,并发挥较大作用!学校和实习单位可以提供机会。
  3. 至少发布4个开源项目,包括手机应用、浏览器插件等。并至少其中2个受到广泛欢迎!在这一点上,技术是一方面,还需要有好的idea。

提高英语水平

  1. 不要害怕读英文原版的书籍、论文。比如:《Delivering Happiness》,非常赞的一本,涉及词汇不多,但不论思想上、英语上都能够提高不少。
  2. 给自己创造英文的环境,总是试图找能够经常用英文和其他人交流的机会。
  3. 尝试着用英文写文章,虽然一开始可能比较困难、耗费时间比较长,但总是值得的。

其他

  1. 广交朋友,开拓视野。(校友、人人、twitter、facebook、开发者社区、Internet)
  2. 阅读计算机领域经典图书。
  3. 经常写博客。记录自己的生活,自己的思考,自己的收获。知识在于积累!如果可以的话,可以尝试建立搭建个人博客。
  4. 经常去的网站:CSDN,博客园,stackoverflow, github, 知乎, 人人 .etc
  5. 缩小自己的兴趣范围,让自己更加专注!(give up NBA, football)
  6. ......

 

最后的话

  我原本想只列出一年的目标,考虑了好久,还是把三年作为期限。总的来说,上面的目标,如果努力是一定可以达成的,但是有些措施还不够具体,不够完善,可能会对其进行修正。在接下来的一段时间,我会让我的计划更加具体,可实施!希望当我开始实习时能够有个完整的计划!

  上面这些小的目标的最终点是三年后的找工作,也就是为了我的职业生涯,工作≠生活,所以,上面这些不是我的全部。

  开始的时候说过,我希望三年后,我能够达到BYvoid目前的程度,列出这个目标后,我发现,即使我所有都实现,这样还不够!所以,我只能做的更出色!

  好吧,不再呻吟了,以后的路谁知道呢?Do more, think less!

  22岁,又是一个新的开始~

作者:viczzx 出处:http://www.cnblogs.com/zixuan-zhang 欢迎转载,也请保留这段声明。谢谢!
 
posted on 2013-11-12 22:30  HackerVirus  阅读(218)  评论(0编辑  收藏  举报