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

欢迎阅读第227期”TheJava(tm) Specialists’Newsletter”。距我上一篇非技术文章已经有些时日。但一些程序员朋友们一直在向我征求职业生涯的建议,现在我觉得是时候再写一篇了。顺带提及,如果你有心思去看其他的东西——我已经开始在Heinz’s Worst Recipes(海因茨最差食谱)上记录我所烹饪过的那些惨不忍睹的食物。受我好吃的强烈欲望所致——这可以由我的腰围证明,烹饪成为我的一大爱好。我远远不能成为一个 合格的厨子,因为我从来不遵循食谱,由此我所烹饪的许多食物也以“黯然不可食”的状态被抛弃掉,当然有时候在做了足够的尝试、出了足够多的问题后也能遂我 所愿。在我的博客中,成功和失败的例子都被记录了。当然,这和Java毫无瓜葛。

通知:欢迎查看我们新一期的 “Extreme Java ( 极限 Java )” 课程。这一期结合了并发、一点点性能优化与 Java 8 的内容。Extreme Java – Concurrency & Performance for Java 8

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

几个月前,我和的商务合作伙伴 Carl 以及我们的法国课程导师 Xavier 在巴黎的一家餐厅就餐。在谈话中,我和 Carl 就我们年轻时使用的那些炫酷技术而谈笑风生。与此同时,我注意到Xavier 沉默良久,于是我决定询问他的年龄。虽然不能确切的想起他的年龄,但我记得他与我年龄差距很大,和我第二个孩子的年龄相仿。这意味着,多少年来,我和 Carl 同时有过的那些编程经历,对他来说一文不值。

软件工程师的职业生涯里,知识有一个三年的半衰期。这意味着三 年后,你所拥有的一半知识是毫无价值的。举这样一个例子,年纪越大,就越难看到有谁能够了解 TSR(内存驻留程序 Terminate-Stay-Resident ),而找到曾经写过一个 TSR 的人更是如同大海捞针。在 DOS 系统里,并不能让多个程序同时运行。因此,在我们需要一个后台功能的时候,比如日历或计算器,我们就会写一个内存驻留程序( Terminate-Stay-Resident program ),然后通过特定的组合键从另外一个程序中激活。

在这个行业里,知识的三年半衰期实际上是件极好的事情,这使你永远不会变成沉舟病树。少年时期,人们警告我、反对我成为一个程序员,认为我将被迫持续学习 新东西,而我却认为我们的工作将因此而受益。首先,头脑应该保持新鲜和活跃。上次见到我祖母的时候,她已经98岁高龄了,行走不便,但依然心如明镜。她看 到我的 Macbook Pro 便说:“哟,这看起不错,我也想买一个。”正是因为她不断地学习新东西,使得她头脑清醒。其次,忽略那些你并不是非常感兴趣的技术,因为不久之后它们就会 被取代。我举一个 Subversion 的例子。我过去使用它,因为我必须使用它,但我没有特别对待它,我并没有成为一个 Subversion 的专家。几年之后,git 出现了,只能对 Subversion 挥手拜拜。可悲的是,今年我有一个客户居然从 CVS 迁移到 Subversion !这可是 2015 年!

好了,让我们重返的主题——怎样成为冠军程序员?我认为以下几点是非常有帮助的:

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

数学能力。不是成为一个数学高手才能成为一个好的 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 或者其他类似的网站上回答问题;可以在午餐时间通过叫外卖来讨论技术问题——许多年前在我所在的一家公司里,我们就通过这样的方式过了一遍”Design Patterns”。这需要一点牺牲,你可能必须放弃午餐,花费某些晚上去准备你的会谈。然而,比起单纯地做一个信息的消费者,这能学到的东西要多得多。

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

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

阿里Java高级大牛直播讲解知识点,分享知识,五大专题都是各位老师多年工作经验的梳理和总结,带着大家全面、科学地建立自己的技术体系和技术认知扣群Java大神高级架构群:658362658备注好信息!

这有点像我喜欢烹饪的原因。只不过幸运的是,我编程要比做菜水平高一些。

此致!

Heinz

原文链接:infusionsoft翻译:ImportNew.com-enigma

译文链接:http://www.importnew.com/15949.html

[转载请保留原文出处、译者和译文链接。]

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,491评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,856评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,745评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,196评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,073评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,112评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,531评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,215评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,485评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,578评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,356评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,215评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,583评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,898评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,497评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,697评论 2 335

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,056评论 25 707
  • 两个Carol太整人了,尽出这写掏心掏肺的题目。 当我一想到“如果没有恐惧”,我立马升起一股恐惧 - 那样的生活是...
    SwallowT阅读 784评论 3 6
  • 楼下邻居刚刚打电话问我家有电,我答:有。于是也知道她家是忘记交电费了,停电与你没商量,没钱立马停,而交电费时间是每...
    YQ筑梦阅读 539评论 2 2
  • 村子里的黑夜黑得很彻底,是伸手不见五指的黑。小男孩本来胆子就不大,到了夜幕来的时候就再也不敢往外跑了。 爷...
    会飞的麦芒阅读 278评论 2 2