当前位置

首页 > 名言警句 > 励志 > 励志人物 > it人士的职业寿命_IT从业人员应如何做好职业规划

it人士的职业寿命_IT从业人员应如何做好职业规划

推荐人: 来源: 才华汇 阅读: 2.95W 次

对于在IT是否可以做一辈子技术“牛人”的问题,我想很多it人士都想知道答案。以下是本站小编分享给大家的关于it人士的职业寿命以及IT从业人员应如何做好职业规划,供大家阅读!

it人士的职业寿命_IT从业人员应如何做好职业规划

35岁是众多IT人的一道坎儿吗?职业顾问专家分析说,。

职业顾问乐富认为,从个人角度看,很多人因为IT行业收入高、热门、找工作方便等理由,茫然地选择了这份工作。但工作以后,发现这个职业远非自己想像得那么美好,需要整天对着机器编程、纠错;如果选择这份职业的人的个性偏好、天生才干不适合从事这份工作,那么他一定会比别人付出更多的时间和精力,他会怀疑自己的选择,直至否定自己。

IT行业的技术更新非常快,这便逼迫这一行业的人不断补充新知识、学习新技术。一些人,特别是女性,在35岁期间正面临着人生的众多转折,从单身到结婚,或有了宝宝,家庭牵扯了她们很大的精力与时间,以至于无法投入更多时间学习新知识、新技术。在这个快速发展的年代里,你原地踏步,而别人快速前进,便意味着你被抛弃。

因此,那些原本便不适合从事这个职业的人,他们最容易在30岁前后产生“疲态”,就像800米赛跑,前面一圈还可咬着牙紧追,后面一圈看看实在是与第一名差距太大,人的内心便开始打架,犹豫、彷徨,最终自己就停下脚步了。

如何跨过年龄坎儿?乐富认为:一要了解、分析自己的职业兴趣,看看自己是否适合从事技术工作,是否能够终生学习,是否对探索问题、发现问题、解决问题保持长久的兴趣。二要依自己的职业兴趣、个性偏好与职业满足感来选择职业,而不是随大流、看报酬。第三,投资这个职业之前,最好能与业内人士交流、探索,或到工作场所实地看看,以确保最初选择(所学专业、第一份职业)的正确性。

其实,35岁的职场人具备了心智成熟、处事老道、经验丰富、专业精湛等特点。职业顾问可锐认为,从技术研究咨询顾问管理工作的角度,35岁应该是人生的又一次上升期。当然,是否能够达到这样一个结果,关键就看你在这个阶段前后是否已经做好这个准备,给自己一个清楚的定位。

在这样一个好时段,很多IT人却没有能够好好把握。乐富指出,目前IT人普遍存在以下问题:重技术轻管理,重战术轻战略;关注与机器“对话”,缺乏与人相处、交流、沟通与协调的技术(艺术);性格内向,阅读或兴趣面较窄;重思考轻行动。基于这些特点,大多数IT人缺乏在职业生命的中后期(32~40岁)“寻隙卡位”的思路,即没有“投资职业,终生经营”的意识。这样,他们中的98%便难以上升到管理阶段。

对于在IT是否可以做一辈子技术“牛人”的问题,几乎所有的职业顾问都持肯定态度,但一个基本条件是,你必须一直紧跟技术发展的脚步。这种紧跟说难不难,说容易也不容易。我们知道,IT技术的发展不是突变的,它在一年内的相差不会很大,但如果回过头来看几年前的情况,你就会吓一跳,原来,距离在不知不觉中被拉大了。因此,如果每年你都能跟着技术进步的话,你的压力就会很小,因为你时刻都是走在技术的前端,但如果你一旦不小心慢了下来,再要赶上就会很吃力了。

乐富认为,那些对技术真正有兴趣,而且乐意不断学新技术的人,一定可以在IT行业做一辈子的技术“牛人”。一位在加拿大从事技术开发工作的IT人说:在他的公司里,有不少年龄超过40岁的工程师还乐此不疲地学习新技术,他们从事这份工作很单纯,因为喜欢编程,然后让同事“抓错”,他也喜欢“抓”同事的设计错误。以这样的心态,这些技术工程师工作得很开心。

