如何在一年的时间内有效提高自己

Published on 2014-09-04
  1. 极其明确的目标

  2. 合理安排时间

  3. 强大的执行力


Improve

以上是我最开始想到的答案。 幸运的是我并没有就此停下来, 仔细考虑之后, 发现提出的问题其实包含两个部分:

  • 如何做到提高自己?

    一开始列出的三条应该差不多能解决这个问题了。

  • 如何做到有效?

    首先需要回答如何评判有效。 个人认为所谓有效, 就是首先个人能力提高到足够高的程度, 即至少略微超出一开始预定的目标; 其次是得到的提升符合自己的价值观, 体现在我自己身上, 就是坚持 “ 技术改变世界 ” , 并且伴随提升为自己带来经济利益, 当然,原则性的问题就不强调了。


2015-01-03修改

背景

  • 虽然有方向,但是没有项目,动手实践经验少
  • 低估了达到一个比较高的目标所用的时间,毕竟自己只是在读硕,时间紧张
  • 科研任务虽然占用时间多,但是对职业生涯来讲属于边缘,能压缩则压缩,挤挤时间就出来了

修正

  • 学习方式改为项目驱动
  • 重新确定目标
  • 重新安排时间

2014-10-14修改

以前计划的不合理之处:

  • 精力太分散, 根本没有那么多时间把每件事情都做好
  • 没有考虑科研任务, 而这一项将占用大多数的时间
  • 舍本逐末, 并不是所有的任务都是朝目标前进的

修改方向

  • 减少任务种类
  • 去除无关任务

1. 极其明确的目标

一年后其实已经不早了, 到这个时候就要开始找工作, 所以这一年的目标就围绕这个展开, 对自己要求高一点吧~

一年后的目标:得到Google总部级别的工作职位。

那么Google职位的要求是什么呢?

  • Software Engineer
    • C/C++/Java/Python精通至少其一
    • 丰富的工作经验,方面:Unix/Linux或者Windows,以及TCP/IP,机器学习,分布式系统等
    • 网络编程、大型系统开发经验
  • Software Engineer, Machine Learning and Artificial Intelligence
    • 精通NLP或者机器视觉
    • 熟悉C/C++/Java/Python
    • 精通机器学习或人工智能

现在,需要为了这个目标制定方向了。

1.1 主要方向

为了达到目标,需要确定的一些技术方向和层次(关于层次,参考 《学习&使用技术的四种层次》 ),而且需要使用大量的时间:

  • Algorithm - Worker, for 100+ problems. 8h per week.

  • Machine Learning - Craftsman, for fundamental theory and implementation. 20h per week.

1.2 辅助方向

上边的三个方向应该会花掉绝大多数的时间,但是还有一些辅助方面的东西需要努力:

  • 英语 - 主要是词汇量和听说。睡觉前,保证每周不小于5次。

  • 零散知识,如操作系统、软件工程、设计方面的,保证质量,不定时间。

  • 体育锻炼,每周至少两次,不解释。

2. 合理安排时间

2.1 空余时间分析

工作日每天无法被利用的时间

  • 00:00 ~ 08:00 睡觉、洗漱、早餐,共8小时
  • 11:30 ~ 12:15 午餐,共0.75小时
  • 12:50 ~ 14:00 午休,共1.17小时
  • 17:30 ~ 18:30 晚餐,共1小时
  • 22:00 ~ 23:00 洗漱,内务,共1小时

以上合计11.92 = 10 + 1.92小时,结余12.08 = 11.5 + 0.58小时,每周累计结余60.4 = 57.5 + 2.9小时

非工作日难以利用的时间

非工作日需要处理一些杂事,而且比较容易偷懒(汗~),所以暂且认为只有一天是有效的。而这一天的作息可能也不稳定,姑且认为结余12小时。

2.2 时间安排探索

  • Algorithm - 8h of every weekend
  • Machine Learning - 4h*5 of weekdays
  • English - 1h*(5~7)
  • Exercise - 2h*2 of weekdays
  • Other - 2.9h of weekdays

以上合计47 = 27 + 8小时左右,现在工作日结余30.5小时,非工作日结余4小时

