从决定迈出校门进入社会的那一刻起,你就进入了一个战场,这个战场虽然没有硝烟弥漫、没有炮火纷飞,但却绝不亚于任何一个真正的战场。你要在这个战场上去搏杀、去竞争,必须利用各种可以利用的手段去赢取战斗。在这个战场上,没有人会因为你的弱小而给予同情,也没有人会因为你是一个新手而手下留情,在这里你会感受到在学校里从来没有感受过的“残酷”,你将深深地体会到一句话,那就是“优胜劣”。

我们能在这个战场上获胜的法宝之一就是“知己知彼,百战不殆”。如果能够在战斗前对双方的情况了如指掌,那么取得胜利将会成为必然。

知己:要了解自身的情况,要找准自己的定位。这个定位是在自己对自己充分了解的情况下进行的思考,对于准备迈向程序员职业的战士们来说,进行这个定位是绝对必要的。

知彼:要对未来工作岗位的一切做到尽可能得清楚,这就需要对你的对手有非常清楚的了解。

1.1 问题1:这个职业赚钱吗能赚多少钱

Java程序员这个职业赚钱吗能赚多少钱

我们刚刚进入本书的正题就拿出一个俗不可耐的“钱”字来和大家大谈特谈,未免不雅。但是这里还是要在一开始就说这个问题,因为这是很多朋友关心的问题,为什么不先说

有很多即将进入这个行业的年轻朋友都很想问这个问题。

认真地面对这个问题,我们的回答是:

先不要急着问能赚多少钱,先要想想你能为别人提供什么服务。

任何一个职业都很赚钱!而且都可以赚很多钱,想拿高薪不一定非要做程序员。在这里并不是卖关子,这是真理,“三百六十行,行行出状元”。

有些朋友听到了我说的这些话也许会很失望,其实也不要失望,这个职业有让你赚到高薪的机会,只是问题是赚高薪是在什么时候,或者是在程序员的哪个所属层级。

下面来了解一下程序员的修炼三层境界,通过这个内容大家会比较容易抓住本书的内容要旨。

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修炼三层境界相关推荐

  1. java修炼手册3.8_Java修炼手册

    <Java修炼手册免费版>是一款专为想要自学JAVA的用户打造的全方位掌上学习软件,拥有各阶段的科学课程模块,从视频,资料,图片,演示等多种方面全面引导用户科学而快速的融入JAVA的世界中 ...

  2. SVM支持向量机通俗导论(理解SVM的三层境界)

    神文 转自july:http://blog.csdn.net/v_july_v/article/details/7624837 支持向量机通俗导论(理解SVM的三层境界) 作者:July .致谢:pl ...

  3. java修炼之多线程学习心得

    java修炼之多线程学习心得 java是少数几种支持"多线程"的开发语言之一.大多数的程序语言只能遵循运行单独的一个程序块,无法同时运行多个不同的程序块.java的"多线 ...

  4. 《Java修炼指南:高频源码解析》阅读笔记一Java数据结构的实现集合类

    一.Arrays工具类 来自java.util.Arrays,用来处理数组的各种方法. 1.1 List asList(T- a) 用来返回由自定数组支持的固定大小列表,虽然这里返回了一个List,但 ...

  5. 支理解SVM的三层境界

    支持向量机通俗导论(理解SVM的三层境界) 作者:July .致谢:pluskid.白石.JerryLead. 说明:本文最初写于2012年6月,而后不断反反复复修改&优化,修改次数达上百次, ...

  6. SVM算法(三层境界)

    支持向量机通俗导论(理解SVM的三层境界) 作者:July .致谢:pluskid.白石.JerryLead. 说明:本文最初写于2012年6月,而后不断反反复复修改&优化,修改次数达上百次, ...

  7. Java修炼 之 基础篇(二)Java语言构成

    上次的博文中Java修炼 之 基础篇(一)Java语言特性我们介绍了一下Java语言的几个特性,今天我们介绍一下Java语言的构成. 所谓的Java构成,主要是指Java运行环境的组成,从外围到核心依 ...

  8. JAVA修炼秘籍第六章《鏖战》

    往期: JAVA 修炼秘籍第一章:<痛苦的折磨> JAVA 修炼秘籍第二章:<逐渐魔化> JAVA 修炼秘籍第三章:<绝地反击> JAVA 修炼秘籍第四章:< ...

  9. JAVA修炼秘籍第四章《闭关修炼》

    往期: JAVA 修炼秘籍第一章:<痛苦的折磨> JAVA 修炼秘籍第二章:<逐渐魔化> JAVA 修炼秘籍第三章:<绝地反击> 文章目录 一.方法 方法的重载 方 ...

最新文章

  1. 【廖雪峰python入门笔记】set
  2. php自动分配,PHP上传文件时自动分配路径的方法_php技巧
  3. 安装discuz遇到的坑
  4. Mongodb-初步了解
  5. (转)jQuery第五课:Ajax
  6. 用css画出一个圆圈,里面有个叉号(不能用英文字母x)
  7. github(5):GitHub的注册与使用(详细图解)
  8. Activity嵌套fragment大全,activity加载单个fragment,TabLayout+ViewPager实现多个fragment滑动效果
  9. 聚焦业务价值:分众传媒在 Serverless 上的探索和实践
  10. js判断设备、浏览器类型
  11. 《数据分析实战 基于EXCEL和SPSS系列工具的实践》一3.2 用“逐步推进法”推测需要的数据...
  12. 怎么处理table 与 form绑定的问题(现象:点击取消后 修改的值还是在table显示)
  13. 子列和列_最大子列和 - fanlinglong - 博客园
  14. 计算机专业 美国,美国计算机专业的五大名校概况
  15. 计算机断电无法启动不了系统,电脑停电后无法开机怎么办?|电脑停电无法启动的解决方法...
  16. WebSphere 异常问题记录
  17. web SEO简单优化
  18. SaaSBase:什么是JIRA?
  19. cdr 表格自动填充文字_长期伏案于表格,查看数据时你需要一个聚光灯效果
  20. 【OpenCV】人脸旋转角度计算

热门文章

  1. 移动游戏性能优化建议与字体剥离精简工具
  2. html5 ios keychain,iOS Keychain理解
  3. 未成熟男人; 成熟男人
  4. 在大理,有没有见到段誉?
  5. 计算机网络的局限性的表现,计算机网络系统的脆弱性有哪些表现
  6. 机器视觉光源概述(选型参考)
  7. mysql查询5分钟内的数据
  8. 【matlab教程】20、简单网格细分
  9. lm2576使用注意
  10. sketch生成android布局,让 Sketch 小部件布局如此轻松:Compo