Java冠军程序员告诉你如何提升技术

  让我们跟着兄弟连JavaEE培训

导师,聊一聊——怎样成为冠军程序员

?

我认为以下几点能力是非常有帮助的:

  1.强大的记忆力。当 我上八年级的时候,全因那位死气沉沉的历史老师,让我自己都相信我的记忆力太差了。然而,令我惊讶的是,历经多年程序员的工作,我惊奇地发现自己对之前看过的 Java 源代码可以立即重现。在我阅读 JDK 里的一个方法(method)的时侯,我常常能说出该方法(method)相较先前版本有无改动。也许我并不能记清楚某个人的长相和名字,但是对于 Java 代码可以做到过目不忘——要是人的名字也是 for 循环就好了。所幸,缺乏好的记忆力也丝毫不影响我们成为冠军程序员,但拥有强大的记忆力依然是一个明显的优势。

  2.数学能力。不是成为一个数学高手才能成为一个好的 Java 程序员,但数学能力显然会帮助你拥有成为优秀程序员的资质。今年一月份我有点空余时间,于是决定去试试欧拉谜题(Project Euler)。其中有一个谜题需要运行九个半小时去寻找解决方案。在它运行的过程中,我看了一下这个问题,然后发现其中数字间的一点关系,这可以用以优化解决方案。我再次运行,这次只花了 6 分钟。与此同时,我第一个算法仍然持续运行,尝试找到答案。我再次回到数字中去,发现了另外一种没有见过的模式,现在它只需要 6 秒钟就完成了。我也尝试过用聪明的编程技巧和并行去暴力优化代码,这可能让速度加快了一点点,但是依然没有办法使之少于6秒钟。

  大约十年前, Sun 发布了 Java 冠军程序员(Java Champion)计划。这个点子是用来发现世界上最顶尖的 1000 个 Java 专家,他们在也积极的做事情来帮助 Java 提升。我们现在大概排名在第 160 名。 Oracle 公司持续进行着这个计划,而且在过去的几年里,我们看到了这个认可制度的更多好处。这是一个自选的团体。新的冠军是被现存冠军推介并进行票选的。通常情况下,在选定冠军之前,需要有十多个赞成,而一个反对就会否决提议。自荐的情况是会被考虑的,但是一般不会得到足够多的支持。

  程序员朋友们经常问我是怎么成为 Java 冠军程序员的,“很简单”我说,“只要和我一样,发表 200 篇 Java 相关的文章;要么写个 Hibernate、Spring、Jacoco什么的;或者在 StackOverFlow 上回答数千个问题并出版一打好文章;或者组织欧洲最大的 Java 开发者大会。”

  你需要做一些卓越的事情,这将花费时间和精力。没有人因为他们的个人魅力和颜值而成为 Java 冠军程序员,全靠辛苦工作才可以,这也许是为什么我们的名字后面没有脸部照片的原因 ;-) 。甚至,不要为成为冠军程序员而成为冠军程序员。摒弃私心、等待其他人的赞扬,这将让你感觉更好。并不是每个冠军程序员都会被官方冠以“Oracle Java Champion(甲骨文Java冠军程序员)”的称号。

  无论你选择了哪种方式,成为冠军程序员就意味着奉献。和朝九晚五式的上班是完全不一样,你不可能在上班时学到所有你需要的知识。而要成为冠军程序员,需要利用晚上和周末的时间学习,以保持与时俱进。最夸张的笑话是,程序员一到40岁就会进入淘汰期。也许他们在 Java 编程上做的还不错——除非他们通过阅读书籍、文章,或是参加开发者大会和具有挑战性的课程来刷新他们的知识——否则仅仅依靠一纸文凭,终将变得毫无价值,这个行业将会把他们像用过的餐巾纸一样抛弃掉。千万不要变成这样的人!学习,学习,再学习!而最好的学习方式无疑是和你的同僚分享知识。

  怎么样分享你的知识呢?如今,我们有很多方式可以选择:可以在 StackOverflow 或者其他类似的网站上回答问题;可以在午餐时间通过叫外卖来讨论技术问题——许多年前在我所在的一家公司里,我们就通过这样的方式过了一遍”DesignPatterns”。这需要一点牺牲,你可能必须放弃午餐,花费某些晚上去准备你的会谈。然而,比起单纯地做一个信息的消费者,这能学到的东西要多得多。

  “The Java Specialists’sNewsletter” 现在为130多个国家的 70000 多程序员所阅读,但开始起步的时候非常微小,我把它发给我的八十个朋友和家人(包括我哥哥,和我父母),我恳求他们转发给他们的朋友和同事。随着时间地推移,它慢慢地发展。我相信,如果你观察周围,你可以找到 80 个电子邮件地址,这就是它怎么起步的。万事开头小。它发展缓慢,但是成长很稳定。我知道当你看到 70000 这个数字,可能会被震慑,但是这仅仅是 Java 程序员很小的比例。

  最后,我想以一个非常有帮助的要点结束这篇文章:热忱。大部分人不得不做枯燥的计算机工作,很少有人能在其中享受。在我的一份工作里,他们把组织源代码库的工作安排给一个电子工程师。他完全搞错了——当他在做源代码控制的时候,让我们在目录之间拷贝源代码树。每周的build时我们都要同时做这件事,服务器就像爬虫一样缓慢。在机器卡壳的时候往往需要几个小时,所有的人都只能慢慢等,这是令人痛苦和沮丧的。我对 VSS(Visual Source Safe:用于管理软件开发中各个不同版本的源代码和文档)毫无热情。找到一个你令你感到热爱的事情,它他应该是你下班之后非常愿意做的事。对我而言,就 是研究 Java 生态系统里的犄角旮旯。热忱就是,当有无数个理由要我们停下,它依然驱使我们前进。

