• 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 欢迎转载,也请保留这段声明。谢谢!
     
  • 相关阅读:
    Leetcode 191.位1的个数 By Python
    反向传播的推导
    Leetcode 268.缺失数字 By Python
    Leetcode 326.3的幂 By Python
    Leetcode 28.实现strStr() By Python
    Leetcode 7.反转整数 By Python
    Leetcode 125.验证回文串 By Python
    Leetcode 1.两数之和 By Python
    Hdoj 1008.Elevator 题解
    TZOJ 车辆拥挤相互往里走
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/3420412.html
Copyright © 2020-2023  润新知