(转)我们java程序员未来三十年职业之路(不看后悔!)

    有一句话叫“你未来的成就不会超过你所设定的目标” ,目标!目标的重要性真的需要我们一次次反复铭记于心,也许你会反驳说技术比目标更加重要,那我就打个比方吧!就好像你和世界射击冠军许海峰来比赛射击,你觉得谁会赢? 也许你会说傻子也知道肯定是许海峰会赢啊 !呵呵 !但是如果我让许海峰蒙住双眼来和你比赛,你觉得结果又会如何了?是的,这样我们有可能赢过世界冠军!蒙住眼睛的许海峰就好像一个拥有一流技术却没有目标的人,而我们尽管现在技术不一流,我们很菜鸟,但是只要我们目标长远清晰,加之以努力来达到设定的目标,我们照样可以达到我们人生的高峰!


    而我们程序员如何设定自己的目标?首先我们必须知道大部分的程序员在这条职业道路上是如何发展的,然后我们加以对照才可以通过努力和创造来缩短我们取得成功的时间!以下是我听完李翊老师的演讲和看了一些书籍和资料之后总结的程序员的职业发展之路!我把它叫做程序员未来修炼的三个境界,希望对各位同学有帮助!
 
   1. 修炼第一层境界:剑指四方,试问天下谁与争锋
 
    修炼第一层境界的程序员,对Java开发技术尽数掌握,开发工具掌握的也较为娴熟。可以将第二层次程序员交给的任务完成的很出色,可以按要求独立完成类,接口和算法的开发。注重技巧,对具体的编程语言非常熟悉。
 
    能力之所及,皆无不用其极,认为所有开发知识,越是看起来深奥的越值得去研究,希望在自己开发的所有项目中,能用上的技术全用上,目的只有一个,就是尽可能多的获得实践机会。总想四处试刀,看看手里的刀到底快不快。满口都在谈,什么框架是最优秀的,C#和Java的优劣,满脑子想着如何将一个程序编写的更复杂。热衷于探讨技术问题,甚至有可能因为一个开发观点而和别人争论的面红耳赤。
 
    在编码中,经常可以看到他们会这样写程序代码:
 
           if (a>0)
 
           a++;
 
           else
 
           b++;
 
    他们非常想证明自己掌握技术的娴熟程度,没错,他知道这个知识,在这里可以省略大括号。
 
    这类程序员大有"剑指四方,试问天下谁与争锋"的气势,工作具有活力,常常因为一个技术细节加班到深夜,大多属于拼命三郎型。如果项目不能让他们学到他们想要的东西,他们会放弃这些项目,去投靠别的公司,跳槽对于他们来说很平常。
 
 
    工作时间:三年内
 
    工作任务:按要求编写类和接口的具体实现代码
 
    工作内容:编写具体的代码
 
    开发目标:无所不能
 
    开发特点:注重技巧,对具体的编程语言非常熟悉
 
    工作职位:初级程序员,程序员,软件工程师
 
    参考薪金:¥2000-¥7000(仅供参考)
 
    2. 修炼第二层境界:世界如此之大,要学的东西很多
 
    修炼第二层境界的程序员,他们往往是从事了Java开发好几年了,从第一层境界进阶上来的好手,即,没有被优胜劣汰掉的那批人。之所以说"没有被优胜劣汰"这么"残酷"的用词,并非危言耸听,因为,一般修炼第一层境界是非常艰苦的,没有坚强的意志,没有强健的体魄,完全不可能进阶到第二层境界,也就是说,要头脑始终保持清醒,抱有坚定的信念,同时,你的身体也要非常好,才能过关。
 
    我们经常看到,在这一关掉队的人们,由于志向偏离,或者吃不了苦,或者对困难估计不足,甚至是身体原因放弃软件开发职业。这里之所以强调"身体",也是因为,第一关是如此的残酷,其实并没有人要求你加班加点,只是你的一腔热血使然。
 
    所以,我们说在第二层境界中是"没有被优胜劣汰"的那批好手。
 
    他们已经经历了若干个开发产品或项目,已经可以利用自己的知识去带领第一层次的程序员开发项目,可以说是一个很有经验的开发者,对在上一个层次阶段没有完全理解的技术知识已经相当的清楚。可以自由的运用开发技术,并分的清楚什么技术用在什么地方。
 
    最让他们头痛的是项目的"工期"和"Bug",根本无暇顾及什么技术实践的问题。他们往往利用自己最擅长的架构方法去开发和设计整个程序的技术架构。
 
    在编码中,经常可以看到他们这样编写程序代码:
 
           if (a>0){
 
           a++;
 
           }
 
           else{
 
           b++;
 
           }
 
    他们老老实实的加上了"{}"大括号,因为他们知道,这些细节造成的Bug有可能让他们花去数天时间去调试,而这个省去的大括号,根本不会给系统带来任何优化。
 
    他们知道的越多,越觉得世界是那么的广阔,不禁叹息"世界如此之大,要学的东西很多",对Java开发技术方面的探求知识,大多是在产品的架构层面,更愿意去研究架构设计方面的知识,比如,他们很清楚什么时候使用EJB,什么时候该设计什么样的一个接口。
 
    他们逐步感到,Java技术已经不能满足他们工作成功率的需求,他们不得不去花时间去研究项目管理的方法,对总体的技术关注点也从Java的具体开发技术,逐步的向和Java无关的其他信息技术方向转移,比如,网络应用层协议,其他平台语言,甚至Linux内核裁剪等问题逐步纳入他们的视野。
 
    后来他们会发现,他们想进入修炼的第三层境界的阻碍,恰恰是他们较高的技术水平。
 
 
    工作时间:工作三年以上,或直到退休
 
    工作任务:按开发要求编写并指导第一层次程序员开发
 
    工作内容:带领开发团队,设计架构,并编写关键程序,保证项目工期,对某开发项目的质量负责
 
    开发目标:不求有功但求无过,质量效率胜于一切,合理的技术用在合理的地方
 
    开发特点:注重方法,不关注编程语言细节
 
    工作职位:高级软件工程师、开发经理、系统架构师、项目经理等
 
 
    参考薪金:¥7000-¥20000(仅供参考)
 
 3 .修炼第三层境界:最深即最浅,最浅即最深,不过如此
 
    修炼第三层境界的程序员,他们通常是在第二层境界"突破自我"之后进阶上来的有智慧的人,所谓"突破自我"就是打破自己而脱掉原有的蝉壳,破壳而出获得新生的过程。
 
    在修炼的第二层境界已经将技术水平练就的如火纯清,甚至个别技术可以用"登封造极"来形容,有自己的一套"绝活",可以说,靠这些本事在业界应该说是过着"衣食无忧"的生活。
 
    他们逐渐发现,技术永远是技术,原来一直认为最深的技术恰恰是最简单的,而原来最简单的那些技术恰恰是最值得去研究的,其实那些所谓的"登封造极"对于他们来说,仅仅是利用他们所掌握的"原理级"技术,将"应用级"技术进行不同的排列组合而已。
 
    任何"应用级"技术在他们眼里,没有任何区别,他们看着那些被业界炒作的"如火如荼"的技术,像什么,EJB啊,开发框架啊,或者对于开发语言,什么Java啊,Vb啊,C啊,或者其他什么语言,基本上是很"淡然",既不觉得如何好,也不觉得如何不好,只会淡淡的说一句"不过如此"。
 
    所以,他们要突破,他们要进阶,面对他们的是更加广阔的空间,然而,他们会逐渐发现,他们进阶的桎梏恰恰就是原来自己的"优势",较高的技术水平,使他们更难"抛弃"或"摆脱"。
 
    突破自己的方法就是从技术中跳出来,利用"应用级"技术的不同排列组合去创造,去创新,这些创新要紧密的结合市场,要紧密结合应用业务。
 
    他们不仅仅要具备很好的技术知识水平,还要具备更敏锐的产品洞察力,和更灵敏的市场嗅觉,并能够将这些能力充分的发挥并输出技术与市场都响当当的创意。
 
    最终他们成功了,达到了程序员修炼的第三层境界,他们已经突破了原有程序员的传统概念,达到了在业界"横行无阻,任意驰骋"的能力,这就是程序员修炼的最高境界。
 
    第三层境界特征:
    第三层境界特征:
    第第三三层层境境界界特特征征::
 
    工作时间:
    工作时间:
    工工作作时时间间::工作六年以上(经常跳槽的不算)
 
    工作任务:应用级"技术的不同排列组合,以市场为导向去创新与创造
 
    工作内容:面对市场背靠技术开发团队,指导开发的市场着眼点,指导市场的获利方式
 
    工作目标:盈利
 
    工作职位:部门经理、研发副总、CTO、解决方案专家、业务专家、产品经理、高级产
 
品经理等
 
    参考薪金:¥20000以上(仅供参考)

posted @ 2014-03-07 22:30  fan_yufan  阅读(298)  评论(0编辑  收藏  举报