和朋友聊天,谈起技术工作者的职业寿命问题。大致上是觉得现在很多行业的新技术处于爆发状态,软件行业来看,07、20xx年谈SOA还很前卫,然后云计算、分布式火了几年,20xx年起移动开发又成为了大热门,13、20xx年大数据技术开始被热炒。技术人员会担心“学无止境”,老了后如何跟得上这狂热的节奏啊?

不光是软件行业,很多行业都日新月异,新的技术被引入,新的方法被创造。大部分职业都在不断的学习过程中,而且似乎这种学习是没有止境的。有不少人都存在这样的担心,如果失去了学习的能力,职业的发展是否就此停滞了。不过这种担心在工科行业中表现得更突出一些。

拿写程序来说,程序框架的发展是很快的,API的数量呈爆发式的增长。这是这些表象的快速发展,形成了技术爆发的感觉。似乎永远在学,而永远也学不完。

难道一个J2SE的程序高手,在MapReduce的时代就没有价值了吗?

面试的时候也常常遇到一面试者谈起想换工作的原因是,写SSH框架写太多了,觉得腻了,想写写MapReduce,觉得比较火爆。他们的想法对吗?难道MapReduce写腻了,或者说新的火爆的框架出现了,再学习再换么?

我的感觉是所有的技术的发展都是成体系发展的,技术的基石在一定程度上是很稳定的。例如整个物理学的大厦都是基于几个简单的定理的,现代数学、化学都是建立在古典理论基础之上的;就算文学、美学等人文学科也是这样。

站在程序角度来说,对各种框架的熟练运用还是表象。无论是传统的J2SE,还是SSH三大框架,或者EJB,以至于现在火爆的Activity和MapReduce,都是这样。所谓的学习,大部分是对API的使用方法的学习。

写程序的体系,或者说基石存在么?又是什么呢?

我认为基石就在我们学习程序的第一课——面向对象。什么是面向对象,不同的理解就能写出不同的程序,这种理解是我们程序的灵魂,各种API变得只是工具。

举几个例子吧,写了3年的SSH,对如何拆类拆包有理解么?写了3年MapReduce的程序自己写了几次父类、定义了几个接口?写了3年Activity,怎么看设计模式了?或者说程序的扩展性怎么体现的?其实以上几个问题无论用什么框架都回答不了,但是无论专注写哪个框架都会对以上几点的理解加深。所以证明了程序理念和框架无关的,框架只是外在的表现。

当然不得不承认,有些框架写多了确实会限制思维,比如SSH框架就封装的比较彻底了,大部分写SSH程序的程序员都不需要太考虑继承的问题。但这不并不是问题的本质,如果能认清其关键,还是能有意识的规避这些思维限制的。

另外一个例子是,如果看过一些源码的话,不管是传统框架的源码还是大数据、分布式、移动客户端的源码,都是很面向对象的。各种接口、父类、抽象类。说明了再华丽的框架其实本身都还是建立在面向对象的基础之上的。

因此我建议,如果一个程序员在对程序理解的能力没有提升的情况下,频繁换框架并不是一件好事,最后只能浮于对API的掌握熟悉程度上。

说起我对面向对象写起来的感觉,我觉得接口、抽象类、默认实现类、父类、业务子类,就像是画素描,一层层的细化。开始只有一个框架,逐步实现,把抽象逐步实例化业务化。写程序变得像是一次艺术创作的过程。我比较喜欢MINA的源码,接口和抽象类的结构很清晰,就像是大师的速写,寥寥数笔就把框子轮廓画了出来。以后的实现类都是对细节的刻画。

这样的感觉很好,其实也多少能回答一个问题,程序员是不是码农?我觉得不是,因为程序员其实是艺术家,程序员创造程序结构的过程和作画很像。而不单单是对API的堆砌。这有些偏题了,对码农的看法在以后的章节再说了。

有了程序感觉后,无论做什么类型的程序架构设计都很容易上手的。对于API的简单了解后就能设计结构合理、扩展性强、可维护、易读的程序了。这也是高级程序员和初级程序员在价值上的区别。回想周围,有经验的程序员往往简单的学习了几天就能开始做很顶层的设计了。而初级的程序员即使对一个框架做了很久,仍然不能达到设计的水平。就是这个道理。

但是有了程序感觉后,是不是就万能呢?当然也不一定,但是只要面向对象还是主流的话,总还是可以依赖的。如果有新的编程理念成为主流的化,那可能就会比较大的一次观念转变了。就好像很多人还是容易写出很结构化的程序一样,这种理念的转变不容易。

