Home > 博士五年 > 术业有专攻

术业有专攻

博士的第三年很快就要过了,如果正常时间毕业,那还有两年多。最近俺一直在问自己一个问题,Am I Ready? 答案是NO。毕业之后,我想进工业界,而不是academia。如果进academia,那research得有所成,否则以KSU的排名,毕业之后要找教职会比较难(本来就很难),一般都是去比KSU靠后的学校,这些学校往往都在偏僻地方。首先,我自己对学术研究的兴趣不大,当初申请phd的初衷是想着把能读的书都读了。本科毕业时的想法的确是这样,那时候不知道自己以后想做什么,只知道自己还没准备好到社会上闯。几番考虑之后,我就走上了这条出国求学的路。其次,虽然学校里的生活能够过得悠闲一些,但我还是很想到IT界去闯荡,想看看自己到底能走多远,凭我的能力我能达到什么样的层次。我对Startup的兴趣很浓,但目前这只是天方夜谭,还是那句话,没有ready,没有在industry的experience,寸步难行。最后,从前途的对比上,industry会更promising一些。我想去城市,更喜欢城市生活,而不是乡村养老式的清闲;我喜欢职场的竞争,当然不是说academia就没有竞争,只是这种竞争不适合我。走上industry的路,更容易实现个人对未来生活的期待,更容易让我体会到自我价值,而且计算机的就业前景和钱景都算不错。

我进业界的想法已经很明确了,现在该做的就是prepare myself。有个前提,是我得完成phd学业上的任务。该做research的时间还是做research,该看paper的时间还是看paper,不会去忙其他的。学业上的work是我顺利毕业的关键,不想输在这上面。我也想过只专注于research,但就我做的CPS方向来看,毕业之后能应用到的很少,太新的东西,现在的硬件和软件技术都没达到将之产业化的条件。而且软件公司们的职位要求都是很具体的关于一些语言和技术的掌握情况。假使我只做research,毕业后我觉得我当个好的programmer都成问题。那该准备什么呢?在计算机界如此混乱的当下,繁多的编程语言,各种各样的技术,得选一个自己有兴趣且会去深入钻研的方向,做到术业有专攻。最近看了不少书,也从网上了解了很多phd job的要求,纠结了一段时间,最后才把我的方向确定下来。

首先,C和Unix OS。要深入了解Unix/Linux系统,还有该平台上的C编程。最近看的书里就有APUE,Advanced Programming in Unix Environment,对Unix和C有一定了解,但还不够深入。现在很多的编程语言都注重应用开发,变化之快,种类之多,很容易让人lost。应用开发的竞争很激烈,也容易淘汰。可能你把某个语言和技术学了,等用上的时候发现又出了新的东西,于是你又得花时间去重新学。哪天换方向了,不用了,你就得换到其他语言和技术上了。C能做的事很多,但应用开发不是她的强项,她做的都是些比较底层的东西,经常与汇编语言一起用,比如写操作系统,嵌入式开发,etc。看了APUE之后,我觉得这一块挺有意思的,有兴趣去深入研究。这学期上的课,CIS722,讲的是MINIX操作系统的实现。除了要了解她的操作系统原理,还得分析的她的源代码,了解从理论到实践的过程。这其中涉及到shell,assembly,c等。上到现在,收获不小。虽然课程tough些,但还不至于到学不懂的程度,越是难的课,越是能学到东西的课,我就越有兴趣把它啃下来。虽然我们学的也只是minix的冰山一角,但OS里关键的东西课程都涉及到了,对应的源代码我也认真读了。找个时间,想和任课老师谈一下,因为我想在这方面钻研一下,听听专家的意见会很有帮助。除了这些,有必要让自己熟练Unix/Linux系统上的操作。Windows用得多了,很难切换到其他平台上,被Windows给惯懒了。

