`

IT行业技术人员的核心竞争力

阅读更多
摘要: 本文作者从一个IT老兵的角度,讲讲自己对于IT行业的技术人员核心竞争力的看法。此处说的IT技术人员就是engineer(以开发为例)。立意在于普通员工。是作者从自身经历出发,总结的如何在此行业中长期保有饭碗的问题。 ...
 
 
本文作者从一个IT老兵的角度,讲讲自己对于IT行业的技术人员核心竞争力的看法。此处说的IT技术人员就是engineer(以开发为例)。立意在于普通员工。是作者从自身经历出发,总结的如何在此行业中长期保有饭碗的问题。如果读者的志向是成为高管,业内顶级专家,恐怕本文能提供的信息还相差甚远。
 
A. 核心竞争力
曾经,有位长辈很关心我的工作,特意语重心长的嘱咐:“你要小心,你会的东西千万不能教给别人。俗话说的好,教会了徒弟饿死了师傅。”
 
我知道,这位长辈真心是为了我好。在许多传统行业当中,也确实如此。而且,抽象层面,这番话的含义其实是:一定要保有自己在行业中的核心竞争力,才能够保有饭碗。这一点我是绝对同意的。只可惜,长辈提供的具体战术在IT的行业无效——IT行业是一个讲求分享的行业,业内也有一句话:If you can’t be replaced, you won’t get promoted. 
 
这句话有点zhuangbility,不过换一句讲也没什么不同。在教育、网络资源空前发达的今天,一个靠在软件里敲代码创造价值的行业,实在没有什么“核心技术”是一个具备基本素质且能上网的年轻人获得不到的。其他行业从业者耗十几年心力一点点摸索掌握的窍门,对应到IT,多写几条query Google一下,从理论论文到工业实现到best practice code瞬间一网打尽。
 
那么什么是IT行业技术人员的核心竞争力呢?窃以为包括如下四点:
 
沟通能力。
学习能力。
全局眼光和行业洞察力。
创新能力。
 
I.沟通能力无需多言:和Peer沟通,和Lead沟通,和PM沟通,和客户沟通……;体察对方,表达自己,将需求转化为Design,将Task拆解为AI的能力。就IT领域而言,除了双向的理解和交流外,还应注意,尽量让沟通高效,节约他人和自己的时间。具体到细节,比如说:能google百度到的知识信息就不要问别人。沟通能力还包括宣讲/讲课和辅导他人的能力,越是资深员工对这方面的要求越高。
 
II.学习能力不仅包括字面意义上的,通过阅读、听讲等方式习得新的知识技术的本领。还包括(更重要的),从实际工作中总结提炼的能力,即将现实问题转换为经验,并举一反三推而广之的能力。
 
IT行业是当今世界发展最为蓬勃的行业之一,创新的旗帜集合了一群这个世界上最聪明最具活力的人在一起焚膏继晷地研发各种新技术——那种一旦被发明出来就可以让一群人失业的东西。在这样的行业里指望靠着大学时上的几年课和工作最初几年的经验就从此高枕无忧属于做梦。行业在变,作为其中的一员,但凡还想吃这碗饭,就只能随机应变。身在IT,拒绝学习==找死。
 
这两点,沟通能力和学习能力,是入门级核心能力。换言之,就是任何程度、级别的engineer必备的。
 
III.全局眼光和行业洞察力。即对本行业本领域前沿研究、工业实践的了解,以及以此为据通过理性分析获得的对于行业发展的前瞻性预测。
 
这一点,也是区分IT新手和老兵的试金石。一方面因为形成这种行业性的vision需要时间积累,另一方面也是因为,在一个日新月异的行业里,年轻人尚可凭借青春年华、无家庭拖累、天然的可塑性等,到变化已经发生后再做出改变。而年长者在丧失了年龄优势后和后来者竞争,则必须借助之前的积累。
 
相对于I和II;III提高了一步,应该算是中级核心能力。
 
IV. 创新能力则属于高阶核心能力。
创新一词一提出来,大家可能会想到原创。确实,无论任何年代,这个世界上的原创者都是当时人类中最具才智的一群人。
 
人类儿童期的东西方先贤哲人,原创了人类的思维体系;终结蒙昧时代的科学家,洞悉了宇宙运行的规则,原创了一套人类的符号系统及对自然界规律的描述方法;文学艺术上史留名的文豪大师们,原创了美和对美的欣赏……于本行业而言,那些著名算法、数据结构、开创性技术方向的发明人可谓原创者。信手拈来两个例子: e.g1:有一篇微信传疯了的文章:《世界上最美丽的女科学家》的主人公,发明了“扩频通讯技术”的好莱坞艳星海蒂拉玛。e.g2:Geoff Hinton ,DNN,DL概念的提出人和关键技术突破者。他提出的分布式概念表示技术到现在才刚刚开始工业应用,而这一理论是他在1986年提出的。
 
大部分成不了这样的人。如果不是追求成为顶尖高手,而只是追求在中老年还能作为一个solidperformer在IT行业吃口技术饭的话。其实也不必做到原创。但创新力还是至少要达到能和业内高手共振的能力,也就是能顺利理解和跟进。
 
以最快速度将他人原创应用到自己所从事的具体领域和正在实践的具体业务上,就是一种跟进式的创新。举个例子来说:比如做DataMining,用现有工具做已经成型的事情,只能叫学习;通过读论文将新兴算法、方法应用到当前业务上,就可以算是一种微创新。
 
B. 职业发展
以上,比较抽象的列举了IT技术人员的核心竞争力。下面说一下IT技术人员的职业发展路径。因为作者一直在外企工作,所以就以外资软件企业为例。不过根据间接了解,本土很多企业也与之类似。
 
一般而言,软件企业内部,技术人员在积累了一定的工作经验之后可以走两条路:技术和技术管理。做技术就继续深入钻研,做管理就转型项目经理,然后沿着管理路线上行。做管理一段时间后大多会和技术分离,慢慢会远离技术。不过也有一些企业不太一样。比如微软,Google,Facebook更甚,就是技术管理不分离,即使做到高级管理职位,日常还要写代码。
 
总体而言,技术相对更独立,所谓IndividualContributor。这倒不是说日常要一个人干活,沟通是必须的,不过,日常工作中“硬”技术的成分更多,所掌握的能力相对更通用一些。而管理路线相对和公司绑定更紧密,当然这些都是相对而言。
 
C.面试经验
下面说一下,engineer面试的内容。根据作者本人被面试和面试他人的经历整理,专指industry hire(社招)。
 
大多数面试分为2部分,phone interview和onsiteinterview,还有些只有后者。onsite就是到人家公司办公室去面试,一般都是多轮。最常见的,每一轮中interviewer和interviewee 一对一。但偶尔也会有几个interviewer一起面一个interviewee的情况。
 
具体形式就是口头提问和写代码两种。写代码的话,大多数情况是让求职者写在纸上或者白板上,模拟推演,也有个别让求职者直接上机编程的。但即使上机,也都是不联网的机器。
 
具体的面试问题很多样,不过大概可以分为两类:项目经验和通用技术问题。
 
项目经验就是针对求职者之前做过的项目进行提问,大概会覆盖项目目的、内容、求职者的具体工作,应用技术,遇到过什么难题之类。有些interviewer会让interviewee选一个印象最深的项目讲。这项考察,有可能是考察interviewee之前经验和未来工作的匹配程度;有可能是了解interviewee在原团队的地位和具体价值;也可能是以项目为实例了解求职者的技术能力;还可能是要了解求职者解决问题的能力。
 
技术问题可以很宽泛,一般来说,每一项求职者写在简历上说自己会的技术都可能被问到。但也可以笼统分为两种:具体技术细节,和算法。
 
具体技术细节问题可能很基础。以Java语言为例,大致说明一下。
 
Java技术细节,举个最简单的例子:Vector和ArrayList的区别是什么?static inner class和non-staticinner class的区别是什么?final,finally的区别是什么?等等。这些关于语言本身,属于最初级。略深入一点,一般会问线程同步的问题,例如:线程同步的方法有几种,分别怎么应用,有什么优劣?还有就是Collections,Collection,基本每次都会被用到。这些都是信手拈来的例子。
 
和Java相关的还有一类问题就是design pattern。这个其实不是语言问题,不过因为java特别适合写design pattern,所以很容易考到。
 
还有一类,就是JVM相关的,也算java相关。GC一般是必问的。或者会问一些优化参数,或者outofmemory了怎么办之类。
 
这类题属于“死”知识,背下来就行。虽然JVM调优这种没经验不太好应对,但总体是可以通过背记完成的。
 
与这类题相对的就是算法题——让考生现场实现一个算法。这类题属于“活”考。
 
算法题又可以分为定式题和模拟题。定式题是指那种有通用固定解的题,比如这个题需要一种特定的数据结构(平衡二叉树、堆之类的);或者这个题可以对应到一种经典排序、查询算法;或者这题是leetcode,topcoder原题。模拟题则是指没有以上那些固定解,一般是有一个具体的问题,然后针对这个问题写特定算法。现在大多数求职者都会事先准备,有些应聘者会提前很久去leetcode上刷题。在这种情况下,模拟题就看出效果了。
 
算法题要注意的是:1.完成功能的同时bug free;2. 时空复杂度。所有的算法题一定都关心时间复杂度,有些会关心空间。完成一个程序后,千万要保证bugfree,然后再看时间复杂度,如果是O(N2)或以上的复杂度,一般就没分了。算法题至少要在O(NLogN)级别,一般要O(N)或者O(LogN),能O(1)最好。另外,算法题一般不会限制语言,用最熟悉的语言就好。
 
以个人经历而言,大多数公司的面试中知识题相对多一些,算法题较少。但也有些公司的面试,基本全部都是算法题。知识题偏重考经验,主要想要考察的是被面试者是否使用过这项技术,以及精熟程度。而算法题,基本就是考基础理论和智商了。
 
从interviewer的角度来讲,考知识题很容易,因为题是自己出的,事先记住答案就好了。而算法题对于interviewer也是挑战。因为要迅速看出interviewee写的程序是否有bug,和时空复杂度是否合乎要求。如果在碰到自己不熟悉的语言,也会有点紧张的。
 
还有,对于比较资深的人员,一般会考察架构设计能力。有可能是通过之前的项目,问有没有架构相关经验,如果有,是怎么做的,这样问比较实际;如果没有,可以虚构一个系统,请面试者当场设计架构。架构能力是在总结项目经验和学习业界先进实践等过程中习得的。对应学习能力的第二层。
 
D. 从新手到老兵
前几天听到有个人抱怨,说都工作好多年了,怎么还考算法,什么是时间复杂度都忘了。但是实际上,算法考察的标的,是我刚才列出的第二条核心竞争力:学习能力。时空复杂度是一切程序的基础,真正被用户使用的应用程序,一定会关注性能。时空复杂度就是一切性能的基础。工作多年有家有业的人不可能长时间什么不干去刷题,遇到定式题和能搜索到的模拟题时,可能不如刚毕业的学生和新手熟悉,这个是客观存在的。但是在算法上,达到一个及格水平,是任何年龄的人做技术工作的一个根本。你可以忘了B树的构建,但是不能连quick sorting,binarysearch都忘了。而所有算法的时空复杂度,只要知道原理都可以现场推出来。以忘了来解释不知道时空复杂是不成立的。
 
这也引出了一个个IT技术人员的常见问题:有工作经验的engineer和学生相比的优势是什么?或言,老员工相对新手的优势是什么?
 
其实也很简单,优势在于:核心竞争力I,II的高阶部分(属于沟通能力的宣讲/辅导能力,属于学习能力的总结提炼能力和架构能力),以及III,IV两点。
 
这里再强调一下第三点:全局眼光和行业洞察力(对应的英语词汇为vision)——年轻人的学习能力虽然强,但是毕竟入行时间段,对于业界的总体vision,一定需要时间培养的。老员工建立这种vision,可以指导自己的学习,知道下一步应该学什么。而且也应该知道自己的弱点在哪里应该补什么。年轻人学习起来容易部分主次,不得要领。那么作为有经验的人,则应善抓重点,虽然能用来学习的时间比年轻人少,但是对于时间的利用应该更高效。另一方面,因为具体的技术工作总是在变,总是需要新的方法和工具,那么具备vision的员工也可以在团队的技术方向选择、工具平台选取上做出贡献。
 
E. 个人成长
如果作者可以穿越回十数年前的大学时代,我会给当时的自己提什么样的建议呢?我会这样说:
 
在本科时期一定要打好理论基础,数学和计算机科学理论的基础课程和经典书籍一定要学好。数学分析、概率统计、线性代数、数理逻辑,真是书到用时方恨少。
 
当年一堆看起来毫无意义就知道扭曲方程、矩阵的公式原来是从具体的实际问题求解中提炼总结引申出来的,也是现在解决实际问题的基础指导。之所以学起来那样枯燥艰涩是因为期间的求解过程跨越了数十、百甚至上千年,我们有幸直接获取了既往一代代天才毕生研究成果的结论,实在三生有幸,居然没记住,或者给忘了,岂止是该打!
 
计算机类的课程,应该专注在数据结构、编译原理、操作系统等理论性强的课程,语言并非当时的重点。计算机类的书籍应该读《Introductionto Algorithm》,《Art of ComputerProgramming》等的经典著作,而不是把时间浪费在XX天精通XX之类的速成书上。结合经典书籍练习算法远比做个炫酷的网页、动画有意义得多。
 
研究生时期,应该在实践编程的同时着力培养自己钻研的能力。虽然没有读博士,到了读研期间也有机会接触学术、理论。至少应该多读些领域内前沿的论文,并通过项目实现理论文章中描述的方法或技术。
 
工作的初期,则把重点放在coding本身。在最初两年内实现三万行以上的有效代码,才算是跨过了IT技术人员的第一道门槛。之后才能逐步把focus向上提升,指向架构层,同时不断总结个人经验,兼顾业界前沿技术和发展动向。
 
F.IT之幸与IT之殇
说到底,IT技术人员,其实就是产业工人,和传统制造业的一线工人没什么本质区别。不同之处在于我们处在一个尚且年轻,新技术还在不断涌现的行业里。行业的现状使得我们在拥有同样的资历、相似的能力时普遍比其他理工科系毕业的同学多拿了不少工资,但同时也的确承担了更多被淘汰出局的可能性。
 
任何一个行业,发展规律都类似。在初期急需大量人才,使得许多学习能力强的年轻人可以跨过很低的门槛涌进来。又因为行业本身正是社会热点,而为行内的从业者戴上了一圈既“专业”又“高薪”的光环。
 
随着行业向成熟发展,创新空间日益趋于狭小,行业壁垒逐渐稳定,而整体劳动的自动化比例会大大加强。行业成熟的过程,也就是挤压大量低层次labor的过程。当此之际,不求进取的结果也就不言而喻了。
 
http://vc.dataguru.cn/article-6902-1.html
分享到:
评论

相关推荐

    2021-2025年中国金融服务外包行业提升企业核心竞争力战略研究报告.pdf

    从文件内容来看,这份研究报告详细探讨了2021-2025年中国金融服务外包行业的战略发展规划,旨在提升企业核心竞争力。报告内容涵盖了金融服务外包的基本概念、行业监管与发展特征、市场深度调研、主要企业发展情况...

    如何打造你的核心竞争力.zip

    在当今快速发展的信息技术行业中,核心竞争力是每个从业者和企业都需要具备的...总之,打造IT行业核心竞争力需要多方面努力,既要精进技术,又要提升软实力,还要不断适应变化,才能在竞争激烈的市场中立于不败之地。

    团队核心竞争力.pptx

    【团队核心竞争力】在IT行业中,团队的核心竞争力是团队成员共同拥有的技能、知识和能力,这些要素使得团队能够在特定的技术领域中超越竞争对手。在上述的PPT内容中,虽然没有直接涉及IT技术细节,但我们可以从中...

    如何提升我国工程咨询企业的核心竞争力.doc

    本文旨在探讨如何提升我国工程咨询企业的核心竞争力,针对当前行业面临的挑战和问题,提出了一系列策略和建议。首先,文章强调了建立健全工程咨询行业的制度体系的重要性,包括加强法制约束,政府监督,行业自律以及...

    中国IT专业人员现状分析报告(2009-2010)

    - 企业越来越重视人才的综合素质和创新能力,不仅要求技术人员具备扎实的专业技能,还要求他们具备良好的团队合作能力和持续学习的能力。 ##### 3. **行业分布特点** - IT行业在不同地区的发展呈现出明显的差异...

    技术人员如何做好用户沟通.pptx

    技术人员在IT行业中扮演着至关重要的角色,他们不仅是技术问题的解决者,更是连接技术与市场的关键人物。做好用户沟通是技术人员提升自身竞争力的重要途径。本文将深入探讨技术人员如何提升沟通能力,满足市场要求,...

    中国IT从业人员心理特征研究报告

    《中国IT从业人员心理特征研究报告》是一项深入探讨中国IT行业人才选拔标准的重要研究,由国内领先的IT人才服务机构东方标准人才服务公司联合华南师范大学人才测评研究所共同完成。这份报告填补了国内外在IT行业心理...

    IT求职宝典

    IT行业的特点是技术迭代快、市场需求大、全球化竞争激烈。同时,行业对人才的需求多样化,既需要技术专家,也需要懂得业务和管理的复合型人才。 1.2 行业发展 1.2.1 行业现状 当前,IT行业发展迅速,尤其是在...

    20171213-华泰证券-IT培训行业深度报告:享IT产业红利,群雄逐鹿快速成长.pdf

    - 投资者在考虑投资相关IT培训公司时,需注意包括下游IT技术需求变化风险、上游客群需求变化风险、国家教育法律及政策风险、行业竞争风险、并购整合风险以及突发事件风险等多种潜在风险。 总体而言,华泰证券研究...

    IT行业crm客户解决方案

    【IT行业CRM客户解决方案】 IT行业的客户关系管理(CRM)解决方案是针对...通过这个系统,企业能够应对市场和技术的快速变化,提高新客户获取和现有客户维系的能力,提升整体竞争力,实现销售、服务和市场的全面提升。

    专业技术人员执行力及创新服务力.doc

    总结来说,专业技术人员的执行力和创新服务力是IT行业的核心竞争力,涉及到战略规划、团队建设、信息沟通、组织架构、决策机制、绩效管理等多个方面。通过理解并优化这些要素,可以提升团队的整体效能,推动技术创新...

    IT通讯软件及IT行业软件与信息服务外包领域分析报告(研究报告).pdf

    在当前信息技术高速发展的时代,IT通讯软件以及IT行业的软件与信息服务外包领域已经成为推动经济发展的重要力量。根据提供的文件内容,下面将对IT通讯软件及IT行业的软件与信息服务外包领域的市场情况进行详细分析。...

    如何培养职场竞争力.pptx

    为了在证券行业取得成功,求职者需要具备一定的行业知识,同时结合自身的专业技能和核心竞争力。例如,如果你是一名IT专业人员,你可以专注于金融技术(FinTech)领域,开发和优化交易系统,或者利用数据分析来支持...

    2008 IT行业薪资与技能调查报告(中文版)

    这表明,在2008年的IT行业中,软件开发和项目管理是核心岗位,对技术实现和项目执行有着较高的需求。 工作年限方面,超过60%的受访者工作年限在5年以下,显示出行业内的年轻化趋势。同时,这也意味着行业对新鲜血液...

    上汽销售IT规划方案

    此方案关注多板块的IT规划、组织协同和应用协同,以确保业务与系统的整合,增强企业的核心竞争力。 1. **IT管控模式设计**:IT管控模式的构建是基于对各IT部门的职责划分,包括组织架构、岗位职责、人员配置和分布...

    淮安市专业技术人员执行力及创新服务力.doc

    文档"淮安市专业技术人员执行力及创新服务力.doc"主要探讨了在IT行业中,尤其是对于淮安市的专业技术人员,如何提升执行力和创新服务力的重要性。以下是基于文档内容的关键知识点的详细阐述: 1. **沟通**:在程序...

    IT服务管理_ITSM_在石油行业中的应用

    面对激烈的市场竞争和多变的市场需求,石油企业急需通过信息化手段优化内部流程、强化与合作伙伴的协作、提升员工能力,以便更快速、准确地响应市场变化,增强国际竞争力。在此背景下,IT服务管理(ITSM)作为一种...

    从IT治理到IT创新:企业IT组织的发展之路.docx

    最后,随着IT创新的崛起,IT组织进一步转变为价值创造中心,参与企业决策和业务流程创新,通过技术创新驱动业务模式的变革,提升企业的核心竞争力。IT创新不仅仅是技术层面的更新,更是推动企业战略实施和绩效提升的...

    专业技术人员团队合作能力与创新团队建设.pptx

    创新能力是专业技术人员的核心竞争力,体现在他们能够提出新的解决方案、发明或改进现有技术。例如,石油大王约翰·洛克菲勒的故事展示了如何通过微小的创新带来巨大的经济效益。这强调了创新思维对于个人和企业成功...

Global site tag (gtag.js) - Google Analytics