对于其他行业的同志,我虽然不了解,不过我相信也是一样的,找到属于自己的体系和基石。所谓一法通百法通,就能真正理解自己到底在学习什么,要学习的东西也更容易上手。

突然发现做软件相关工作7年了,如果写在简历上的话,都能算资深软件人了。对很多方面有一些想法,想写一本书。会在公众账号上发一些样张,欢迎大家督促成书。感谢!有兴趣的朋友欢迎交流,欢迎关注我的公众好“语新童话”

一、选好自己的“职业股”

我常常想IT人员跳槽的职业行为和炒股行为是不是均受到某种理念的驱使呢?我不会有答案,因为我也是IT人,也是身不由己的作出同类型的选择,我们好像多的是急不可待,这里面缺少源远流长的传统。

让我们来看看巴菲特的价值投资理念!

在巴菲特之前股票投资也没有传统,直到他提出了长期价值投资的独特理念,或许我们能从巴菲特独特的投资理念获得什么启发和教益, 我们设想巴菲特假如成了一名程序员,我很难想象他会轻易跳槽, 他的座右铭是"选股如选妻",。对, 选工作也如同选妻, 一旦结合就希望持续一辈子, 我想他不会因为有35岁恐慌而随便对待自己的工作和学习,他主张安全第一, 轻易不出手,一出手就会保证本金的安全。因为本金安全了,所以才会连绵不断的利润, 而这一点看似简单,恰恰需要非常用心,需要我们长时间地下苦心做功课,去做一支股票,基本面分析,技术分析。据说巴非特买一支股票前要读完他能找到的所有财务报表,甚至要去该股票的所在地去考察,这是一种怎样的态度? 我们IT人在解决一个客户问题时,会有如此细致而深入地调研吗? 我们愿意对一门技术或者问题做如此深入地研究吗?我们只有短期的态度,能搞定问题就行了,这样一来,所有可能发生价值增殖的机会就因为这样轻率的态度而丧失了。

我们不能总是太急, 要舍得,舍得花时间, 舍得花力气, "财不入急门",如果我们哪一天能够真实地面对自己和他人(客户),能够花更多的时间做功课,或许我们会为客户创造更多的价值从而也为自身带来了价值。

假如巴菲特成为一名程序员 ,我想他一定会有好的IT职业规划 ,用他的话说 "只有当潮水退去才能知道谁在裸泳",而这些裸泳者通常是不知道规划的人, 作为一名IT专业人员如何避免成为一名裸泳者呢?

我们应该从IT行业形势细分和自己的兴趣和特长相结合, 才能正确发挥自己的优点。就目前来说,大家可以参考相关人才网站的分类, 选股标准是什么呢? 选股如选美 ,选美冠军由选票决定,股市短期内有钞票决定,短线内最受市场追捧,巴菲特的标准比较苛刻,选股如选妻,运用在职业规划中,什么行业和方向是你真正有兴趣而又有能力做到极致,这样的方向就是我们要选择的方向,这样的事业才能够持续。选择那些业务好、管理好、业绩好、赢利好的超级明星股 ,巴菲特资本主义另类的关注长期核心价值的投资观给我们留下了太多的意外,其实作一门职业何尝不是需要长期投资的态度。当我们心生跳槽念头,其实是短线投机思维正在主导这个交易的发生,因为在这个物欲横流的时代我们很少去关注自己的核心价值,如果把个人当成公司上市股,我们有自己的亮点吗?笔者曾经看过一些IT人员的简历,发现几乎千人一面,大部分都是强调自己对某种语言的精通,比如Java,等等,程序员的职业生活太象短线炒手,哪门语言热就追哪门,殊不知这样很容易掉了自己原有的阵地,其后果就像追高套牢。

二、从五个方面做IT职业规划

我们不妨从技术、业务、管理、咨询、创业五个方面纵向去寻找职业规划,一般而言,IT行业中个人素质和外语能力是基本面,然而企业级技术大抵分不开J2EE和Net,业务总是和行业知识相关联,而纯技术路线则一般从程序员到系统设计师再到架构设计师最终完成技术总监的发展模式,业务路线的发展可以从业务顾问发展到项目经理等,业务领域又细分为ERP和非ERP领域, ERP领域常见的有SAP顾问,等等。如果您觉得自己很具管理才华并获得了经验和机会后走上项目经理的职业管理路线是个不错的选择可,而一些具有丰富经验的IT专业人士在职业培训市场日益成熟的情况下完全可以转到职业学院作IT教师,传道授业解惑也。

