2006年07月06日

刚才批驳了《程序员》上的一篇文章,但其实,《程序员》上还是有好文章的,不然,其也不可能保持中国程序员杂志老大的地位。看到一篇美国人写的《给计算机 系学生的建议》(http: //chinese.joelonsoftware.com/Articles/AdviceforComputerScienceC.html),那个 老外就非常中肯的提出了很多优秀程序员应该具备的素质。

    计算机系学生的就业问题一直是大家关注的热点,互联网和软件业的忽冷忽热,导致计算机系的学生极为敏感,很多人都在迷茫中,不知道该学什么新技术好。前段 时间闹的沸沸扬扬的北工大某学生照搬某南京大学老牌毕业生的《计算机系学生的发展方向》,折射出了这一问题的关注程度。

    先来看一下Joel给计算机系学生们七条免费的建议:

  1. 毕业前学会写作
  2. 毕业前学会C语言
  3. 毕业前学习微观经济学(microeconomics)
  4. 不要因为某些非计算机课程枯燥无趣就敬而远之
  5. 学习有大量编程实践的课程
  6. 不要担心工作都跑到印度去了
  7. 好好做夏季毕业实习

      这些建议,和国内传统宣传的不太一样,和某些软件学院院长宣传的,更是大相径庭。最让中国学生不理解的,一定是第一条:毕业前学会写作。作者说道:“我不 会雇佣一个不懂写作的程序员。如果你擅长写,你就很容易找到工作,紧接着你就会被要求写技术规格文档,这意味着你已经被管理层注意到了。”而中国的实际情 况呢?现在的理工科学生普遍忽视人文知识的获取。我就是计算机系毕业的,我有某些同学,一本世界名著或中国名著都没有读过,别说写作,就是说话都很难表达 自己。这样的人,你能指望他写出优质的程序吗?

    程序员,是一个需要艺术灵感的职业,所以,要有自己的思想。很多计算机系的学生,听闻java火,就去学java,听说.net容易找工作,就去学. net,到头来,一事无成。有一次,我们公司要招聘人,我随手写上,要有职业精神,上班时间不做工作无关的事情(其实我自己也做不到)。马上遭到了同事的 批驳,他说,如果一个人除了程序,别的都不关心,不会是一个好的程序员,更不会是一个优秀的人。我赧然,马上修改了。

火炬把如何做简历都说完了,那我就来讲讲我个人对面试的体会,当然,主要限于程序员,可能对别的职业也有一定的帮助。在早期,我保持了100%的面试成功 率,当然也是因为面试的少,跳槽少造成的。但有一次,在跳槽愿望并不强烈,并且正在发烧的情况下,把自己的这一纪录打破了,甚为可惜。

    简历是用来获得面试机会的,所以在面试的时候,要把简历忘掉,迎接又一次的挑战。有一些文章说,去面试的时候应该打车去,而不是坐公交车或骑车,有一定道 理,主旨就是要保持一种从容不迫的心态。进公司后,接待人员会把你带到面谈的地方。你可以先观察一下环境,猜测这个公司的经营状况和管理能力,判断将来的 同事的素质。

    正式面试开始了,先要问清楚,对方是什么部门的,职位。通常会有两类,一类是hr,另一类是需要人的部门的领导。hr通常因为不懂技术,所以你可以适当夸 张的描述自己的技术和经验,他们不擅长去追问细节。另外,hr可能研究心理学较多,所以你要展现(或吹嘘)自己较好的优秀品质,比如团队合作精神,负责 任,等等。无论是否要过hr这关,都会面对真正的难关:部门经理或部门的核心技术人员。如果技术部的部门经理,通常都是普通的程序员升上来的,所以有程序 员的本质特征:务实。这时候,就千万不能夸大吹嘘了,至少不能吹破牛皮。我也有不少的招聘经验,作为程序员,我最重视的是面向对象思想,逻辑能力和一些基 础。因为我是科班出身,所以我对数据结构,操作系统,数据库等基础很重视,这些才是真正的灵魂。不过,有些非科班出身的,可能就更加关注你的实际开发能 力。关于学习能力,很多应届生和经验不多的人就强调自己有这方面的能力,我想,大部分招聘的人都听烦了,读过大学的人,都会有一定的自学能力,相差不大, 更重要的,是主动性和自觉性。

    讲了这么多,我想告诉大家的是,面试是一个综合性的考察,临时突击基本上没有用。你需要在平时积累自己的思想,以及锻炼自己的修养,在和考官的交流中,表现自己在技术能力,人品和敬业精神方面的过人之处,才会赢得考官的认可。

    表现自己对这个工作的兴趣,以及对工作的热情,可以说是在证明自己的能力之后最重要的事情。我们招聘的时候,常常会遇到一些人,以为自己水平高,肯定符合 条件,就以高高在上的态度说话,这是很不正确的。面试是一种博弈,应聘的需要工作,招聘的需要人才。最理想的状态是,应聘者阐述自己的优势,招聘者阐述自 己公司吸引人的地方。如果达到了这样的境界,我想面谈一定会很愉快。
 

    到最后,就涉及具体条件的谈判了。这也是因人而异的。首先的原则是,自己不要主动提出薪水等条件。如果考官问及你的期望薪水,说明他基本上认可你了,愿意 你加盟这个公司。回答可能有两种:一是说,遵从贵公司对该岗位的定位。二是,我目前拿多少多少,如果不低于多少多少,我才可以考虑跳槽。另外,我的建议 是,谈工资的时候要具体,问清是税前还是税后,是否有其他福利,加班多否,有加班费否,等等。可能有的人认为这样不好,但我还是倾向于尽力维护自己的权 益。

    我在这篇文章中,讲得比较细,一些泛泛的东西,例如面试礼仪之类的,我想大家都知道,不需要多讲了。希望这篇文章能给面试经验较少的朋友一些帮助。我讲的东西不一定都对,希望各位朋友指正!
 

今天在《程序员》上看到一篇很恶心的文章,某软件学院院长写的《金融信息化对人才需求的变化》,如骨梗在喉,不得不吐!

    《程序员》上常有些软文,宣传软件学院的,那也就算了。毕竟这个,对很多人还是有意义的。可是这位院长,并没有宣传他们学院(可能他觉得学校的知名度已经不需要吹牛了),而是写了一篇“颇有深度”的文章,希望给大家“很好的引导”。

    这位院长,教授,应该是对金融信息化颇有研究的,提出的开发者需要对技术和业务都熟悉,虽然是人所共知的,但我们也不能说他错。接下来的话,就显得很可笑 了。试看这段:“金融行业对技术人才的要求是技术很广很精,在开发语言方面,除了java外,还可能要求懂c++和数据库等。总之,需要复合人才。”这象 是熟悉技术的大教授写出来的东西吗?首先,数据库不是开发语言,其次,熟悉几种语言,对一个合格的程序员来说,并不是什么难题,我们在招聘程序员的时候, 关注的是他的面向对象的思想,数据结构等基础是否好,还有学习,研究能力,解决问题的能力,语言是细枝末节的东西。

   接下来,他又有了一个警世骇俗的言论:“反观我们的教育体系,研究所和大学培养的人大部分是研究性人才。不是说研究性人才不需要,而是现实中需要的大部分 是业务性人才。”读到此处,我明白了,他还是在为软件学院的宣传做伏笔。但是,也不能如此歪曲中国的教育!!中国现在的计算机本科生,有几个称的上有研究 能力的?硕士生称得上有研究能力的也不多吧?我有些同学,在读母校的研究生,当然我们学校不算好。大部分,就是在给实验室打工,做项目,不要说研究能力, 就是省级刊物上也发表不了文章,他们的导师呢?正忙呢,一般不管学生,只管赚钱,而是让一些助教,讲师带研究生。那些助教,讲师,自己还在为发论文发愁, 哪有心思管他们发论文?名校可能好一些,但我认识一些名校的研究生,也说就是这么混过来的。然后靠着个文凭,进好的国家机关或外企,仅此而已,研究?从来 没想过。

    这位作者如此歪曲事实的原因是,他想说:“对我们软件学院来说尽管设的是软件工程专业,但不是研究性的学科硕士,而是为应用而培养的人才。”就此打住,也 就可以了,他的目的达到了,大家都会相信他的话。可是,他画蛇添足的告诉大家:那些作为研究性人才的学生,最缺乏的是研究能力。

    读到此,苦笑不得……

2006年07月05日

    今年的世界杯期待已久,依稀记得3,4年前还对在德国读书的同学说,06年世界杯我要去德国看。世间遂人愿的事情通常比较少,原来以为6月份我还会在美国,可是突然就回国了,又很迅速的辞职,去donews上班。
    我喜欢足球已经很多年了,踢得少,但看球,玩游戏比较多。事实上,我对世界杯兴趣不算很多,总觉得没有欧洲顶级联赛和欧洲冠军杯精彩。女友是个超级球迷,而且对世界杯非常热衷。我只能强打精神,尽量和她一起看球。
    起初那些三点的比赛,我都没有看,上个周末,在女友的强烈要求和刺激(多次斥我为伪球迷,然则我不自认为球迷)下,基本都陪她看了。今天凌晨的半决赛是德国对意大利,今年这两个球队都打得不错,所以我打定主意要看。闹钟准时响起,我坚持了80分钟后,虽然觉得这场球还是比较有水准的,但是更喜欢与周公为伴。睡梦中,听到女友惊叫,知道是进球了,然则也无法起身。几分钟后,又听到她惊叫,以为是点球,去客厅一看,但见德国队员都一脸茫然或沮丧或暗淡的坐在草坪上,才知道比赛已经结束,意大利在最后2分钟连入2球,没能看到进球,憾甚,又一次被女友鄙视为伪球迷。