zoukankan      html  css  js  c++  java
  • 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 欢迎转载,也请保留这段声明。谢谢!
     
  • 相关阅读:
    15道简单算法题
    提高SQL查询效率
    算法--两道百度笔试题
    .NET牛人应该知道些什么?
    VS创建、安装、调试 windows服务(windows service)
    Build System 和Test Framework overview总结
    3.8 Templates -- Actions
    3.7 Templates -- Links
    3.6 Templates -- Binding Element Class Names(绑定元素类名)
    3.5 Templates -- Binding Element Attributes(绑定元素属性)
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/3420412.html
Copyright © 2011-2022 走看看