事实证明,致力于创造价值的IT人员在进行职业规划时间可以借鉴巴菲特的价值投资理论。

选股如选妻 ,据说巴菲特选择股票不是"***"而是"一生情",IT人选择IT多半是因为这个行业的高工资,而产生的一见钟情,因为有了这个价值取向,所以在工作中也是显得喜欢短平快,不愿意花太多时间在一个领域纠缠。IT行业流动性强,跳槽率高,是焉非焉,也许年轻的时候不觉得,当到了职业生涯的中晚期,慕然回首,在整个IT生涯少荡气回肠的全身心投入,多的是聪明反被聪明误的投机故事,到头来一事无成都是投机惹的祸。这就像有些股票中的短线炒手,从短线看他们是赚了,当从长期看来他们一定是因小失大的,IT人员(可能不光是IT人)其实最忌违的是缺无疑乏对一个行业持续而纵深的研究和服务经验,如果什么都懂什么都不精无疑是缺乏核心竞争力的。

我们认为,IT人一旦选择了一定领域就应该有完全投入的定力,假以时日你的核心竞争力不是其他人员能够代替的。

IT业发展日新月益,行业细分越发精细,先求博大再求精深是可行的也是必然的,一个合格的IT人就应该象绩优股或成长优股的特点,既有扎实的基本面,又有自己所擅的领域,我们不能光盯着几个热门的新鲜,很多事情需要根据自己的兴趣扎根沉下心去作才行。

我觉得根据自己的兴趣,结合企业和IT行业需求发展是最理想的方式,比如目前的IT最常见的职位有ERP顾问、系统分析架构师、数据库管理员、项目经理、信息经理等等这几个职业方向每个方向都有很好的发展空间,关键是自己要早作定位作持续深入地研究。

现在,如果有人问,IT人的职业价值观是什么?我会说答案就在此间了。

10. 某些IT人士在选择技术的时候,更多考虑的是对自身的影响,而不是业务

另外,一些IT人士还有一个诡秘又必须声讨的事情。他们挑选技术的标准是:看这些技术是不是业务非常依赖他们的,而不看这些技术是否真正适合业务本身。比如,某些IT人士宁愿选那些需要专业技能来维护的方案,而不选即可使用的方案。还有,即便Windows的方案更优秀,某些IT经理人因为自己有比较多的Linux/Unix背景,所以通常会选择基于Linux的方案,而不选Windows的方案。(当然了,拥有Windows背景的也会跳过Linux方案的。)类似上述的例子通常有很多借口和理由,但大部分都是虚伪的。

9. IT人士经常用术语或行话来忽悠不懂技术的业务经理,借以掩盖其搞砸的事。

并非所有IT人所做的事件件都成功,即便是最最优秀的,也会犯错的。但是,在犯错后,并非所有IT人都善于承认错误。 有些人在把搞砸事情后,充分利用业务经理不是很懂技术(即便是一些高水平的技术经理,也不可能面面俱到),再用术语或行话来忽悠他们。比如,在向业务经理解释金融应用程序为什么“挂”了3个小时,技术人员或许会这样说,“在运行程序的时候,SQL服务器蓝屏了。该死的微软!” 他却不提蓝屏真正的原因——更新驱动后并没有在服务器上先测试。

8. 每天或许徘徊在“替罪羊”和“英雄”之间,是很正常的

如果10分钟前有个难倒了很多同事的网络问题,结果被你搞定了。但他们不会去想解决这个问题其实很简单,而是把那你奉为那个时刻的英雄。但是几个小时后,当他们在打印的时候因网速过慢遇到了麻烦,你的麻烦也来了,你的英雄光环也不见了,你成了那一刻的头号替罪羊。但当在那一天下班前,你和其他同事分享了一个简单方便的Outlook技巧,英雄的光环再次落在你头上了。

7. 证书虽是求职敲门砖,但它却不能证明你一定是优秀的技术员

