`
xdlliutao
  • 浏览: 38005 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

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 生态系统里的犄角旮旯。热忱就是,当有无数个理由要我们停下,它依然驱使我们前进。


分享到:
评论

相关推荐

    Shaping the future with Java, Faster(英文演讲).pdf

    最后,文档提到了几个与Java社区相关的统计数据,比如Java杂志拥有超过25万的订阅者,全球有超过350个Java用户组,150多名Java冠军和470名参与OpenJDK社区的贡献者。这些数据展示了Java社区的活跃度和对Java技术的...

    应届毕业生程序员简历模板

    - **编程语言**:熟悉C、C++,并了解PHP、Java、Python等,这些是程序员必备的技能,涵盖了系统级编程到Web开发的广泛领域。 - **数据结构和算法**:掌握基础数据结构和算法是解决复杂问题的关键,对于任何IT岗位...

    程序员求职模板资源docx

    【程序员求职模板资源docx】是一个为程序员量身定制的求职文档模板,旨在帮助求职者高效地准备个人简历,以增加获得面试机会的可能性。这份模板包括了必要的个人信息、教育背景、竞赛获奖、职业技能、项目经历、个人...

    1997年世界编程大赛冠军作品

    标题中的“1997年世界编程大赛冠军作品”指的是在1997年度的一场全球性的编程竞赛中,有一项参赛作品凭借其卓越的技术实力和创新性,荣获了冠军荣誉。这样的比赛通常吸引世界各地的顶尖程序员参与,展示他们在算法...

    简历模板-程序员.docx

    在教育背景部分,应聘者提到了他在哈尔滨工业大学攻读计算机科学与技术的研究生学位,并在此之前完成了软件工程的本科学习。这表明他对计算机科学有深入的学习和理解,具备扎实的理论基础。 在竞赛获奖方面,虽然...

    PacktPub.BPEL.and.Java.Cookbook

    他在能源和电信部门参与过多个大型SOA项目,并且作为Oracle SOA实施的认证冠军,他专注于Oracle产品和技术。近五年来,他在银行行业担任项目经理和系统设计工程师,并且现在是银行的Oracle程序员。因此,他对于BPEL...

    java-almanac:一些Java史学

    "java-almanac"项目,正如其标题所示,是一个专注于Java历史和技术发展的资源库,由Java冠军Marc R. Hoffmann精心编纂。这个项目以技术为中心,深入探讨了Java的发展历程,为开发者提供了宝贵的参考。 Java的起源...

    python程序员职业发展方向

    python从2005年开始使用人数一直攀升,目前Python已超越Java夺下冠军,2020年Python仍然不会冷门!近日,PYPL发布了5月编程语言指数榜,这个指数原始数据基于Google trends,根据编程语言在Google上的搜索频率(次数)...

    CCKS2021答非所问竞赛冠军方案.zip

    Java是一种高性能、跨平台的面向...自动内存管理(垃圾回收): Java具有自动内存管理机制,通过垃圾回收器自动回收不再使用的对象,使得开发者不需要手动管理内存,减轻了程序员的负担,同时也减少了内存泄漏的风险。

    销售小白如何面试世界500强公司-素材.docx

    对于没有技术背景的销售人士,可以通过自学、在线课程或参加编程训练营来快速提升技术能力。 总的来说,从销售转行到程序员,尽管有挑战,但通过精心准备、持续学习和明确目标,完全有可能在世界500强公司中...

    世界大赛冠军

    【Java世界大赛冠军】 在编程领域,"世界大赛冠军"可能指的是那些在国际级Java编程竞赛中获得最高荣誉的团队或个人。这些竞赛通常汇聚了全球顶尖的编程人才,通过解决复杂的算法问题和实际工程挑战来展示他们的技能...

    课程设计.rar

    这些文件名为"Java程序设计课程设计任务书"的文档,显然与Java编程语言及其在实际问题中的应用密切相关。从给出的文件名中,我们可以提炼出多个...完成这些课程设计将有助于提升Java程序员的综合技能和问题解决能力。

    世界编程大赛第一名作品

    首先,编程大赛通常涵盖各种编程语言和技术,如C++、Java、Python、JavaScript等,而作为冠军作品,它很可能采用了最先进的编程技术和工具。开发者可能运用了高效的数据结构(如栈、队列、树或图)和算法(如深度...

    初中语文文摘人生慢出来的价值

    例如,谷歌的AlphaGo围棋算法在击败世界冠军之前,就进行了数百万次的自我对弈,以逐步提升其决策能力。这种慢工出细活的方式,让AI技术在深度学习的道路上取得了突破。 再者,编程技能的培养也是一个渐进的过程。...

    软件开发游戏设计类岗位求职简历模板.docx

    他的虚心学习态度和自信但不自负的性格,使他能够适应不断变化的技术环境,不断成长和提升。 【求职意向】 根据简历,求职者希望从事与游戏相关的工作岗位。这可能包括但不限于游戏程序员、游戏设计师、游戏测试...

    CyberToolbox for Java-开源

    这个开源项目,作为1998年Java 3D编程竞赛的冠军作品,展示了其在3D图形编程领域的优秀性能和创新性。 CyberToolbox 提供了丰富的功能,使得开发人员可以轻松地构建和操纵3D场景。它包括但不限于以下关键特性: 1....

    世界编程大赛第一名的程序

    标题与描述中的“世界编程大赛第一名的程序”指向了一个在国际级编程竞赛中脱颖而出的代码作品,这不仅象征着编程技巧的极致展现,也是对程序员逻辑思维、算法设计及编程能力的高度认可。以下是对该标题及描述所涉及...

    JSP基于SSM大学生校园体育比赛响应式网站可升级SpringBoot+源代码+文档说明+数据库.zip

    开发技术 java ssm 框架 比赛公告,校内比赛报名 (需要报名总人数,报名时间,截止报名时间,超过时间或者报名人数将提示不能报名,报名分组一组二,规定组成员为多少人,选择自由报名组,分为十组总共) 校内...

    awesome-cs-books:计算机优质书籍搜罗!

    另外,这,本书还提供了详细的Java代码,非常适合学习Java的朋友来看,可以说是Java程序员的必备书籍之一了。下面这些书籍都是经典中的经典,但是阅读起来不足也比较大,不做太多矛盾,神书就完事了!经典名著,ACM...

    国际大学生程序设计竞赛题解

    每年,来自世界各地的大学队伍参与其中,争夺全球冠军的荣誉。这些题目通常涵盖算法设计、数据结构、数学、逻辑推理等多个领域,对参赛者的综合技术能力有着极高的要求。 题解文档是竞赛爱好者和学习者的重要参考...

Global site tag (gtag.js) - Google Analytics