时间: 12-20

Java冠军程序员告诉你如何提升技术的相关文章

如何成为一名Java冠军程序员?

每一个稍微有点出息的人,都应该把行业里的前三名作为自己奋斗的目标和对手.你离成为冠军Java程序员还有多远,看完这篇你就知道了. 软件工程师的职业生涯里,知识有一个三年的半衰期.这意味着三年后,你所拥有的一半知识是毫无价值的.举这样一个例子,年纪越大,就越难看到有谁能够了解 TSR(内存驻留程序 Terminate-Stay-Resident ),而找到曾经写过一个 TSR的人更是如同大海捞针.在 DOS系统里,并不能让多个程序同时运行. 因此,在我们需要一个后台功能的时候,比如日历或计算器,我

工作2-5年java的程序员,这六个技术栈让你轻松涨薪50%

工作多年以及在面试中,我经常能体会到,有些面试者确实是认真努力工作,但坦白说表现出的能力水平却不足以通过面试,通常是两方面的原因: 1."知其然不知其所以然".做了多年技术,开发了很多业务应用,但似乎并未思考过种种技术选择背后的逻辑.坦白说,我并不放心把具有一定深度的任务交给他. 2.知识碎片化,不成系统.在面试中,面试者似乎无法完整.清晰地描述自己所开发的系统,或者使用的相关技术.平时可能埋头苦干,或者过于死磕某个实现细节,并没有抬头审视这些技术. 前人已经掉过的坑,后来的同学就别再

程序员如何艺术的提升技术、影响力&赚钱

相信大家也看了之前的一篇<程序员如何优雅的挣零花钱?>,这篇文章和我之前尝试过的东西差不多,本文以图片为主. 因此,这篇文章会从以下几个角度来分析,即赚钱.影响力和技术--这是我所关心的三个维度: Money.这个就不用说了,地球人都懂的. Tech.这个就不用说了,热爱技术的人都懂的 Impact.可能很多人不懂,建议大家可以看看之前我写的<程序员如何提高影响力>. 他们的关系大致是这样的: 没看懂的,说明你还年轻. 现在,让我们来看看赚钱的方式,都有哪些不同的维度变化: 工作