评价:总体感觉特别紧张,结余30小时,还要完成读研重任,紧张啊!不过考虑到无法利用的时间其实进行了一定程度上的 “ 松弛 ” ,而且设计时间表还要考虑到可以利用的连续时间,所以目前的方案还是有考虑空间的,先试行一周试试吧~

2.3 时间表

  • Algorithm - Available time in weekends
  • Machine Learning - 18:30 ~ 22:00 on Tues. and Thurs. and all available time in weekdays
  • English - 23:00 ~ 24:00 every day
  • Exercise - 18:30 ~ 22:00 on Wed. and Fri.
  • Other - 12:15 ~ 12:50 of weekdays

3. 强大的执行力

空论执行力是很可笑的,要想提高执行力,就要贯彻 “ Deadline是第一生产力 ” 的方针,更可行一点说,就是记录、盘点自己做过的东西。之前我曾经出过一个 “ 拖延症杀手 ” 的产品,不过后来因种种原因又下线了。虽然还有将其重写后上线的想法,不过目前暂时还是就在这篇博客的最后不断附加自己的执行情况吧。

4. 有效性检验

  1. 提高的程度: 坚持这份计划,提高的程度应该还是很有保障的。

  2. 价值观: 重点在于是否能够带来经济价值,这一点目前确实无法保障,后边且走且修正吧。


5. 执行情况

2015.2

  • 1 ~ 7

2015.1

总结:又是状态很不稳定的一个月。很多时候觉得自己过于急功近利又不能专注,这些毛病,要改。可喜的是终于找回阅读的习惯了,基本没事的时候都在读书。最后,一定一定要记住,不管学什么,一定要有属于自己的积累,不能学完就扔了!

  • 25 ~ 31 还是用人话吧,不然表达太不清楚了
    • 实验室工作:确定使用OCaml重构老板的工具,并开了个头。但具体的思路还是比较模糊。
    • 码代码:修补了一下博客,终于没那么难看了。
    • 读书:又一次读《微观经济学》,比上次多读了两章;买了三本书,《写给大家看的设计书》《设计原本》《鸟哥的linux私房菜(基础学习篇)》,陆陆续续开始看吧
    • 运动:奔跑三千米,哑铃卧推等,两次
  • 18 ~ 24
    • Research Work: Understand how to find new invariants
    • Coding: finish first version of services of exam
    • Other: running for 3km, once
  • 11 ~ 17
    • Research Work: Learning Isabelle, and prepare rewrite invFinder
    • Coding: Start exam of One Year Later
    • Other: running for 3km, once
  • 4 ~ 10
    • Research Work: Start learning Isabelle
    • Other: running for 3 km, twice; make some plans

2014.12

Summary: What I need to improve might be social skills, in fact. I can work out some products, but can't make people know.

  • 28 ~ 3
    • Reaserch Work: Fix bugs on trans2smv
    • Coding: Publish One Year Later
    • Other: running for 5km, twice
  • 21 ~ 27
    • Research Work: Fix bugs of trans2smv, run godson-t correctly
    • Coding: Start project One Year Later
    • Other: running for 5km, once; Finish reading Hackers and Painters
  • 14 ~ 20
    • Research Work: debug trans2smv, find some errors in german.fl and flash.fl
    • Data Structures: Chapter 11, 12 of Course in MOOC, and PA04 - Cycle of TOJ
  • 7 ~ 13
    • Research Work: trans2smv - translation fl to smv
    • Data Structures: Chapter 8, 9, 10 of Course in MOOC, and PA04 - Schedule of TOJ
    • Exercise: running for 5km, twice
  • 1 ~ 6
    • Research Work: OCaml Core, Modules and OO Features
    • Data Structures: Chapter 7, and part of 8 of Course in MOOC
    • Machine Learning: Research about artificial intelligence for robots
    • Exercise: running for 5km, twice

2014.11