其次,TCP/IP。深究TCP/IP协议簇,熟悉协议的实现过程。我一直对网络协议有兴趣,可惜系里没有这样的课程,我只能通过自己的学习去深入了解了。之前看过TCP/IP详解的第一卷,了解了各种网络协议。但这了解仅限于理论上,还没有看代码实现。TCP/IP详解的第二卷边上讲实现的,这书我买了,但都没时间去看。这没时间,是之前觉得如此。但我没好好利用时间,每天都有不少时间浪费在无意义的事情上。说没时间也只是因为我自己没有去争取,没有去挤。鲁迅先生说过,时间就像海绵里的水,只要愿意挤,总还是有的。就我最近过的日子来看,确实如此,不该把“没有时间”当成借口,不该用“没有时间”来安慰自己。如果没有时间,那怎么还会在校内、Facebook上无所事事,怎么会在微博和QQ上与他人谈笑风生。与其这般浪费,不如将之花在看书看文章上,至少这样的所得让人觉得踏实。所以,我会挤时间看我买的这些书,达到目的才是关键,过程如何不重要。

接着,C++和Java。这两门语言以前都学过,但都只是入门级的,平时用的也不多。为了进一步学,我分别买了书,都是厚厚的一本。Java的看了一半就停住了,C++的才开始看。看了之后才知道我当初学的真的只是入门水平。现在要做的有两方面,一是从新学一遍语法和语言里各种技术,二是增加代码编写经验。计算机的书光看是不行的,哪怕你也认认真真的看了代码。看代码跟写代码的能得到的东西很不一样,写过了记住了才算真正学了。这也是我目前的要害,只看书不敲代码。我要改变这个状况。

最后,PHP+MySQL+JavaScript+CSS+HTML。一直热衷于整网站,于是自己花时间学了些皮毛的东西。但与我预期的还有很大的距离,这方面要继续努力。有精力我还是要自己认认真真地搭个网站,而不是现在的博客这样的,都是别人的东西。

以上四个方面,是我业余时间想要深入钻研的。或许两年多的时间太短,但好好利用的话,应该能学到让我可以接受的程度。除了这些,还得有一个敏锐的嗅觉,时时跟进计算机行业的前沿,毕竟这是个瞬息万变的行业,要么跟进,要么被淘汰。

最近的这些日子,过得挺好,心理上的,而不是表象的,因为充实,因为有目标,因为知道自己要做什么。术业有专攻,不仅指research,也指我自己想学的东西。

Let’s see how far I can reach.

  1. 雨魂
    April 10th, 2011 at 19:25 | #1

    I believe you can do it!And I will fighting。

  2. Ming
    April 11th, 2011 at 16:31 | #2

    看到你也还没ready,深感欣慰。。。。
    (还有 你那个require email的那条能不能废了阿。。。。。)

  3. April 11th, 2011 at 20:47 | #3

    @Ming
    我没ready,你欣慰个啥。那个不能去,wordpress默认的。

  4. April 11th, 2011 at 20:47 | #4

    @雨魂
    加油

  5. Ming
    April 12th, 2011 at 16:42 | #5

    @nanyo
    说明没有ready是正常现象,我可以继续吊儿郎当了。。。

  6. April 12th, 2011 at 17:38 | #6

    @Ming
    不是正常现象吧。。

  7. yuxcer
    April 20th, 2011 at 00:32 | #7

    学长加油啊,还有学web开发,可以尝试下Python以及Django框架,很快就能做一个自己的Blog出来。楼上某位希望的E-mail变成not required就能实现了。LOL

  8. April 22nd, 2011 at 11:59 | #8

    shell,assembly,c是基本的玩意
    如果想玩,还得要php的一套,真是精力有限
    术业有专攻啊……
    好像在国外都是研究MINIX的~

  9. April 27th, 2011 at 16:10 | #9

    @yuxcer 算鸟,偶实在没有精力再去学python了,把现有的先搞清楚吧。

  10. April 27th, 2011 at 16:12 | #10

    @moper php也就在web上用得着,这个不是我想去深究的,学学也就差不多了。

  11. April 28th, 2011 at 13:43 | #11

    @nanyo
    恩,还是得找一个东西钻。

  1. No trackbacks yet.