一位具有二十多年的开发经验的资深Java企业级架构师讲述自己寻找成为开发高手的过程,他发现“广度”和“深度”是初级程序员与程序牛人最大的区别。
20年前,当我刚开始从事数据处理方面的开发工作时,我在一家为银行承担外包工作的公司工作。开始我只是一个实习生,毕业后进阶为程序员的第一级——“初级程序员”。其实,在我们公司内部,对这些Title都做了一些神秘的标识,比如我的初级程序员的标识是“E07”。
不久,我发现了我们公司是如何对程序员的级别进行标识的:
◆初级程序员 = E07
◆程序员 = E08
◆高级程序员 = E09
◆超级英雄 = E10 (一种非常罕见的品种)
这些级别不单代表技术能力,还有薪水,当然,薪水是与这些级别排名紧密相关的,这是不会变的,不管是20年前还是现在。
像所有初级程序员一样,我希望自己用一到两年的时间在E07级别工作,然后逐渐向上爬。但有件事一直令我困惑:那些进阶最高级别的程序员与一直停留在初级的程序员之间到底有什么不同?
一天,我与一个非常棒的E10程序员一起开发一个项目,他叫James。在这个项目的过程中,我们进行了愉快的交谈,他的话令我印象深刻:“工作都一样,无论你是E07还是E10”。
我当时目瞪口呆。在那一刻,我意识到,在这个项目中我所做的工作与James所做的一样重要。我当时在做数据分析和编码,James也在做数据分析和编码。虽然他以最高级别的E10在工作,但他所用的编译器我也在用;他所用的数据我也在用;他所用的开发环境也跟我一样。如果他所做的部分遇到困境,我所做的部分也将遇到阻碍。在这个项目中,我们同行。
别误会我的意思,虽然所做的工作一样,但初级程序员肯定不如那些程序大牛值钱。今天,我不得不承认这个被广泛接受的事实。但那时,我的这个想法给我带来不可估量的好处,直到今天。
我试图寻找我与E10的朋友们到底有哪些区别。我和他之间到底有哪些不同?我得到的结论是,至少在两个方面他比我更优秀:广度和深度。
广度意味着在技术方面可支配的工具、技能和方法广泛的多。当时,我只具备一些COBOL编程经验;而E10的朋友不单会COBOL,还精通于汇编、JCL(一种工作控制语言)、操作系统等等多项技能。在今天,这等于一个只会Java的程序员站在另一个Java程序员身边,他身边的这位同时还知道C++、C#、Ruby、Python、Erlang以及每一种语言的流行框架。如果一个项目只是需要使用Java,那这两个Java程序员是平等的。但如果下一个项目需要更多的技术,这种平等的情况就会发生改变。
另一个方面是深度,是指在其工作领域内的知识含量和功底。在过去,我所编写的COBOL代码也许跟我的E10朋友一样好。但如果我的程序有一个Bug,我的办法只是看着诊断报告不断进行调试。我的朋友不单会做这些,他还会阅读一些核心转储的数据,将一些重要数据转变成汇编程序(他可以从中获得一些启发)等等。在另一个我们一起进行界面编程的项目中,他可以更好的理解我们所操作的平台并知道如何完美的利用这个平台所提供的功能。同样,我的源码可能跟他的没什么太大区别,但如果我们需要向下一个级别进阶……是的,我们之间有一个明显的分界线。
在今天的世界里,这可能意味着程序牛人可以知道如何调整JVM,选取有用的数据分析工具;程序牛人知道如何安装、配置、调试和配置平台。牛人知道如何建立编译环境,而初级程序员也许只知道按照已经确定的方案(平台)进行开发。
技术的广度和深度,我想,我找到了成为高手的密匙。我需要学习更多并努力提到自己的广度和深度(直到今天,我还在努力!)。20多年前与James的一席谈使我知道自己哪里需要提高,这对我在事业方面的促进比我想象的大得多。如果你是这个行业的新手,希望上面所提到的这些能够帮到你。
Happy Coding!
分享到:
相关推荐
无需安装,可快速查看系统密匙 和Microsoft Office密匙
winrar 5.21带密匙,我也是找了好久,无毒,亲自验证,放心下载使用。
一个很好用的快速打通收费资源的密匙工具。
这个文件可以存储你的GitHub用户名、电子邮件地址等信息,使其成为全局设置,这样你在任何目录下的git操作都会使用这些信息,无需每次都手动输入。 在日常开发中,合理配置和管理SSH密钥能够极大地提高开发效率,...
如果大家现在没有笔记本电脑的话,可以先下载收藏着,以后有了笔记本再使用. ... WirelessKeyView 让你可以恢复 Windows 操作系统(非第三方产品)存储的无线网络...欢迎大家继续研究开发。看看是否其他路由器是否适应。
MD5 安全狗密匙
320 240触屏 经典手机java游戏 法老密匙(闯关)
当您丢失或忘记无线网络的密码时,恢复无线网络密匙就成为了一个必要操作。这里我们将详细讨论如何使用"WirelessKeyView 1.30 汉化绿色版"这一工具来恢复无线网络的密钥。 WirelessKeyView是一款小巧实用的工具,由...
Linux 下 SSH 与 SecureCRT 密匙完美使用 在 Linux 系统中,SSH(Secure Shell)是一种常用的远程登录协议,能够提供安全的远程访问方式。OpenSSH 是一个流行的 SSH 服务器软件,提供了基于密钥的认证系统。然而,...
2.用纸张记录安装文件的产品密匙(安装序列号)。 3.没有有主板,显卡驱动光盘的情况下,用驱动程序备份工具(如:驱动精灵 )将原Windows XP下的所有驱动程序备份到硬盘上(如∶F:\Drive)。最好能记下主板、网卡、显卡等...
rar注册密匙rar注册密匙rar注册密匙rar注册密匙rar注册密匙
在我们的日常生活中,无线网络已经成为不可或缺的一部分。然而,有时候由于各种原因,我们可能会忘记连接的无线网络密码,这无疑给我们的工作和生活带来了不便。这时,一款名为“无线网络密匙查看器”的小软件就能派...
机械制造inventor 2011系列产品密匙
STEP7 5.5的密匙 双击打开就好
"云时代虚拟机密匙该如何管理管理资料" _title: 云时代虚拟机密匙该如何管理管理资料 Overview 在云时代,虚拟机密匙的管理变得越来越重要。然而,虚拟机密匙的管理却面临着许多挑战。例如,供应商可能会掌握...
autodesk 2014 密匙 Product Keys
Foxit Reader PDF编辑器(带密匙)
获取VMware Workstation密匙的方法多种多样,包括购买官方授权、参加促销活动或者寻找网络上的共享密钥(但请注意,共享密钥可能违反软件许可协议,存在法律风险)。"keygen.exe"这样的文件名通常与密钥生成器有关,...
DEPH_7企业版 有安装解密密匙,很好的开发平台,很好用
WirelessKeyView 让你可以恢复 Windows 操作系统(非第三方产品)存储的无线网络密匙(WEP/WPA)。该软件采用十六进制和 Ascii (如果提供)码显示带有适配器名称和用户图形界面的密匙。该信息可以被拷贝到剪贴板...