Summary: Not bad, however, not excellent as well. I'm not always hardworking as I could. There is a very good article. Everything is impossible, if you never try.

  • 23 ~ 30
    • Research work: Prepare for translating between Murphi/forte/SMV
    • Data Structures: MOOC PA03 in TOJ
    • Machine Learning: k-Means
    • Exercise: running for 5km, once; Pingpong once
  • 16 ~ 22
    • Research work: Model Godson-T protocol in murphi
    • Data Structures: Part of Chapter 7
    • Machine Learning: Bayes Classifier, Artificial Neural Network, SVM, Linear Regression, Association Analysis
    • Exercise: running for 5km, once
  • 9 ~ 15
    • Research work: Knowlege about bmc, cbmc and gentle, etc
    • Data Structures: Chapter 6 of Course in MOOC
    • Machine Learning: Decision Trees, and k-NN
    • Exercise: running for 3 km, once
  • 2 ~ 8
    • Research work: cbmc and OCaml
    • Machine Learning: Keywords - List of Machine Learning Concepts
    • Data Structures: PA02 in Tutorial of TOJ, which requires Backtracking and Dynamic Processing respectively; Chapter 3 ~ Chapter 6, b1 of Course in MOOC
    • Exercise: running for 5km, twice

2014.10

总结: 弯路少走了不少, 不过国庆期间总体有些懈怠, 最后十天的打鸡血状态算是一点点弥补吧~

调整: 稍稍减轻数据结构的比重, 开始深入机器学习领域

  • 26 ~ 11.1
    • 科研任务: 熟悉godson-t协议, 并尝试对其进行invFinder建模; 稍稍了解了一下OCaml, 是不是可以考虑直接换成F#?
    • 数据结构: MOOC课程的第三章的一半, TOJ上MOOC的PA02, THU的PA01和PA02, CST的PA01, 并且拿到MOOC和THU的四个PA的共14道题目中的10个性能第一名
    • 体育锻炼2次: 跑步、 哑铃卧推等
    • 其他: 《数据挖掘导论》 中关于决策树、 贝叶斯等部分的浏览
  • 19 ~ 25
    • 科研任务: 打杂,读Parallel Computer Organization and Design的部分章节
    • 数据结构: MOOC课程的前两章, TOJ 上MOOC的PA01
    • 体育锻炼1次: 游泳冻成狗
  • 12 ~ 18
    • 科研任务: 运行实验,整理数据,校对paper
    • 其他: 《数据挖掘导论》 第二章浏览
  • 1 ~ 11
    • 稀里糊涂的过了一个国庆,汗~

2014.9

总结: 基本没有偏差, 不过还是有一些弯路, 比如开始有打算后来又放弃的, 像EdittTextWithButton和《编程之美》的阅读

  • 21 ~ 30

    • 科研任务: 阅读论文,撰写脚本
    • 体育锻炼3次: 跑步等2次,游泳2次
    • 其他5次:《敏捷开发一千零一夜》阅读完毕 ,《编程之美》开头后决定放弃,《数据挖掘导论》开头
  • 14 ~ 20

    • 科研任务:阅读FL代码,并作出一些修改
    • 数据结构和算法1次:Hash表和堆
    • 体育锻炼1次:游泳,冻感冒了...
    • 其他6次:阅读《敏捷开发一千零一夜》
    • Android:发现了一些有趣的开源库 ,打算开始写EditTextWithButton
  • 7 ~ 13

    • 狂补科研任务
    • 数据结构和算法2次
    • 体育锻炼2次
    • 其他3次(阅读《敏捷开发一千零一夜》)
  • 4 ~ 6

    • 英语 1次
    • 狂补科研任务,文档2篇
  • iT2afL0rd2015-01-06 15:32

    博主是一个有计划和想法的人!赞一下,希望能坚持下去!

  • 无名游客2015-11-08 15:44

    大赞博主,已博主为榜样

  • Emilio2016-08-31 20:47

    刚才google如何有效利用leetcode的时候无意间看到博主的文章,心头一颤,居然有跟我如此相似的人,我现在在上交刚研二,指定的计划跟你很相似,也是要把自己的CS基础打好,把机器学习搞好,而且做计划的心得体会也是,目标要明确具体,计划要切实可行,真是相见恨晚!!

  • Fan2017-11-13 10:32

    很好奇,想知道博主之前修订的目标是否

  • Fan2017-11-13 10:33

    很好奇,想知道博主之前修订的目标是否实现