好程序员告诉你Java架构师学习路线

好程序员告诉你Java架构师学习路线,从初级Java工程师成长为Java架构师,你需要走很长的路,很多有计划的人在学习之初就在做准备.你知道Java架构师学习路线该怎么走吗?成为一个优秀的Java架构师究竟需要学什么?接下来就跟小编一起揭晓答案. 架构师是一个充满挑战的职业,知识面的宽窄往往决定着一个架构师的架构能力.架构师在整个软件开发过程中都起着重要的作用,并随着开发进程的推进而其职责或关注点不断地变化. 想要成为Java架构师,你首先要是一个高级Java工程师,可以熟练使用各种框架,并知道

【转】成为Java顶尖程序员 ,看这11本书就够了

成为Java顶尖程序员 ,看这11本书就够了 转自:http://developer.51cto.com/art/201512/503095.htm 以下是我推荐给Java开发者们的一些值得一看的好书.但是这些书里面并没有Java基础.Java教程之类的书,不是我不推荐,而是离我自己学习 Java基础技术也过去好几年了,我学习的时候看的什么也忘了,所以我不能不负责任地推荐一些我自己都没有看过的书给大家. 作者:来源:攻城狮之家|2015-12-31 09:55 收藏 分享 “学习的最好途径就是看

(Java)程序员应打破牢笼,展望更高层次的世界

回顾过去,我认为每个程序猿都关在一个透明的牢笼中,限制了思维.蒙蔽了眼界.蹉跎了岁月而不自知,如果不尝试走出去是一辈子都不能感知到牢笼的存在.这个牢笼就是技术本身. 一些程序员就要说,我们就是靠技术吃饭的,天天考虑各种编程技巧,技术怎么成为束缚我们的牢笼呢?那是因为很多人只是看到软件技术的表象而没看到本质. 孙子兵法说:不知兵之害者不能尽用兵之利也.套过来说,不知技术之害者不能尽用技术之利也.技术也存在有害的一面,它是程序猿谋生的工具,同时也是关着程序猿的牢笼.为什么是牢笼呢,这就涉及到技术的两

Java Web 程序员的职业进阶之路

啥也不说了,都在图里了.希望可以给大家的职业规划一些提示,尤其是写了几年程序,却越来越迷茫的同学. Java Web 程序员的职业进阶之路,布布扣,bubuko.com

10本Java精选书籍助你快速进阶Java顶尖程序员

书是人类进步的阶梯,从某种意义上讲,一个人读书多少,跟这个人将来能有多大成就取得多大成功有着必然的联系,然而读书不仅仅是求量的过程,还需要精读.有选择的读,前面的文章给大家介绍过从零基础学习java编程到精通之路的五本书籍,但是Java学习入门之后,想要往更高层次的Java方向发展,如果能有几本好书的辅助,可以使我们在Java进阶之路上事半功倍,那么下面亦是美网络小编再给大家推荐10本Java精选书籍助你进阶Java顶尖程序员. 1.<深入理解Java虚拟机:JVM高级特性与最佳实践> 本书从

如何成为一名Java初级程序员

目前,JAVA是开发人员的热宠,很多论坛都有不少热爱JAVA的开发人员,也有不少想成为JAVA程序员,但苦于不知道该如何学习,也不清楚该学些什么知识才能成为一个JAVA程序员.本人在这里抛砖引玉,和大家讨论成为一个JAVA初级程序员应该具有的知识,与大家共享. 个人认为想成为一个合格的JAVA初级程序员应该具备如下知识: 一.面向对象的知识:JAVA是一个面向对象的开发语言,因此熟悉面向对象对学习JAVA很有必要,您要了解:什么是对象,什么是类;什么是封装,什么是多态,什么是继承;什么是抽象类,