`
zds420
  • 浏览: 203835 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

程序员三种境界

阅读更多
问题1Java程序员这个职业赚钱吗?能赚多少钱?


      清华大学出版社《Java程序员,上班那点事儿》作者:钟声 章节:1.1小节
      我们刚刚进入本书的正题就拿出一个俗不可耐“钱”字来和大家大谈特谈,未免不雅。但是,我还是要在一开始就要说这个问题,因为这是很多朋友关心的问题,为什么不先说?
      有很多即将进入这个行业的年轻朋友都很想问这个问题。
任何一个职业都很赚钱!而且,都可以赚很多钱,想拿高薪不一定非要做程序员。我不是在这里卖关子,这是真理,“三百六十行,行行出状元”。 
      那么这时,有些朋友听到了我说的这些话也许会很失望,其实也不要失望,这个职业有让你赚到高薪的机会,只是,赚高薪是在什么时候,或者是在程序员的哪个所属层级。

      我们来了解一下程序员的修炼三层境界,了解一下这个内容会比较容易抓住本书中的内容要旨。
1.1.1 修炼第一层境界:剑指四方,试问天下谁与争锋
      修炼第一层境界的程序员,对Java开发技术尽数掌握,开发工具掌握的也较为娴熟。可以将第二层次程序员交给的任务完成的很出色,可以按要求独立完成类,接口和算法的开发。注重技巧,对具体的编程语言非常熟悉。
      能力之所及,皆无不用其极,认为所有开发知识,越是看起来深奥的越值得去研究,希望在自己开发的所有项目中,能用上的技术全用上,目的只有一个,就是尽可能多的获得实践机会。总想四处试刀,看看手里的刀到底快不快。满口都在谈,什么框架是最优秀的,C#和Java的优劣,满脑子想着如何将一个程序编写的更复杂。热衷于探讨技术问题,甚至有可能因为一个开发观点而和别人争论的面红耳赤。
在编码中,经常可以看到他们会这样写程序代码:

if (a>0)
    a++;
else
    b++;
      他们非常想证明自己掌握技术的娴熟程度,没错,他知道这个知识,在这里可以省略大括号。
这类程序员大有“剑指四方,试问天下谁与争锋”的气势,工作具有活力,常常因为一个技术细节加班到深夜,大多属于拼命三郎型。如果项目不能让他们学到他们想要的东西,他们会放弃这些项目,去投靠别的公司,跳槽对于他们来说很平常。
 
第一层境界特征:
工作时间:三年内
工作任务:按要求编写类和接口的具体实现代码
工作内容:编写具体的代码
开发目标:无所不能
开发特点:注重技巧,对具体的编程语言非常熟悉
工作职位:初级程序员,程序员,软件工程师
参考薪金:¥2000-¥6000(仅供参考)

1.1.2 修炼第二层境界:世界如此之大,要学的东西很多

      修炼第二层境界的程序员,他们往往是从事了Java开发好几年了,从第一层境界进阶上来的好手,即,没有被优胜劣汰掉的那批人。之所以说“没有被优胜劣汰 ”这么“残酷”的用词,并非危言耸听,因为,一般修炼第一层境界是非常艰苦的,没有坚强的意志,没有强健的体魄,完全不可能进阶到第二层境界,也就是说,要头脑始终保持清醒,抱有坚定的信念,同时,你的身体也要非常好,才能过关。

      我们经常看到,在这一关掉队的人们,由于志向偏离,或者吃不了苦,或者对困难估计不足,甚至是身体原因放弃软件开发职业。这里之所以强调“身体”,也是因为,第一关是如此的残酷,其实并没有人要求你加班加点,只是你的一腔热血使然。
      所以,我们说在第二层境界中是“没有被优胜劣汰”的那批好手。
      他们已经经历了若干个开发产品或项目,已经可以利用自己的知识去带领第一层次的程序员开发项目,可以说是一个很有经验的开发者,对在上一个层次阶段没有完全理解的技术知识已经相当的清楚。可以自由的运用开发技术,并分的清楚什么技术用在什么地方。
      最让他们头痛的是项目的“工期”和“Bug”,根本无暇顾及什么技术实践的问题。他们往往利用自己最擅长的架构方法去开发和设计整个程序的技术架构。
在编码中,经常可以看到他们这样编写程序代码:
if (a>0){
    a++;
}
else{
    b++;
}
      他们老老实实的加上了“{}”大括号,因为他们知道,这些细节造成的Bug有可能让他们花去数天时间去调试,而这个省去的大括号,根本不会给系统带来任何优化。
      他们知道的越多,越觉得世界是那么的广阔,不禁叹息“世界如此之大,要学的东西很多”,对Java开发技术方面的探求知识,大多是在产品的架构层面,更愿意去研究架构设计方面的知识,比如,他们很清楚什么时候使用EJB,什么时候该设计什么样的一个接口。
      他们逐步感到,Java技术已经不能满足他们工作成功率的需求,他们不得不去花时间去研究项目管理的方法,对总体的技术关注点也从Java的具体开发技术,逐步的向和Java无关的其他信息技术方向转移,比如,网络应用层协议,其他平台语言,甚至Linux内核裁剪等问题逐步纳入他们的视野。
      后来他们会发现,他们想进入修炼的第三层境界的阻碍,恰恰是他们较高的技术水平。
 
第二层境界特征:
工作时间:工作三年以上,或直到退休
工作任务:按开发要求编写并指导第一层次程序员开发
工作内容:带领开发团队,设计架构,并编写关键程序,保证项目工期,对某开发项目的质量负责
开发目标:不求有功但求无过,质量效率胜于一切,合理的技术用在合理的地方
开发特点:注重方法,不关注编程语言细节
工作职位:高级软件工程师、开发经理、系统架构师、项目经理等
参考薪金:¥6000-¥15000(仅供参考)
 
1.1.3 修炼第三层境界:最深即最浅,最浅即最深,不过如此
      修炼第三层境界的程序员,他们通常是在第二层境界“突破自我”之后进阶上来的有智慧的人,所谓“突破自我”就是打破自己而脱掉原有的蝉壳,破壳而出获得新生的过程。
      在修炼的第二层境界已经将技术水平练就的如火纯清,甚至个别技术可以用“登封造极”来形容,有自己的一套“绝活”,可以说,靠这些本事在业界应该说是过着“衣食无忧”的生活。
      他们逐渐发现,技术永远是技术,原来一直认为最深的技术恰恰是最简单的,而原来最简单的那些技术恰恰是最值得去研究的,其实那些所谓的“登封造极”对于他们来说,仅仅是利用他们所掌握的“原理级”技术,将“应用级”技术进行不同的排列组合而已。
      任何“应用级”技术在他们眼里,没有任何区别,他们看着那些被业界炒作的“如火如荼”的技术,像什么,EJB啊,开发框架啊,或者对于开发语言,什么 Java啊,Vb啊,C啊,或者其他什么语言,基本上是很“淡然”,既不觉得如何好,也不觉得如何不好,只会淡淡的说一句“不过如此”。
      所以,他们要突破,他们要进阶,面对他们的是更加广阔的空间,然而,他们会逐渐发现,他们进阶的桎梏恰恰就是原来自己的“优势”,较高的技术水平,使他们更难“抛弃”或“摆脱”。
      突破自己的方法就是从技术中跳出来,利用“应用级”技术的不同排列组合去创造,去创新,这些创新要紧密的结合市场,要紧密结合应用业务。
      他们不仅仅要具备很好的技术知识水平,还要具备更敏锐的产品洞察力,和更灵敏的市场嗅觉,并能够将这些能力充分的发挥并输出技术与市场都响当当的创意。
      最终他们成功了,达到了程序员修炼的第三层境界,他们已经突破了原有程序员的传统概念,达到了在业界“横行无阻,任意驰骋”的能力,这就是程序员修炼的最高境界。
 
第三层境界特征:
工作时间:工作六年以上(经常跳槽的不算)
工作任务:“应用级”技术的不同排列组合,以市场为导向去创新与创造
工作内容:面对市场背靠技术开发团队,指导开发的市场着眼点,指导市场的获利方式
工作目标:盈利
工作职位:部门经理、研发副总、CTO、解决方案专家、业务专家、产品经理、高级产品经理等
参考薪金:¥15000以上(仅供参考)
 
1.1.4 点评“修炼三层境界”
      王国维在《人间词话》中对人生三境有如下阐述,“古今之成大事业、大学问者,必经过三种之境界。‘昨夜西风凋碧树,独上高楼,望尽天涯路’,此第一境也。 ‘衣带渐宽终不悔,为伊消得人憔悴’,此第二境也。‘众里寻他千百度,蓦然回首,那人却在,灯火阑珊处’,此第三境也。”
      又有人说人生境界如陶渊明《桃花源记》中所写的“初极狭,才通人。复行数十步,豁然开朗。”
程序员的发展路径,就是程序员人生路径,从最初的“看山是山,看水是水”,到后来见的多了悟到“看山非山,看水非水”,没想到最终发现“看山还是山,看水还是水”。
 
1.1.5 回答这个问题
      言归此问,“这个职业赚钱吗?赚多少钱?”,我想我已经回答了这个问题,世界上没有天上掉下来的馅饼,也不会掉下一个林妹妹。
      任何事业,均需如下才可成功:第一要立志,第二要思考,第三要奋斗。
《Java程序员,上班那点事儿》清华大学出版社(转载请保留这句话,谢谢!)
本文出自 “《Java程序员,上班那点事儿》的那点事儿” 博客,转载请与作者联系
分享到:
评论

相关推荐

    程序员十层境界(很经典)

    #### 第三境界:精通者 当程序员掌握了C/C++等语言的基础知识,并能够熟练运用这些语言进行开发时,他们便进入了精通者的行列。这个阶段的程序员不仅限于语言本身的学习,还会深入研究语言的设计原理及其底层实现...

    程序员的九重境界,你是第几重?

    程序员的九重境界,你是第几重?看看这位高手写的有关程序员的境界。从第一层到达最高层,你是第几层?请进来看看。程序员 java 境界 php SSH struts

    程序员的八重境界

    ##### 第三重:Competent Programmer - 合格程序员 **定义:**合格程序员不仅能够独立完成任务,还能在一定程度上解决较为复杂的问题。他们是团队中的中坚力量。 - **特征:** - 拥有扎实的编程基础,能够写出高...

    程序员的最高境界?

    最高境界绝对不是你去编两行代码,或者是几分钟能写几行代码,或者是用什么所谓的可视化工具产生最少的代码这些工作,这都不是真正的高手境界。即使是这样的高手,那也都是无知者的自封

    程序员九重境界,看看你到了第几重!

    三、技术深耕:在这一阶段,程序员不仅熟练掌握了多种编程语言和技术栈,还开始深入研究特定领域的问题。他们可能已经具备了一定的专业能力,能够为公司解决实际业务问题。“自己认为重要的不仅仅是技术本身,更是...

    程序员分成几种不同的境界

    三流程序员注重创意和设计质量。他们不仅满足于完成任务,更追求作品的完美,他们的代码和设计充满灵性和独特性,经得起时间的考验。这类程序员通常有深厚的编程功底和良好的审美观,能够打造出令人赞叹的软件产品。...

    剑法三套,程序员.的三境界.doc

    剑法三套,程序员.的三境界.doc剑法三套,程序员.的三境界.doc

    程序员10大境界.pdf

    《程序员10大境界》一书,是由资深IT专家周伟明编著的作品,它不仅详细剖析了程序员从初学者到行业精英的各个成长阶段,而且深入探讨了中西方程序员技术水平的差异问题。周伟明通过对程序员成长路径的梳理,为读者...

    程序员最高境界

    尽管文章标题为“程序员最高境界”,但实际上内容并未涉及编程技术本身,而是将营销策略作为一种比喻,暗示通过掌握此类营销技巧也能达到某种程度上的“最高境界”。接下来,我们将详细解析这一概念及其应用。 ### ...

    程序员10大境界7.pdf

    【程序员10大境界】这本书主要探讨了程序员的不同技术层级,并通过作者周伟明先生的个人经历和专业见解,为读者揭示了从新手到高手的成长路径。周伟明先生是多核编程领域的专家,他在网络安全软件、服务端软件、机器...

    程序员的九重境界,看看自己的位置

    #### 境界三:面向对象思维 - **简介**:随着技能的提升,程序员开始深入理解面向对象编程的概念,学会用面向对象的方式来思考问题和设计解决方案。 - **特点**: - 理解类、对象、继承等核心概念。 - 能够将现实...

    程序员境界

    根据给定文件的信息,我们可以提炼出关于“程序员境界”的一系列重要知识点。 ### 一、程序员的成长阶段 在程序员的职业生涯中,存在着不同的成长阶段。这些阶段不仅代表着技术水平的提升,也意味着思考方式与解决...

    程序员的八种境界,你在哪一境?

    【程序员的八种境界】是将程序员的职业生涯划分的不同阶段,反映了个人技能、影响力和职业发展的不同层次。这些境界不仅仅是技术能力的体现,也包含了商业洞察力和社会影响力。以下是这八种境界的详细解读: 1. **...

    一个老程序员的经典概括

    文章提到了VB程序员的三个境界,分别对应编程能力的不同阶段: 1. 菜鸟级:所有代码都只放在窗体文件中,这类程序员主要通过拖拽控件、设置属性和编写事件代码进行开发。 2. 中间级:工程中有bas模块,表明程序员...

    java程序员上班那点事

    《我工作我Java》1 原名:《Java 程序员要上班!...1.1.3 修炼第三层境界:最深即最浅,最浅即最深,不过如此12 1.1.4 点评"修炼三层境界" 13 1.1.5 回答这个问题13 1.2 问题2:大学毕业生找不到职业入口13

    编程之禅(程序员的哲学 )

    只有当程序员最终学会了将那种“自我自我的存在”的虚假感觉抛在一边,此种境界才可能达到,而那种“自我的存在”的感觉往往伴随在我们大多数人的生活之中。 这是计算机所带来的--禅师程序员的行为方式。 有人说,...

    中外程序员成长之路

    “奋斗篇”通过讲述程序员个人成长的故事,展示了编程作为一种技艺,需要经过长时间的磨练和积累才能达到炉火纯青的境界。其中,自学能力是程序员必须具备的能力之一,因为技术更新换代的速度非常快,程序员必须学会...

Global site tag (gtag.js) - Google Analytics