zoukankan      html  css  js  c++  java
  • 剑法三套,程序员也能赚大钱(1)(转)

    1 引子
    都说海阔凭鱼跃,又有多少鱼能跃出大海?都说天高任鸟飞,但真正能一飞冲天的,也不过是寥寥数鹰而已;在IT圈里流浪的程序员,当青春逝去、渐至而立之年时,又有多少人黯然退出?30岁,似乎宣告了程序人生的终结。
    从学会写第一个Basic程序起,已过去了15年,我也曾为30岁烦恼过。近日《神雕》热播,杨过在独孤剑圣的剑冢中发现宝剑若干,见证了独孤剑圣在人生不同阶段对剑道的领悟。忽有所感,联想起古圣今贤的论述,结合自已这些年来的经历,不禁豁然开朗。
    程序之道,在于悟,悟透表象后面的真相。程序人生,大致可分为三个阶段:
    n 编码阶段:凌厉刚猛,无坚不摧,弱冠前以之与河朔群雄争锋
    n 设计阶段:重剑无锋,大巧不工,四十岁前恃之横行天下
    n 思想阶段:四十岁后,不滞于物,草木竹石均可为剑。自此精修,渐进于无剑胜有剑之境
    本文针对普通程序员的实际情况,对这三个阶段进行解说,并给出了“升级”的秘笈。所述观点,不适合IT狂人和天才——因为我不是。
    2 编码,技巧作先锋
    2.1   阶段释义

    老张:小王,昨天讨论的那个EJB接口,已经实现了吗?
    小王:我已经实现了,现在客户端可以通过EJB与服务器进行通信了。
    上述对话,取自于某项目组的会议纪录,老张是这个小组的开发经理。小王毕业一年,在项目组中主要从事代码编写工作。每天上班,老张会给小王分配当天的工作,告诉小王有哪些Java接口,需要写多少个Java类,具体有什么要求等等。小王按照要求,写完这些类后,交给老张,一天的工作就完成了。衡量小王的能力的标准是,看他是不是能做好具体的事,即“我能做(I can do it)”。
    小王是典型的第一阶段中人。该阶段中人,通常是入门三年内的,初窥门径,斗志昂扬。在网上常看到的“VB好还是DELPHI好”“.Net好还是J2EE好”等贴子,多数都是由这个阶段的人提出,人气值剧旺(这是合理的,符合人才的金字塔结构),往往争吵得头破血流也不罢休。笔者也曾因此与同班一MM大吵出口,如今回想,深感当年之可爱。独孤剑圣弱冠前,手持无名利剑,凌厉刚猛,与河朔群雄争锋。程序员也一样,手持“编程语言”利剑,以“面向对象”为招式,东征西战,编出代码无数。
    2.2   应该做的事
    找一家有正经事干的公司,打一枪换个地方的不要。这是重中之重。“蓬生麻中,不扶自直,白沙在涅,与之俱黑”,现阶段的程序员,是无力改变现状的。如果你所在的团队不能按正规方式进行较大型软件产品的开发,那你所能学到的东西就会少许多。如果是正规开发团队,而且有前辈愿意尽心尽力地教你,那就是捡到宝了,不给钱都行。
    从技术角度,这个阶段的人,关注细节是必修课,追求的是技巧这个层次。“如何才能用最少的语句实现表达式求值”“i++与++i有何区别”等是最关心的问题。当技巧的积累达到一定程度时,应付日常工作将比较轻松,此时信心爆棚,最喜欢的口头禅是“天底下没有编不出来的程序”,技术特点是对某种编程语言(如Java、C#)非常熟悉,甚至达到“回字有四种写法”的境界。凡事必追根究底,有股子“语不惊人死不休”的蛮劲。
    笔者没有任何贬义,相反,是褒义,因为这是必须经历的。佛云:“既未入迷,何言解脱?”如果你是工作三年内的同行,那么应以“入迷”为荣。上学时,老师常教导我们“先把书读厚,再把书读薄”,只有“深入”,才能“浅出”,也是这个道理。
    2.3   不应该做的事
    年少气盛,固然可爱,但若因此而鼻孔朝天,则是大大的不妥了。你的许多同事,API没有你熟悉,编程也没有你快,但他们能为企业创造的价值却可能比你大(为什么?看下文)。时下流行“态度决定一切”,此时的你,应以低姿态为主,傲气会让你短视。
    “技术代表一切”可能是你的信仰。但你的老板可能对技术根本不感兴趣,老板关心的是你能为公司创造多大的价值。许多黑客甚至养不活自己,因为单纯的自我陶醉式的攻击、骚扰、破坏并不能创造价值,通常都是在改行后(例如当安全顾问),他们的技术才能用于创造价值,才能使自己过上好日子。许多黑客则干脆是双重身份,平时从事着另一份职业。所以,如果想挣更多的钱,那你就不能迷信技术(屠龙之技有何用?),而是要审视你所做出的贡献。许多牛人觉得自己水平很高,为什么老板就是不给加薪?反思一下,自己给公司挣了多少钱吧。
    2.4   局限性
    1、锋芒有余,韧劲不足。该阶段的人,锐气太盛,遇到挫折后容易气馁,轻言成败往往是他们的缺点。(什么?没有锐气?是谁,是谁把你招进公司来的?)
    人不可有傲气,但不可无傲骨,傲骨体现在面对困难上。要勇于用抽茧剥丝的精神,去磨,去啃,相信吧,只要你的困难不是想发明质能方程,最终一定会被你搞定的。事实上,你遇上的问题,大多数都可以通过Google、百度搜出答案来。
    2、与具体的语言或编程工具绑定得比较紧,受语言的限制较大。
    3、需要良好的体力。人到中年,体力上往往拼不过刚毕业的学生,这就是所谓的“程序员30岁问题”的原因。我有一些朋友,已过而立之年,却还在苦苦寻找编码的职位。虽然我很同情,但爱莫能助,如果这种情况继续下去,“寻寻觅觅,冷冷清清,凄凄惨惨戚戚”将是必然的结果。
    朋友,赶快升级吧。
    2.5   进阶指南
    1、多记多写。好记性不如烂笔头,把各种想法写下来,把经典的代码摘录下来(最好用源码工具来管理,推荐VSS),有价值的东西,还可以发表在博客中(俺们那个时候苦啊,网络不发达,呕心沥血之佳作,却只能孤芳自赏),这些就是你的财富,在关键时刻拿来就能用;
    2、别忘了挖井。不知是否听说过两个和尚的故事,原文不在此粘贴了,大意是一个和尚天天挑水,另一个除了挑水外,还在寺庙附近挖井。若干天后,第一个和尚还在挑水,第二个和尚已经挖好井,不用再挑水了。编码好比挑水,作为本职工作,自然是要卖力地挑,好争胜的,不妨跟人比比谁挑得多。但在业余时间,可以多看看《软件工程》、《设计模式》、《人月神话》、《极限编程》、《UML》……
    3、由外而内,勤修内功。什么编程啦,什么算法啦,统统都是外功。外功练好了,内功也能跟着长进。内功是什么?很多。现阶段最需要的是:灵活的头脑、关注细节的态度以及与人为善的处世技巧。
    灵活的头脑,使你能快速学习新东西,这是最基本的。
    关注细节的态度让你能“象福特一样捡起地上的纸片”(如果不知道福特的故事,上Google搜去吧),工程实施现场出现的问题,多数都是由于编码人员的疏忽;经典错误“空指针”和“数组越界”,你检查了吗?几十年了,“缓冲区溢出”仍然是黑客的最爱。
    与人为善的处世技巧,使你有良好的人缘,前辈愿意帮助你,晚辈愿意投靠你,领导愿意提拔你,哇,好处多多,实惠多多……能否进阶,就靠这了。
    (常云:先做人,后做事。无论是程序员还是艺术家,这个道理都是普遍适用的,贯穿人生的各个阶段——而这恰恰又是刚参加工作、涉世未深的新人们容易忽略的。所以在此提出,下文就不再赘述了。)
    2.6   阶段小结
    适用人群:工作三年内
    输    入:设计好的类、接口和算法
    职    责:按要求编写类和接口的具体实现代码
    输    出:具体的代码
    阶段目标:我能——I can do it
    技术特点:注重技巧,对具体的编程语言非常熟悉
    胜任职位:软件工程师、开发工程师
    升级秘笈:多学习软件工程、设计模式等与具体编程语言无关的知识
    参考薪水:¥6000以下(仅供参考)

    转自:http://www.51leifeng.net/thread-21052-1-1.html

  • 相关阅读:
    递归函数及Java范例
    笔记本的硬盘坏了
    “References to generic type List should be parameterized”
    配置管理软件(configuration management software)介绍
    WinCE文件目录定制及内存调整
    使用Silverlight for Embedded开发绚丽的界面(3)
    wince国际化语言支持
    Eclipse IDE for Java EE Developers 与Eclipse Classic 区别
    WinCE Heartbeat Message的实现
    使用Silverlight for Embedded开发绚丽的界面(2)
  • 原文地址:https://www.cnblogs.com/yc1990/p/2384855.html
Copyright © 2011-2022 走看看