猎头和HR部门都喜欢IT证书。他们用证书来衡量求职者是否和岗位匹配,他们也用证书来筛选求职者。你可能会听到很多IT老手说“某某有证书拿到Offer了”,而“某某”并没有那个岗位所需的经验。这种例子很多。但不可否认,证书的确是岗位的“敲门砖”。它们能说明你是个上进的青年,说明你是想拓展技能和提升能力的。如果你是一位经验丰富的IT人,并且有和这些经验匹配的证书,那么你将发现自己是非常受欢迎的。有技术证书,可以说明你的基础知识,可以说明你能成为一个专业人士。但是,大部分证书却并不能说明你就能多么地胜任工作。

6. 你的非技术型同事会把你当成他们家的技术支持

当你的非技术型同事(或朋友、亲戚和邻居)遇到电脑问题或网络问题时,他们会给邮件、打电话或来你办公室,问你如何杀毒,问你怎么解决无线路由的问题,问你怎么上传图片和视频到网上。

他们有的甚至会说:“某某,我把家里的电脑拿来这吧(办公室),你来搞定吧。”虽然有些人会礼貌地说给你付钱,但也有些是希望并期望你能免费帮忙。虽然帮助他们是没有错的,但你要清楚底线,并要知道什么时候该拒绝。

5. 当万事顺利时,顾问会居功;当有事不妙时,那是你的错。

和IT顾问一起共事是工作的重要部分,也是一件相当有挑战性的事。顾问用其利基专长帮你部署/配置专业系统,当万事顺利的时候,你们是友好合作关系。但你必须要谨慎了。当事情进展不妙时,一些顾问会把错误归咎在你(公司)身上,并称他们的方案以前在其他地方都好好的,是不可能有问题的,问题肯定在你方。相反,当工程非常成功后,有些顾问绞尽脑汁抢功,忽视你所做的大量工作(比如:量体裁衣地改进方案以适合公司自身发展)。

4. 维护“旧”技术所花时间比实现“新”技术的时间要多得多

在IT行业,有种观念非常吸引人——玩最新的尖端技术。但是,这种观念并非适用于大部分IT岗位。通常来说,IT人士用在维护现有技术的时间比实现新技术的时间还有要多。即便是那些有能力运用大部分最新技术的IT顾问,他们更愿意采用现有的并行之有效的方案,而不是前沿技术组成的方案。

3. 资深IT人通常是实现新技术的最大障碍

很多公司是有能力采用前沿技术的。花时间来更新/更换软件/架构,可以潜在地节约成本或提高生产率和盈利。但是,很多情况下移植到新技术的障碍,并不是预算不够,也不是管理问题,而是IT部门的资深技术员工。很多IT老手对新技术有抵触,不愿意改变。当然了,你也不能说这是坏事,因为维护现有结构的稳定,还需要现有技术。但他们不能把这当成不学习新技术或扩展新方向的借口。有的人因此甚至变得懒惰和自满。

2. 虽然IT业的薪酬比其他很多行业要好,但有公司因此视你为其“佣人”。

尽管IT人士的薪水没有互联网泡沫之前要好,但和其他行业人士比较,IT人的薪资还算好点。在接下的几十年中,科技在商业和社会发展中所占分量会一直增加,所以我们完全有理由相信,IT专业人才的需求量也不会减少。

然而,正因为IT人士的薪水普遍较高,所以有些公司认为给了你这么多钱,就把你看成是公司的“佣人”,拥有你的支配权,不管是不是在工作期间。

例子1:因为某人加班(遇到问题),你在晚上9点接到他/她的技术电话,你很可能会听到“这是你工作的一部分。”

例子2:为了避免工作期间的停工,你要在星期六花6小时来配置/升级软件,你很肯能又会听到“我们已经付给你大笔钱”。

1. 有些用户明明错在自己,但他们还是会责怪你。

有些用户在遇到问题,自己无法解决的时候,会对你展示他们深厚的“狮吼功”。他们会咆哮道,“这东西出了什么问题?上不了网!”或者“这台电脑根本没法用!”再或者“你在这电脑做了什么了呢?”实际上,问题的根源就是他们不小心把桌面的IE快捷方式删除了,或者是他们的脚不小心把鼠标线插口弄松了,或者是不小心把开水/咖啡洒到键盘上了。

对于在IT是否可以做一辈子技术“牛人”的问题,我想很多it人士都想知道答案。以下是本站小编分享给大家的关于it人士的职业寿命以及IT从业人员应如何做好职业规划,供大家阅读!

