1.1.3 修炼第三层境界:最深即最浅,最浅即最深,不过如此
修炼第三层境界的程序员,他们通常是在第二层境界"突破自我"之后进阶上来的有智慧的人,所谓"突破自我"就是打破自己而脱掉原有的蝉壳,破壳而出获得新生的过程。
在修炼的第二层境界已经将技术水平练就的如火纯清,甚至个别技术可以用"登封造极"来形容,有自己的一套"绝活",可以说,靠这些本事在业界应该说是过着"衣食无忧"的生活。
他们逐渐发现,技术永远是技术,原来一直认为最深的技术恰恰是最简单的,而原来最简单的那些技术恰恰是最值得去研究的,其实那些所谓的"登封造极"对于他们来说,仅仅是利用他们所掌握的"原理级"技术,将"应用级"技术进行不同的排列组合而已。
任何"应用级"技术在他们眼里,没有任何区别,他们看着那些被业界炒作的"如火如荼"的技术,像什么,EJB 啊,开发框架啊,或者对于开发语言,什么Java 啊,Vb 啊,C 啊,或者其他什么语言,基本上是很"淡然",既不觉得如何好,也不觉得如何不好,只会淡淡的说一句"不过如此"。
所以,他们要突破,他们要进阶,面对他们的是更加广阔的空间,然而,他们会逐渐发现,他们进阶的桎梏恰恰就是原来自己的"优势",较高的技术水平,使他们更难"抛弃"或"摆脱"。突破自己的方法就是从技术中跳出来,利用"应用级"技术的不同排列组合去创造,去创新,这些创新要紧密的结合市场,要紧密结合应用业务。
他们不仅仅要具备很好的技术知识水平,还要具备更敏锐的产品洞察力,和更灵敏的市场嗅觉,并能够将这些能力充分的发挥并输出技术与市场都响当当的创意。最终他们成功了,达到了程序员修炼的第三层境界,他们已经突破了原有程序员的传统概念,达到了在业界"横行无阻,任意驰骋"的能力,这就是程序员修炼的最高境界。
第三层境界特征:
工作时间:工作六年以上(经常跳槽的不算)
工作任务:"应用级"技术的不同排列组合,以市场为导向去创新与创造
工作内容:面对市场背靠技术开发团队,指导开发的市场着眼点,指导市场的获利方式
工作目标:盈利
工作职位:部门经理、研发副总、CTO、解决方案专家、业务专家、产品经理、高级产品经理等
参考薪金:¥15000以上(仅供参考)
1.1.4 点评"修炼三层境界"
王国维在《人间词话》中对人生三境有如下阐述,"古今之成大事业、大学问者,必经过三种之境界。'昨夜西风凋碧树,独上高楼,望尽天涯路',此第一境也。'衣带渐宽终不悔,为伊消得人憔悴',此第二境也。'众里寻他千百度,蓦然回首,那人却在,灯火阑珊处',此第三境也。
又有人说人生境界如陶渊明《桃花源记》中所写的"初极狭,才通人。复行数十步,豁然开朗。"程序员的发展路径,就是程序员人生路径,从最初的"看山是山,看水是水",到后来见的多了悟到"看山非山,看水非水",没想到最终发现"看山还是山,看水还是水"。
1.1.5 回答这个问题
言归此问,"这个职业赚钱吗?赚多少钱?",我想我已经回答了这个问题,世界上没有天上掉下来的馅饼,也不会掉下一个林妹妹。
任何事业,均需如下才可成功:第一要立志,第二要思考,第三要奋斗。
1.2 问题2:大学毕业生找不到职业入口
大学应届毕业生,现在找工作是如此之难,本书不回避这个问题。目前的情况与笔者当年毕业时的情况有天壤之别。这个问题说起来是一个大话题,关系到"社会"、"经济"、"文化"、"教育"等诸多领域,并非一言以蔽之的事情,对于国内教育体制与社会用人需求脱节的问题,大家也已心知肚明。
本书也没有奢望能够在本节将其讲的很清楚,只希望,能够结合本行业的具体情况给出一个理由,以及给处于此阶段的同学们一个解决办法而已。
话说到,"大学应届毕业生,现在找工作是如此之难"这一问题,从本行业出发,不负责任的人,无非会给出一个似是而非的解释"缺少工作经验"。
乍听起来,好像是很有道理,但仔细一想,简直是"废话"。
应届毕业生哪里来的工作经验呢?
如果,按此逻辑,凡是毕业生通通在待业,因为,始终没有工作过,哪里来的工作经验,所以永远找不到工作啦。
认真的面对这个问题,我们的回答是:
缺少应聘该职位所必需的技术或者能力。为什么这么说,要知道,并不是只有应届毕业生找工作难,有"工作经验"但"缺少应聘该职位所必需的技术和能力"的人找工作同样难!所以,要想解决这个问题,作为我们广大应届毕业生同学,必须要弄清楚"应聘该职位所必需的技术和能力"都是什么。
即,工作经验都是什么经验。
1.2.1 工作经验都是什么经验
我们刚才已经说了,所谓的工作经验就是"应聘该职位所必需的技术和能力",那么这个技术和能力又具体指的是什么呢?
我们只从行业出发,来剖析这个工作经验,他是包含两个方面的问题,即"技术"和"能
力"。
1.2.1.1 首先说说"必备技术"
这时有些同学可能会说,"我已经会很多程序的开发技术啦,Java、C#、VB,都会呀,这些技术难道还不够吗?"
我可以毫不迟疑的告诉你,"不够!"。
我们再回过头来看一下,我们在"前言"中提到的那个应聘简历:
主要擅长于计算机的维护、应用以及开发:
软件方面:现以通过国家软考中心软件设计师资格考试;主要熟悉的IDE 环境:VC++,C++Builder,VB;主要使用的数据库接口:ADO;主要使用的数据原:Access,SQL Server,擅长使用SQL 语言;主要使用图形接口:OPENGL,对DirectX 接口也有一定了解;
其它语言:Java(J2EE、J2ME);
网络方面:熟悉ASP,PHP,JavaStript,以及网络构架设计、施工、调试,对安全知识也有相当的了解;
系统维护方面:有三年的计算机维护经验,熟悉系统工作原理;
其它:熟悉CAD、Photoshop 等几乎所有常用软件的使用,UNIX 系统的应用;这个简历中,几乎将目前信息系统开发的所有技术都列出来了,生怕用人单位会因为自己的技术不全面而不给他面试机会。
而结果是,仅仅有一个公司让他去面试了。
我们这里所说的技术,并非指的是"广",而指的是"精"。倘若这位同学真的搞定了那些技术,我想,每项技术能达到用人单位的要求,都至少需要1年时间,那么,在他的简历中提到的技术大家可以数一数,至少有10种,简单一算,全部掌握需要多长时间呢?
回答:10年!
那么,我请问,这位应届毕业生同学,哪项技术可以单独拿出来工作呢?有经验的主管们,一眼便知,此君为"应届"。因此,我们广大同学应该在所掌握技术的深度和精度入手,那才是用人单位最需要的。
1.2.1.2 再说说"必备能力"
说到能力,我们的很多应届毕业的同学们都愿意给自己的评价是"我的学习能力很强!"
或者是"具有良好的学习意识"等等。
请看这是某君简历中的自我评价:
本人性格开朗,做事认真,富有开拓精神,不怕挫折,具有良好的团队意识!具有良好的身体和心理素质,有较强的学习意识和自学能力。作为IT 行业的一员,我愿意花费更多的时间,不怕困难,努力提高自己的专业水平!
他的这段话看起来似乎还不错,如果看这个自我评价的是他的班主任,一定会感到很欣慰--真是一个勤奋好学的好学生!
然而,仔细看来,他这段话的重点是"自身学习能力和学习意识",以及"自我提高的强烈愿望",他很显然很想让用人单位知道他在校的学习成绩是多么的优秀,或者生怕用人单位觉得他在校期间学习并不优秀,总之,他千方百计的要突出自己的学习能力。
说到这里,肯定有些同学会很不服气,会说"突出学习能力强和自我提高的强烈愿望,这不正是说明他或她是一个好学生,有什么不对吗?"
当然不对啦,如果我作为用人单位,我请问你,"你学习能力强,自我提高的愿望那么强烈,和我们公司有什么关系",很显然你工作的第一愿望还是提高自己的技术水平,换句话说,你一定是对这份工作心里没底,希望借用"学习能力强"来告诉用人单位"我现在虽然什么都不会,但是我学习能力很强,很快我会学会的"。
我在公司中经常听到的一段对话是:
A 君:……。
主管:"你到这里的目的是学习?还是工作?如果你的目的是学习的话,你应该给我学
费,而不是管我要工资。"
说这话确实有点严厉,但是,这恰恰体现出了用人单位对人才能力方面的需求,这个需求就是,"创造价值"的能力,而不是你"自我提高和学习"的能力。
1.2.1.3 结论,工作经验是什么经验?
工作经验是:具备职位所需技术的精度和深度,最好是对那个技术非常精熟,具有为公司服务的意识,有为公司创造价值的能力,至少有为公司节约成本的能力。
通过以上分析,了解了什么是用人单位的招聘真实意图,这样,我们就不难写出符合用人单位需求心理的简历了,同时也就知道了自己的努力方向。
供求关系一旦吻合的时候唯一出现的现象就是"频繁的接到面试通知"。接下来,我们就要面对两件事"面试"和"笔试"。
1.2.2 他们为什么面试的时候这么问?
面试是一个"简单"而又"复杂"的事情,正因为它具有"简单"和"复杂"的双重性质,才使我们对这个问题不敢掉以轻心。介绍如何面试,有时候甚至可以写一本书,而有时候,你什么都不准备却可以面试成功。
因为,面试的成功与否完全取决于主考官,因此,这门学问的主要科目就是研究主考官的招聘心理。
我们研究好主考官的招聘心理,自然就可以做到"知己知彼"了。
本小节只是说说面试的"心理战",而想真正的能够对答如流,需要的是"真功夫",要想具备"真功夫"还是需要真正的技术水平作为前提的,本小节的内容只是给那些已经具备相应技术水平的应聘者提供一定的应聘技巧而已,以避免没有把自己的"真功夫"完全展示出来从而丧失工作机会。
面试前对自己的心理暗示:
面试并不是考试,只是和未来的同事聊聊天。
"心理战"对象,可能出现的主考官如下几类:
人物1,人力资源部主管(HR)
人物2,你未来的主管
人物3,你未来主管的主管
我们分别来分析遇到不同类型的主考官的不同情况。
1.2.2.1 人物1:人力资源部主管(HR)
"人物1"的出现往往是进行该职位的初审,给出一个概观定论,如果合格将会提交给"人物2"。"人物1"他们所要进行的是对人的心理和基本技能方面的一个判断。
不过,也有一些公司,首次面试仍然是由业务主管来进行,然后再将初审合格的人交给人力部门来复试,如果,是这种情况,你应该就算90%入职成功了,因为,这个复试往往是走个形式,看看此人有没有被主管忽略的大问题,如果没有,基本就差不多了。
那么,我们仅仅以第一种情况为例,看看"人物1"大多提出的是哪些问题。
1.2.2.1.1 常见提问1:请你自我介绍一下
这个问题,是人力部主考官必问的问题,这个问题的提问并不是真的想了解你的个人情况,因为,你的情况基本上在简历上都写着呢。他提出这个问题的主要目的是来考察你的语言表达能力,和你在表达过程中的一些细节表现。
所以,我们应该怎么回答呢?
看看如下对话:
HR:"请你自我介绍一下"
A 君:"您看简历吧,基本上我都写在简历上了。"
HR:汗…
HR:"请你自我介绍一下"
B 君:"我叫XXX,年龄24,性别男,籍贯……"
HR:倒…
HR:"请你自我介绍一下"
C 君:"这话从何说起呢?话说10年前……"
HR:晕…
首先,不要认为主考官没有认真的看你的简历,没有看你的简历就让你来面试,是在浪费他自己的时间,所以绝对是首先认为简历比较合适,才约你来的。
第二,自我介绍并不是让你重复一下你简历上的所有内容,那些内容简历上都有,主考官主要是想听听你如何表达和语言的逻辑能力。
第三,这个表达不要滔滔不绝,要有张有弛,有收有放,主要将自己的想说的优势部分分别道来,能够通过你的介绍让人感觉到你的"亲和力"为佳。
"语言表达能力"并非我们日常所说的"能侃"或者"口才",这是片面的理解,在面试过程中,我们要展现的"语言表达能力"是指,"语言亲和力",能够让人感受到你的"沟通"能力。
回答范例:
您好!我来自XXX 大学,是应届毕业生,所学专业是计算机应用技术,我在校期间参加多项课余工作,参与了多个应用系统的开发与设计,熟练掌握Java 开发工具和应用系统的各种开发方法。在学习与工作期间,总结与实践了各种技术实现手段,有了一些小的积累。
近期已经毕业,看到您公司的招聘信息,感觉自己的技术与能力非常合适,就投递了简历。希望能过了您这关,呵呵……(注:最后的微笑最好不要太牵强,目的是缓和气氛)大家看到了,这个回答范例的自我介绍非常简练,但是,什么也没有落下。
既实事求是的说了自己是应届毕业生,又说明了自己虽然是应届毕业生,但是参加了很多的课余工作,并且具有实际的项目开发经验,而且有了一些小的积累。
既说了自己的对这份工作和自己能力之间的考量,又表达了自己对主考官的期望。意思表达时不卑不亢,言简意赅,让人听起来就感觉很舒服。
这时候你的目的就达到了,展现出自己的"语言表达能力"和"语言亲和力",同时又能够让人感受到你的"沟通"能力。
1.2.2.1.2 常见提问2:你最大的优点是什么?
这个问题如果是HR 问,则最好回答了。回答这个问题的关键是"围绕自己的技术特长"展开话题,为什么这样?
因为,往往HR 都不懂技术,围绕技术说自己的特长很容易给他说晕(当然,个别懂技术的HR 除外)。这里要注意的是,在说技术问题的时候,不要让HR 感觉自己什么都不懂,要注意说话的节奏,不要太快,不要太骄傲。
1.2.2.1.3 常见提问3:你最大的缺点是什么?
这个问题是HR 的杀手锏,可以说这是HR 的狠招,这个问题最难回答,一般应聘者都本着"扬长避短"的心态去面试,冷不防冒出这么一个问题,还真是挺棘手的。
需要清楚HR 问这个问题的目的,其目的仍然不是要真的需要知道你的缺点是什么,还是看看你的表达能力,尤其是需要考察应聘者面对危机的时候的处理能力。
所以,我们不要用下列方式作答:
说出自己的真实缺点,尤其是在前面谈话中没有暴露出来的缺点认为说说某些大众化的缺点即可,认为说一两个无妨说自己没有缺点,强调自己比较完美总之,HR 心里想的是:需要了解他面前的这个人在面对困难的时候,是如何处理问题的,从处理危机的方法来判断此人的处理事情的灵活性。当然,如果此人自己暴露出自己的缺点当然更好,省得需要去想办法问更多的问题去发现了。
所以,在回答这个问题的时候,要看起来"真诚"、"坦白",同时,说出来的并非自己的缺点,而是最好在别人看来是优点的那些方面。
这个问题问的概率很大,通常如果求职者说自己小心眼、爱忌妒人、非常懒、脾气大、工作效率低,肯定不会录用你。HR 喜欢求职者从自己的优点说起,中间加一些小缺点,最后再把问题转回到优点上,目的还是突出自己优点的部分。
HR 喜欢聪明的求职者。
这一点比较难掌握,我们也给出范例:
回答范例:
呵呵,这个问题好难回答啊!我想想……(亲和力表现,也缓解了自己的紧张情绪)我的缺点是,比较执着,比如在技术方面比较爱钻研,有的时候会为一个技术问题加班到深夜。还有就是,工作比较按部就班,总是按照主管的要求完成任务。另外的缺点是,总在自己的工作范围内有创新意识,并没有扩展给其他同事。这些问题我想我可以进入公司以后以最短的时间来解决,我的学习能力很强,我相信可以很快融入公司的企业文化,进入工作状态。
嗯……,我想就这些吧。
这个回答范例开头第一句话就让人觉得很自然,因为这个求职者所说的话恰恰表达了一般人听到这个问题后的心理状态,还有你一定会有一个思考的时间,因为,谁也不会立刻说出自己的缺点。
后面说出的几个缺点都是一环套一环的,说了自己"比较执着",但又说自己其实是"比较爱钻研",说自己总是"按部就班",但又补充了其实那是"按照主管的要求完成任务",这时候,如果用人单位觉得,此人是不是没有"创新思维"的时候,马上就补充道"在自己的范围内有创新意识",至于"没有扩展给其他同事"这件事,其实无关紧要,干脆就卖给HR 吧。
以上回答确实卖弄了些"技巧",相信HR 也一定能看的出来,但是,即使看出来了也无妨,HR 也会心领神会,知道你是一个比较善于沟通并且善于表达的人。
1.2.2.2 人物2:你未来的主管
当见到未来主管的时候,往往是应聘者已经过了HR 那一关,或者应聘者已经过了笔试的那一关,因此见到这位人物意味着距离成功已经向前进了一步。
"人物2"的面试也有他的目的,他是和你在日常工作中接触最多的人,作为你的直接上司,他需要在工作中经常给你分配任务,他需要对他的主管负责,因此,他招聘的这个人选必须是可以帮助他完成他整个Team 的目标的人。
往往那个吸引你来面试的"招聘启示"就是这个人物所撰写的,因此,其实在你和他见面以前,早已经通过"招聘启示"和他有过交往了。因此,从"招聘启示"中就可以初显这位主管的端倪。
注意,主管同志并不是人事领域的高手,不会用各种语言技巧去发掘你身上的缺点或者优点,往往问题都是实打实的,或者比较一针见血的,而且,更偏重于日常工作。
那么,我们下面和他过过招。
1.2.2.2.1 常见提问1:请你自我介绍一下
这个问题,HR 也问过了,到他那里有可能还会问,主管问这个问题和HR 虽然问的问题一致,但是,其目的并不是完全相同的。
他不仅仅想考察一下你的表达能力,同时还想考察一下你思路的清晰程度。我们在回答他的问题前,一定要想清楚一件事:他是该技术领域的高手,就是我们"程序员修炼三境界"中描述的"第二层境界"的那个人物,如果还想更清楚的了解这个人物,可以去重新看看前面的那个章节。
这个自我介绍最好说的较为简洁,不要过分炫耀自己的技术如何如何强,免得引起这位主管的兴趣,引起他的技术兴趣没有什么好处,只会带来更多的技术问题的发问。
1.2.2.2.2 常见提问2:你最引以为自豪的项目是什么?
他问这个问题的意图是想考察你的成长路径和编程习惯,因为,最让你自豪的项目往往是你成长最快的项目,那个成长最快的项目往往会给你今后的编程习惯留下很多痕迹。
所以,通过你对那个引以为豪的项目的描述,有经验的他会很快锁定你技术成长中的缺陷和闪光点,从而判断是否能够"为我所用"。
你最好拿出一个自己最擅长技术的那个项目进行介绍,这个项目最好能够比较贴近招聘要求的那些指标。如果,没有做过什么有规模的正规项目,你就拿些自己非常擅长或者有创意的开发作品来说。这样做的好处是,他听完你的介绍后,会接下来进行提问,他所有发问,你都成竹在胸了。
切忌拿一个别人的项目,或者自己参与很少的项目来介绍,如果这样的话,一旦他深入的询问这个项目的问题,很可能你会所答非所问,反而造成更严重的影响。你大可以和他大谈特谈你在那个项目中获得的经验,那会引起此君的共鸣,有可能的话,说出一些你自己的小技巧,他会很高兴。
1.2.2.3 人物3:主管的主管
遇到"主管的主管"的时,往往已经是复试,这说明基本上已经是最后一关了。但要注意,这个最后一关是非常关键的一"关"。因为,往往如果你未来的主管在公司中某个专业够权威的话,他的主管一般不会管招聘的事情。因此,你看到这位"老大"的原因,多半是你未来的那位主管的专业地位还没有"稳定"。
1.2.2.3.1 最后的"搏杀"
过程大概是这样的,一般会将两个或三个人提交给"老大",让"老大"定夺,去选择其中的一个人,因此,这个阶段是一个最后的"搏杀"关键阶段。
1.2.2.3.2 "老大"关注的问题:成本+人员素质
所以,我们在和"老大"过招的时候,一定要注意自己的言行,切忌不要穿"奇装异服",或者男士留有个性的头发或胡子,总之一定要让人看起来特别的"平常",虽然不是"西装革履"但也要"衣冠整洁"。
因为,老板们最不喜欢"个性"员工,而最喜欢的是"优秀"的普通员工。
1.2.3 程序员的笔试
前面我们了解了和不同角色的人物见面的面试技巧,下面再说说程序员们更加频繁遇到的一个考核方式"笔试"。
"笔试"对于初级程序员应聘者来说是一个关键一关,也是刷掉的可能性最大的一关,一次面试中大部分程序员都会由于"笔试"没有过而无缘进入下一个阶段,只有少数程序员得到与主考官见面的机会。
作为即将应聘初级程序员的我们,更应该做好技术的准备工作,这部分工作恐怕要花费比较多的时间去准备。
如何准备?
还是那句话至少应该读完本书,因为除了"技巧"之外,"技能"更重要。
1.2.3.1 笔试目的
(1) 为防止没有实际开发经验和开发技能的人来面试,可以通过"笔试"过滤掉一批人;
(2) 考察掌握知识的扎实程度,及面对问题的思考方式。
1.2.3.2 笔试误区,这些情况在笔试时应避免
(1) 有一道题不会,就放弃了整个笔试
也许你认为这道题很难,其他竞争对手也会觉得很难。
(2) 没有看清题匆忙作答
这不是入学考试,如果没有人给你计时间,你不用那么匆忙,正常速度作答即可。
(3) 不能完整作答的,干脆就空白
这和我们在学校考试不一样,如果你不能回答完整,最好也写上思路,或者写上想和主考官说的话,有的时候他也会给你机会的呦。
(4) 不清楚的一些概念性的问题,用其他同样不太清楚的概念"生搬硬套"
有些概念本来就不太清楚,就别拿另一个你不清楚的问题往上"套"啦,这样做,往往让主考官哭笑不得,一下暴露原来这些概念都不清楚。