35岁是众多IT人的一道坎儿吗?职业顾问专家分析说,。

职业顾问乐富认为,从个人角度看,很多人因为IT行业收入高、热门、找工作方便等理由,茫然地选择了这份工作。但工作以后,发现这个职业远非自己想像得那么美好,需要整天对着机器编程、纠错;如果选择这份职业的人的个性偏好、天生才干不适合从事这份工作,那么他一定会比别人付出更多的时间和精力,他会怀疑自己的选择,直至否定自己。

IT行业的技术更新非常快,这便逼迫这一行业的人不断补充新知识、学习新技术。一些人,特别是女性,在35岁期间正面临着人生的众多转折,从单身到结婚,或有了宝宝,家庭牵扯了她们很大的精力与时间,以至于无法投入更多时间学习新知识、新技术。在这个快速发展的年代里,你原地踏步,而别人快速前进,便意味着你被抛弃。

因此,那些原本便不适合从事这个职业的人,他们最容易在30岁前后产生“疲态”,就像800米赛跑,前面一圈还可咬着牙紧追,后面一圈看看实在是与第一名差距太大,人的内心便开始打架,犹豫、彷徨,最终自己就停下脚步了。

如何跨过年龄坎儿?乐富认为:一要了解、分析自己的职业兴趣,看看自己是否适合从事技术工作,是否能够终生学习,是否对探索问题、发现问题、解决问题保持长久的兴趣。二要依自己的职业兴趣、个性偏好与职业满足感来选择职业,而不是随大流、看报酬。第三,投资这个职业之前,最好能与业内人士交流、探索,或到工作场所实地看看,以确保最初选择(所学专业、第一份职业)的正确性。

其实,35岁的职场人具备了心智成熟、处事老道、经验丰富、专业精湛等特点。职业顾问可锐认为,从技术研究咨询顾问管理工作的角度,35岁应该是人生的又一次上升期。当然,是否能够达到这样一个结果,关键就看你在这个阶段前后是否已经做好这个准备,给自己一个清楚的定位。

在这样一个好时段,很多IT人却没有能够好好把握。乐富指出,目前IT人普遍存在以下问题:重技术轻管理,重战术轻战略;关注与机器“对话”,缺乏与人相处、交流、沟通与协调的技术(艺术);性格内向,阅读或兴趣面较窄;重思考轻行动。基于这些特点,大多数IT人缺乏在职业生命的中后期(32~40岁)“寻隙卡位”的思路,即没有“投资职业,终生经营”的意识。这样,他们中的98%便难以上升到管理阶段。

对于在IT是否可以做一辈子技术“牛人”的问题,几乎所有的职业顾问都持肯定态度,但一个基本条件是,你必须一直紧跟技术发展的脚步。这种紧跟说难不难,说容易也不容易。我们知道,IT技术的发展不是突变的,它在一年内的相差不会很大,但如果回过头来看几年前的情况,你就会吓一跳,原来,距离在不知不觉中被拉大了。因此,如果每年你都能跟着技术进步的话,你的压力就会很小,因为你时刻都是走在技术的前端,但如果你一旦不小心慢了下来,再要赶上就会很吃力了。

乐富认为,那些对技术真正有兴趣,而且乐意不断学新技术的人,一定可以在IT行业做一辈子的技术“牛人”。一位在加拿大从事技术开发工作的IT人说:在他的公司里,有不少年龄超过40岁的工程师还乐此不疲地学习新技术,他们从事这份工作很单纯,因为喜欢编程,然后让同事“抓错”,他也喜欢“抓”同事的设计错误。以这样的心态,这些技术工程师工作得很开心。

和朋友聊天,谈起技术工作者的职业寿命问题。大致上是觉得现在很多行业的新技术处于爆发状态,软件行业来看,07、20xx年谈SOA还很前卫,然后云计算、分布式火了几年,20xx年起移动开发又成为了大热门,13、20xx年大数据技术开始被热炒。技术人员会担心“学无止境”,老了后如何跟得上这狂热的节奏啊?

不光是软件行业,很多行业都日新月异,新的技术被引入,新的方法被创造。大部分职业都在不断的学习过程中,而且似乎这种学习是没有止境的。有不少人都存在这样的担心,如果失去了学习的能力,职业的发展是否就此停滞了。不过这种担心在工科行业中表现得更突出一些。

拿写程序来说,程序框架的发展是很快的,API的数量呈爆发式的增长。这是这些表象的快速发展,形成了技术爆发的感觉。似乎永远在学,而永远也学不完。

难道一个J2SE的程序高手,在MapReduce的时代就没有价值了吗?

面试的时候也常常遇到一面试者谈起想换工作的原因是,写SSH框架写太多了,觉得腻了,想写写MapReduce,觉得比较火爆。他们的想法对吗?难道MapReduce写腻了,或者说新的火爆的框架出现了,再学习再换么?

我的感觉是所有的技术的发展都是成体系发展的,技术的基石在一定程度上是很稳定的。例如整个物理学的大厦都是基于几个简单的定理的,现代数学、化学都是建立在古典理论基础之上的;就算文学、美学等人文学科也是这样。

站在程序角度来说,对各种框架的熟练运用还是表象。无论是传统的J2SE,还是SSH三大框架,或者EJB,以至于现在火爆的Activity和MapReduce,都是这样。所谓的学习,大部分是对API的使用方法的学习。

写程序的体系,或者说基石存在么?又是什么呢?

我认为基石就在我们学习程序的第一课——面向对象。什么是面向对象,不同的理解就能写出不同的程序,这种理解是我们程序的灵魂,各种API变得只是工具。

举几个例子吧,写了3年的SSH,对如何拆类拆包有理解么?写了3年MapReduce的程序自己写了几次父类、定义了几个接口?写了3年Activity,怎么看设计模式了?或者说程序的扩展性怎么体现的?其实以上几个问题无论用什么框架都回答不了,但是无论专注写哪个框架都会对以上几点的理解加深。所以证明了程序理念和框架无关的,框架只是外在的表现。

当然不得不承认,有些框架写多了确实会限制思维,比如SSH框架就封装的比较彻底了,大部分写SSH程序的程序员都不需要太考虑继承的问题。但这不并不是问题的本质,如果能认清其关键,还是能有意识的规避这些思维限制的。

另外一个例子是,如果看过一些源码的话,不管是传统框架的源码还是大数据、分布式、移动客户端的源码,都是很面向对象的。各种接口、父类、抽象类。说明了再华丽的框架其实本身都还是建立在面向对象的基础之上的。

因此我建议,如果一个程序员在对程序理解的能力没有提升的情况下,频繁换框架并不是一件好事,最后只能浮于对API的掌握熟悉程度上。

说起我对面向对象写起来的感觉,我觉得接口、抽象类、默认实现类、父类、业务子类,就像是画素描,一层层的细化。开始只有一个框架,逐步实现,把抽象逐步实例化业务化。写程序变得像是一次艺术创作的过程。我比较喜欢MINA的源码,接口和抽象类的结构很清晰,就像是大师的速写,寥寥数笔就把框子轮廓画了出来。以后的实现类都是对细节的刻画。

这样的感觉很好,其实也多少能回答一个问题,程序员是不是码农?我觉得不是,因为程序员其实是艺术家,程序员创造程序结构的过程和作画很像。而不单单是对API的堆砌。这有些偏题了,对码农的看法在以后的章节再说了。

有了程序感觉后,无论做什么类型的程序架构设计都很容易上手的。对于API的简单了解后就能设计结构合理、扩展性强、可维护、易读的程序了。这也是高级程序员和初级程序员在价值上的区别。回想周围,有经验的程序员往往简单的学习了几天就能开始做很顶层的设计了。而初级的程序员即使对一个框架做了很久,仍然不能达到设计的水平。就是这个道理。

但是有了程序感觉后,是不是就万能呢?当然也不一定,但是只要面向对象还是主流的话,总还是可以依赖的。如果有新的编程理念成为主流的化,那可能就会比较大的一次观念转变了。就好像很多人还是容易写出很结构化的程序一样,这种理念的转变不容易。

对于其他行业的同志,我虽然不了解,不过我相信也是一样的,找到属于自己的体系和基石。所谓一法通百法通,就能真正理解自己到底在学习什么,要学习的东西也更容易上手。

突然发现做软件相关工作7年了,如果写在简历上的话,都能算资深软件人了。对很多方面有一些想法,想写一本书。会在公众账号上发一些样张,欢迎大家督促成书。感谢!有兴趣的朋友欢迎交流,欢迎关注我的公众好“语新童话”