×

Loading...

Thanks again

Hi DX

Anyway , i have to say thank you again, although we head those suggestions and encouragement so many . even we never give up since we came Canada because of the life and love . we just need an opportunity . we need hands to catch and go together , not just say the words. sorry, i say to you about it , because i don't know how to help my husband as a wife . only say something like yours. and we still need to face the darkness about the job in the feature . i am not complain anything. i just feel weakness so far.
Sign in and Reply Report

Replies, comments and Discussions:

  • 工作学习 / IT杂谈 / 程序员的迷思
    本文发表在 rolia.net 枫下论坛缘起

    写这篇小文的原因是前两天和网友讨论引起的,当时看到一个帖子,说程序员中,人人都可以看不起写vb的。其实以我来看,用什么语言并不重要,重要的是有没有掌握编程的思想。就象练武功,重要的是修炼自己的内功,而不是孜孜于学了多少路拳法。虚竹只一套韦陀掌,可以让鸠摩智的七十二路少林绝技奈何不得;全真派的剑法再精妙,郭靖上山,一样打的淅沥哗啦。无他,内力浑厚耳。当你自以为多了解了几门技术,就嘲笑还在用VB的人时,有没有想过自己对这门技术了解的又有多少呢(顺便说一句,我不是用VB的)?在技术的星空下,我们还是多一些谦卑,多看到一些自己的渺小吧。

    内功

    那么,什么是程序员的内功呢?是不是你学习的语言越多,了解的语法越多,内功就越深厚呢?个人浅见,非也非也。语法结构,无非是if, else, for, while,各种语言的表述不同,逻辑却是一致。重要的是,在写程序的时候,你有没有深入的思考过,然后去尝试,然后明白点什么。比方说,作为一个JAVA程序员,最简单的,你有没有想过一个class的main方法为什么被定义成public static void?在这个论坛上,我曾经看到过一位“糟蹋文学的程序员”写的一段有趣的程序:

    import 各种状态.*;

    public class 我也玩一下
    {
    private 谁=void;

    protected static void 不要(说 谁)
    {
    this.谁=各种状态.已有太多甜蜜的酸楚;
    }
    ......
    public static void main(String[] argv)
    {
    不要(说 我);
    ......
    }
    }

    从文学的角度(我不太懂文学)来讲,这段程序可能很有趣。可是从程序员的角度来讲,你说撰写这个程序代码的人不会写程序吧,他又好象会写,而且据说还是编译通过的。可是说他会写程序吧,你又不服气,觉得这个家伙根本就没搞明白Object是怎么一回事。咳,谁知道呢,我现在觉得6.85/h好象也是一个比较合理的价格。

    那么,有人要问,说来说去,你说的内功到底是什么呢?从我个人来讲,做一个JAVA程序员,你至少得明白OO的基本道理,什么是封装,什么是继承,什么是多态。写程序的时候,常想想有没有合适的design patterns用。上班有时间,就对自己写的code做做refactoring,平时也读读书,知道什么是XP,Agile。多思,多试,就是这样。

    恐惧

    常常有这么一种论调,30以上的程序员就不值钱了,人的精力在逐渐衰减,各种新鲜技术却层出不穷,肯定跟不上了。——其实不然。

    是的,和刚出校们的新生比,老程序员的精力肯定没办法和他们比,但是,比精力更重要的,还有经验。你不会犯低级的错误,你知道什么情况下选取什么样的方法,这些,可都是没法速成的。

    面对乱花渐欲迷人眼的新技术,你会不会有一种难以跟上的恐惧感?我不会。因为我知道这些新技术并不是无源之水,无根之木。它们都是在现有的技术上逐渐演化发展出来的,开发它们的目的都只有一个,就是为了让你的工作更简化。学习起来,也并不困难。没来加拿大之前,我不知道什么是case,看招工广告上很多都有要求,觉得这东东实在是一门很高深的技术。后来翻翻书,才知道我原来早就在自发使用了,只是没有人家这么规范而已。

    从形而上的观点来看,计算机的功能无非就是存储、显示、计算这三大块。现在风靡的MVC(Model-View-Control)结构,就是这三块的对应。可是你觉得这种设计思想新鲜吗?看看你的硬盘,显示器和CPU,你就有答案了。

    所以,道生一,一生二,二生三,三生万物。万物的道理都是相通的(胡扯一句,你可以把道理解为一个interface),一旦你有了一定的内功,拣起需要的技术实在不是一件困难的事情。弱水三千,我只取一瓢饮,又有何惧哉?

    结语

    只有一句话,只要你“喜欢”,程序员这份职业,你可以做到50岁。

    --------------------------------

    本人才疏学浅,此文也纯属抛砖引玉之作。欢迎探讨,也欢迎拍砖,哈哈。更多精彩文章及讨论,请光临枫下论坛 rolia.net
    • 11, 让我说你什么好呢
      • 劣,有话你就说嘛。我昨天做梦还梦到你~~~
        • 你确定没看到我和那谁谁在一起吧?
          • 我只记得你说要换副驾。。。
        • 钉住
    • 小声问一句:50岁以后妮?
      • 改行卖烤肉去。
        • 业余串串蚯蚓,剖剖鱼肚吧
      • 改 为 再 做 50 年
      • 50以后勒紧裤腰带努力活到65,然后就变成有皇粮的小富翁了.(65以后政府发钱了)
        • 十五年很漫长啊.
    • 不由在想这里究竟有多少程序员或号称称序员的? 举个小手看看??
    • 匠气,匠气;
    • "上班有时间,就对自己写的code做做refactoring" -- 老板同意么?
      不过我看到那段“诗”程序时,脑子里的第一个念头也是 design pattern state pattern 和 state machine 什么的~~~ 赫赫
    • 咳!..... VB都被人嘲笑了, 不知写COBOL的会怎样被人贬.
      • hehe, cobol那个土啊~~~~不过也很有趣
        • Cobol 我的最爱。还有PL/I。都是老古董了。
    • VB程序不好写啊。对很多东西来说用VC很容易,用VB就很难。我觉得用VB写出很好的程序不比C++或Java容易。
    • My colleagues, who are over 60, are now still programming in IBM assember.
    • 气宗。当心走火入魔
    • "写程序的时候,常想想有没有合适的design patterns用。" truly 才疏学浅 :D:D
      • 现在还切四国吗?
        • not any more for 1 year ... I hate endless wait and off-line thing.
    • 我认识的一个程序员。一个百人。原来是大兵,50岁改行做编程。 5,6年干下来了,做得很好。
    • 我以前一个女白人同事键盘打的如流水,原来是学钢琴的.
      • 是真的!哪天在边上放“月光”的CD,看她一天能写出几行程序了。再看看放“小天鹅”,一天能写多少行 :-DDDDD
      • 我一同事原先是教钢琴的,现在搞VB
      • 小弟不才,不过说起敲键盘,小弟还真让无数的白人无论男女见识了一下,有一次一个同事说“你们中国人都这样吗?借给我一根手指。”呵呵~~~
    • 其实,我觉得程序员是熟练工,不管是什么语言,东西写的多了,见识多了,经验就丰富了。而经验应该说是一个程序员基本的素质之一。//本人才疏短浅,抛砖引玉。
      本文发表在 rolia.net 枫下论坛经验,包含的内容就太多了,包括解决具体问题的经验,也包括在程序里如何实现基本概念或design pattern的经验。

      获得经验的基本途径,最容易的是跟着architect走。主要是反向的根据设计去找基本的理论,做试验,从实践开始。这可能就要多花费时间,自己多花功夫。
      在不同的项目中,必然有些好的设计或方法,也要从别人/自己的失败中学到更多的东西。
      当然平时也可以多阅读一些技术文章,获取别人的经验。但是发现一般如果自己没有实践过,别人的东西还是抽象。

      内功
      其实我发现这是一个专业程序员和半路程序员的一个本质差别,半路程序员相对受到这方面的教育少一些,不过也可以通过经验弥补,不过基本上,最好也就是做到匠。
      程序里面很多概念都非常抽象。基本的概念我们都从课本里学到了,design pattern,也逐渐成为了基本的概念。
      内功强的人,一般都会独立思考,自我发展的能力强,程序写的更灵活,也更规范。

      恐惧
      跟楼主一样,如果打算继续作程序员,的确没有什么可以恐惧的。程序员,相当于熟练技术工人。

      发展
      其实,总认为程序员不应该是目标,我想基本目标应该是architect/team leader。
      发展的基础仍然是经验。
      再者我发现是英语。architect/team leader对英语的要求很高。
      第三是要求在整体上较高的角度考虑问题。
      第四是要求独立解决新问题的能力/方法。
      第五学习的能力/方法,集思广益,厚积勃发。更多精彩文章及讨论,请光临枫下论坛 rolia.net
      • 说得对极了。:))
      • 如果你的目标是ARCHITECT/TEAM LEADER,基础应该是如何安排人际关系.懂得利用不同的程序员的经验去ACHIVE 你的目标.技术是次要的
    • 我就是你在文中批判糟蹋程序的程序员。你可能是个好的程序员,但是我不认为你懂得对别人最基本的尊重。拿别人一本武侠小说来做历史学的反面教材,你的水平也确实很高。希望你有成年人应有的责任心,程序员。
      • 呵呵,兄弟我也是就事说事,如果得罪了您,那么我道歉。
        不过,如果非要让我看到这段程序之后大唱赞歌,哇,这段程序真是太美妙了,写出了我长久以来的心声!这样子就算是“对别人的尊重,和成年人应有的责任心”么?

        宁为狂狷,不为乡愿。
        • 我们对你不负责任的回应感到愤怒!你已经指名道姓地侮辱别人的人格,我们不认为你是就事论事,也看不到你道歉的诚意。
          • Come on, too sensitive. I didn't see any words that "侮辱别人的人格", and neither that "指名道姓".
      • Jackysandy, Your blame is unfair to xanada. Like rudy, I didn't see any words that "侮辱别人的人格." The orignal words are '一位“糟蹋文学的程序员”写的一段有趣的程序' -- nothing wrong.
    • The problem is money.
      When I transfered from a software company to a bank. I found people has 10% of my knowledge and capability is drawing twice of my salary. Of course, they are not programmers. So what shall I do? Keep on programming?
      • No, reduce your knowledge to 10%.
      • There is old saying "If your are skilled person, you just do your professional job; If you have know nothing, you may be a boss."
    • 你的迷思是典型的初级程序员的迷思
      • 谢谢,和Martin, Kent这些大师比起来,我确实还很初级。不过我会努力地。。。
        • 本人乌鸦嘴著称,说话直来直往,见谅:)
    • 我的感想
      本文发表在 rolia.net 枫下论坛当程序员当了11年了, 如果从研究生毕业算起.

      我在国内时从普通程序员干起, 后来当上了部门经理和系统分析员, 干了几年"高级"的设计和管理工作. 当时在公司里是属于两手硬的. 既能管, 也是技术上最强的之一. 很自豪, 但是, 危机当时就出现了.

      为了维持在具体的技术上保持"hand-on", 是需要付出极大的时间和精力的.
      我不同意理论上一通百通的说法. 理论谁都知道. OO算什么.要的是解决方案, 还得快! 很多时候, 一群人在那里, 问题在那里, 谁能当场解决才能make difference. 而老是某某人在这种时候解决问题, 则奠定此人技术骨干的地位.

      而作为经理则强调管人的能力, 而作为分析人员, 则要求从宏观和用户需求把握问题. 这些都是和一个具体的技术人员的要求是不同的.

      当时就已经面临同时往三个方向追3只兔子, 必须取舍的问题.

      取舍的结果我认为还是技术能力不能丢, 其他毕竟虚一些. 到了面试的时候, 真刀真枪能使出来的还是技术.

      回头来看, 这种看法很偏颇. 准确地说我当时作为一个从技术人员干出来的分析人员兼管理人员, 需要的是怎么在分析和管理上更上一层楼的问题. 比如上MBA也许是一个不错的解决方法.

      但是, anyway, 当时选择走了技术的道路.

      由于选了这条路, 我对"流水"提出的问题感触又多了几年体会.

      1) 能干多久的问题
      将来还能当多久? 不知道. 我只知道, 五年前出国使得我的程序员生涯延长了. 否则, 在国内早就走到头了.

      就拿我自己当年在国内招聘人, 面试人时, 碰到一些33-35多岁的, 各方面都不错, 可是还是宁愿要20多岁的人. 甚至还碰到几个"早年"的海归. 也真用了他. 事实证明, 不如年轻人踏实, 出活.

      轮到自己去求职, 也有同样的问题, 定位必须往高走了, 部门经理以上了, 乃至VP. 低级的职位, 如程序员, 就算我想干, 也胜任, 但别人也prefer更年轻的人.

      问题就来了, 你想申请高级职位, 就一定胜任吗? 不是年龄到了就自然具有这种能力的. 如果要往高走, 处在低级职位时就要时时培训,锻炼自己作为高级分析或管理人员的能力.

      某种程度上, 当时移民出国就是为了解决这个问题. 到了加拿大一看, 40多岁, 50岁当programmer的还多的是.

      好第一个问题缓解, 第二个问题来了.

      2) 怎么保持技术水平
      软件行业更新这么快, 时时需要学新的东西. 许多东西非常相似, 可是也得学. 不会就没有hand-on skill. 交给你一件事, 你还得现从开发工具熟悉开始, 不行.

      这些年深感这方面越来越力不从心. 年龄大了, 对新东西的好奇心,敏锐性和钻研的劲头都弱了. 家庭的拖累, 干扰, 也是. 结婚生子后, 和刚毕业时, 就是不一样.

      我得说, 我在加拿大的几年, 是非常努力学习的. 老觉得时间不够用. 经常听到很多人说, 在加拿大工作太轻松, 时间太多. 我很惊异. 我每天几乎都是公司最后一个下班的, 周末平均有一天要去办公室. 不一定是加班, 而是我努力地把不属于我管的部分也去搞懂, 搞熟, 另外尝试新的东西. 比如我前面提到的工具性的东西, 就不能等到活来了再去搞熟.

      但是, 觉得很累, 学得越多, 就发现不懂的更多. 每个小小的东西钻下去都有无限多的具体细节.

      某种程度上我忘了自己的年龄, 并使自己跟上的技术的进步, 这到哪儿是个头, 我经常这样问自己.


      3) 搞A就意味着放弃B
      技术领域有那么多, 一定要有所专长. 但是, 一旦专著于某一方面, 客观上就要放弃其他方面. 虽然可以涉猎, 但也只能涉猎而已.

      很多时候, 工作需要, 我们搞了某种技术, 可是忽然几年以后, 这种技术就淡出了. 比如Lotus Notes, 比如AS/400, 比如PowerBuilder等. 那是眼睁睁地在每天干着技术工作的时候, 还看着自己落伍了.

      在大公司工作尤其有这个issue. 日常工作所须用的技术范围很狭窄, 如果自己不"业余"学东西的话, 很快的技术就过时落伍了.

      这才是搞技术的人最大的, 时时处处存在的挑战. 不搞行不行? 不行. 一个专业技术人员最起码的素质是, 当还没有跳槽前, 要努力完成自己的assignments. 明知自己正在搞的领域已经快淘汰了, 可还得干.

      有人说, 可以跳槽. 说得容易. 一方面, 跳不跳槽, 所用的技术是否对未来职业有帮助, 这只是一个相对不重要的原因. 很少人会真正因为这样的理由而跳槽.
      另一方面, 正因为你一直已经从事这个对你跳槽不利的技术方向, 使得你的跳槽的可行性也变小了. 你想换到一个新的技术领域, 因为你缺这方面的技术. 而这个"缺"就使得你的跳槽不容易成功.

      4) 技术的选择的难题

      有时, 不一定不流行的东西就不好. 比如某些偏门的技术, 会的人少, 可是还有人用. 很多东西虽然还很流行, 比如JAVA, 但会的人太多了, 就跟我会走路一样, 不成为优点了.更多精彩文章及讨论,请光临枫下论坛 rolia.net
      • make sense.
      • NND,不活啦
        • :DDD
      • Agree. Applause.
      • 我的想法
        本文发表在 rolia.net 枫下论坛1。理论上一通百通的说法

        我认为是可以做到的。如我上文提到的,计算机无非做的就是存储、显示、计算这三件事,不管用什么语言,它们实现的方法是共通的。就象一个interface,你知道了它的定义,掌握了它的脉络,这就算是通了。至于用什么语言去实现,那是class的事情。

        但问题是通到什么程度?当然不会到非常detailed的地步,重要的是,你已经有了方向,知道该怎么走了。

        2。不要轻视OO

        不记得是哪位牛人说的了,OO只是“具有”各种各样的好处,但并不给你“提供”好处。好不好,全在与你是否运用得当。我们一开始写java程序的时候,其实还是瀑布式的思维,只不过把代码都放在class里面而已了。直到后来用MVC写出一个真正面向对象的framework的时候,才真正体会到OO的妙处。当然,生产效率也大大提高。

        3。学习

        我个人的体会是,慢无目的的学习效率不高,只有在真正要用的时候学的才最快最高效。如果我现在用java,我决不会去学pb,去钻研它的精微之处。如果用不到的话,学的东西是会很快忘记的。

        那么还要不要学习?答案当然是要。但我提倡一方面多学些形而上的东西,另一方面多让自己的view updated。比方讲,学design patterns,你只需要知道每个patterns大致是干什么的就行,等真正要用的时候,回头想想,哎,好象某某适用,再回头去深入研究学习。

        4。关于程序员

        程序员这个称呼现在好象比唐人街上的烂菜帮子还要臭了。“现在随便从街上拉过一个大陆男同胞,十有八九是挨踢的程序员.谁都清楚不是本地人干不了,是他们不愿意干.这个职业已经没有什么可以让人尊敬了。”

        在此我不得不再引用一位牛人Joshua的话:语言有三个要素,语法,词汇和怎么有效的使用。前两者在classroom里面是可以学到的,后者是学不到的。我上高中的时候就大致掌握了英语的语法和常用单词,但是说5个单词以上的句子就要磕巴半天,你能说我是一个English speaker吗?同样的,我个人比较居心叵测的想法,这街上十有八九的挨踢的程序员,可能有一半还是处于我上高中对英语的理解阶段。

        再说下去我又要挨砖了。Anyway, I am honored to be a 程序员。更多精彩文章及讨论,请光临枫下论坛 rolia.net
        • 看了半天,喜欢你最后一句话
        • 咱来一大砖头先,不求引玉但求砸人.....;-)
          本文发表在 rolia.net 枫下论坛赫赫, kidding...

          1。理论上一通百通的说法
          如果你的工具箱里只有一把锤子,当然可以把所有的活儿都看成是钉子,这是对的,老板甚至客户也会喜欢这样。可是咱们作为技术人员(或者说工匠也好),得知道不是所有的活儿都是敲钉子,就算是钉子,钉子和钉子也不一样,锤子和锤子也不一样。
          比如如果你会 Java,再学 .NET 就会很容易上手,但 Java 毕竟是 Java,.NET 毕竟是 .NET。如果真的同时会两个,要使出区别才是真本事。
          而且有的时候,某些技术只是看上去相似。看到过很多老前辈在草草看过新技术介绍后说“没什么新的,在大型机(或是 UNIX)里早有了”----殊不知很多技术已经是螺旋式地上升好几代了。

          2.OO/Design pattern
          从跟贴来看,大家好像对 design pattern 都是巨熟悉的样子,好生羡慕。唉,我碰到的同事朋友中,讨论技术时能正确,准确使用 UML 描述事情的人还是不多,碰到问题能凭直觉正确使用 design pattern 的好像就更少了,学习机会不如大家那么多。

          3。学习
          作为工匠,我学习的目标一般很明确----只是随时留意市场上有没有什么斧头,锛子,电锯之类的家伙儿事新推出来。不太喜欢自己发明斧头,更讨厌把锤子改装成斧子去砍树。好像太低级了些哈?不过这样的“学习”不至于太苦,一直觉得学习的乐趣更重要。

          4。关于程序员
          多年以前,突然发现做自己喜欢的事情还有人付工资,高兴得一塌糊涂。现在,这个称号下的人有如过江之鲫 ---- so what? 只要自己喜欢就好,你管别人过不过江干什么?没准儿过两天大部分鲫就转道生物工程什么的了。
          赫赫。更多精彩文章及讨论,请光临枫下论坛 rolia.net
          • 俄再来一砖
            本文发表在 rolia.net 枫下论坛赫赫, kidding...

            1。理论上一通百通的说法

            我也打个比方,如果你的工具箱里已经有了锤子,螺丝刀,钳子和扳手,并且在家里干活的时候已经很熟练的使用了它们,那么可以说你对工具已经有了基本的概念。也许下次你在外面修车的时候,某个螺钉死活卸不下来,你会跑到CandianTire去,这时候你要找的肯定是合适的screw head 或者扳手,而不会是锤子,对吧?

            所以,个人认为,道理都是相通的,先搞明白基本工具的基本用法,等到真正需要用到某个特定工具的时候,再学相关知识不迟。执著的追求对每个工具都hands-on,会把自己搞得很累,也没有必要。

            2。OO/Design Pattern/学习

            GoF说,我们编程的重点,应该侧重于对接口的编程,而不是对实现的编程。我的个人看法,学习也应如此。每天,市场上都有会有斧头,锛子,电锯之类的新鲜家伙儿事推出来,如果把它们都捧回家,我没那么多钱,也没有那么多精力和时间去看使用说明。作为一个工匠,如果能到college去选修个机械原理啥的,可能会是一个更好的选择。

            3。关于程序员

            只要自己喜欢就好,你管别人过不过江干什么?没准儿过两天大部分鲫就转道生物工程什么的了。

            不错。

            -------------------

            有必要说明一哈。其实我自己的水平很烂,只是有时候喜欢胡思乱想,好发狂言而已。希望这些胡言乱语,没浪费大家太多的时间,呵呵。更多精彩文章及讨论,请光临枫下论坛 rolia.net
            • 俄再来一砖
              别再上升到理论高度了,那玩意是体力活,拼的是体力和时间!
              • 没错,老了,干不动了。:'(
            • 等到真正需要用到某个特定工具的时候,再学相关知识不迟?
              本文发表在 rolia.net 枫下论坛看你的schedule有多长. 如果在IBM上班, 临时学什么都不迟. 但是, 很多公司不会有这么长的时间. 我的希腊经理的口头禅是, "对程序员来说, 两天是无限长的时间, 所有的工作都应该分解成两天以下的子任务:" 前任经理更过分, 经常只给1-2小时的schedule.

              记得你提到agile. 我想, 我的公司的方式就是典型的agile了. 这个词还进入了公司的宣传短片.

              我到了加拿大后有了个很好的习惯, 把所有的tip, (也许是一个命令用法, 也许是一些设置, 也许是一件事的具体流程, 还有许多非常有用的sample program), 许多是向别人请教出来的, 都记在自己的笔记本上, 几年下来, 记了3大本. 非常有用. 记下来了, 就不用第二次向人请教了, 而实际上, 随着我积累的增多, 往往变成了别人向我请教. 当问题发生时, 当别人去"临时根据基本理论去现学时", 我在几分钟之内就能找到解决方案, 假如我有笔记的话.

              我碰到的挑战环境使得我养成了这个习惯. 我发现这里高手太多了, 无论多么难的问题, 都能找到人很快做出来. 很多时候, 头儿问你能不能做这件事? 多久能完成? 如果你没把握, 或者给的时间太长(因为你估了学习时间), 他就找别人去做了. 而我发现, 每次那个敢接这个活的人, 真能在我认为不可能的短时间内做出来.

              长此以往, 你在team中留下的印象就很糟糕了. 慢慢地就没人找你做事了. 离lay-off也不远了. 唯一的办法就是慢慢积累. 问一次, 不怕. 就怕同一个问题下次还问. 现学? 门都没有. 现问还马马虎虎. 关键是, 如果没有实际经验, 有时问都不知怎么问. 搞技术, 不detail行吗?

              除非这件事所有的人都不会, 才能估算一些学习时间. 有时候, 想从自己搞的领域挤到别人正在搞的领域, 别人都是干了多年的熟手. 都得靠自己用业余时间拼出来.

              UML是个很好的东西. 可是我们几乎不用它. 因为, 用它搞出规范的东西时间太长了. 往往设计时, 需求就在不断变化. 一次设计和实现, 往往只有1周不到. 然后, 修改完善. 以前在国内帮IBM干, 最看不上这种小公司的"非规范"开发. 可是几年下来, 承认这种做法有其合理性. 效率真是高, 而且转向特别快.

              不过我仍然认为学会用UML及其常用工具是很有必要的. 我准备用业余时间搞通它. 不是"理论上一通百通"那种程度. 要达到"来之能战, 战之能胜"的程度.

              某位还提到吃透OO的design pattern, 干活效率提高之类. 这在大的release, 或re-construcuture时是有用的. 我们也常这样. 但更多的时候, 在细节绝不能追求完美. "Ugly but works"是我学会的另一点. 前提是快而且能解决问题. 产品到了不同的用户那里, 几乎都要做许多customization. 而这些customization, 用户在真正用了之前他们自己也说不出, 也不愿说. 而一旦要了, 又要得很急.

              产品内部的一些long-tern的enhancement或release, 也就是用得上规范开发, UML, OO design pattern的东东, 不幸地, 因为和客户远, 放在中国和印度做也可以. 正是outsourcing的理想对象. 谁还敢往那个方向靠.

              我们曾经把相当一部分东西移到了中国去做. 某些东西曾经就是我管的. 如果, 我当时满足于在那点东西上是专家, 早就完了. 当时就要求我把接手的人教会. 我虽然打点埋伏, 架不住接手的中国人也是聪明加能干再加肯干, 前面问了几个很在点子上的问题后, 后来就不再需要问了.

              我深深体会到, 只有和客户近的东西, 才不容易被outsource出去. 这是我后面几年的努力方向.

              不过outsource由于一个偶然的事件而中止了. 因为客户中有美国政府, 他们调查发现, 一伙在中国的人竟然可以改我们的source code(做新版本总得commit code吧), 这对他们来说是security hole. 于是就把开发任务全部从中国撤回了. 不过, 移了更多的QA活过去.更多精彩文章及讨论,请光临枫下论坛 rolia.net
              • 我本来不想再谈这个话题了
                但碰见您这么严肃的探讨,又码了这么多字,不多说两句实在是对别人劳动的不尊重。

                首先我们得承认,任何一个人都不可能是万能的。再牛的牛人,他总有自己不知道的领域,试图把所有东西所有细节都搞明白是不现实的。这就牵扯到一个怎么学习的问题,我试图说的,就是学习的方法论的问题——在你不需要它的时候,不需要过于深钻。

                其次,工作的schedule,是由PM根据组员的知识结构和经验值订的,如果我一直做Java,从来没有接触过.net,某个活,用Java是两天的工作量,可是PM要求我改用.net,也要两天做出来。那肯定不行。可这是程序员的责任吗?不是,那是PM的责任。

                跟您一样,我也有个小本本,记下自己平时的一些心得体会。而且我很幸运,身边总有向您一样的经验丰富的高手牛人能解答我的问题。

                其他的完全同意,这段尤其有意思:“我深深体会到, 只有和客户近的东西, 才不容易被outsource出去. 这是我后面几年的努力方向. ”希望以后有机会能和您做进一步的探讨。
                • 我觉得你们两个的观点没有本质的抵触,只是所处的公司文化不同
                  “这里高手太多了, 无论多么难的问题, 都能找到人很快做出来. 很多时候, 头儿问你能不能做这件事? 多久能完成? 如果你没把握, 或者给的时间太长(因为你估了学习时间), 他就找别人去做了.”
                  “长此以往, 你在team中留下的印象就很糟糕了. 慢慢地就没人找你做事了. 离lay-off也不远了. 唯一的办法就是慢慢积累. ”

                  ---- 我能理解 joyzhou 所处的环境,我知道有的公司更甚 --- CTO 问你的都不是你能不能做,而是你有没有做过这件事。没做过?thanks. CTO 再接着问你旁边的人。

                  “可这是程序员的责任吗?不是,那是PM的责任。”

                  ---- 没人 care 这是谁的责任,只有人 care 你有没有做某件事情的经验。不公平么?没人 care 这是否公平。好玩的是有的时候你可能会慢慢习惯这种不公平,会觉得其他的地方太没有挑战性。


                  “一个内功深厚的程序员往往是找不到工作的。没有内功的程序员一般薪水在 6万左右。”

                  ---- 这也是实情。所有我觉得最重要的是自己 enjoy it。
                  • 谢谢你认同了我的观点。另外,我们公司的文化是尽量不让程序员加班。那会被认为你无能或经理安排有问题。碰到难题,在家里加个班,没有他人知道,还要装得很潇洒的样子。当然,紧急情况除外。
                    • 天哪,咱俩不是在一个公司吧。我们公司也是只允许工作 8 小时,不管你怎么把活儿干出来,老板只给 40h/week 的时间。但是说到技术时,则假设你都已经会了。
                      听上去不公平,但确实有几个大牛(包括本地人)什么都会,c++/VB/winCE/java/.NET/web 样样拿得起,放得下,让你没话说。要命的是大牛们还都是有妻儿老小的,真好奇他们什么时候学习。
                      • 可能是一个公司。我在总部,但那里做IT的就我一个亚裔的。BTW,我们这里有个德国人,都52岁了,程序写的飞快。是把好手。他每天工作大概只有3个小时,奖金还是我们的165%。牛!佩服。
                      • 这些冬冬有什么难,我见过教我没话说的人。。。是这样的
                        是懂win全套,Unix全套(Linux, Solaris, AIX, HP-UNIX....)admin,AS/400 admin, OS/390 Admin, VAX admin...写程序几乎是出现过的所有语言都懂,从老古董RPG, COBOL到最新的.net,至于c, java那些根本不值一提。数据库从Mysql到ORACLE, DB2都达到DBA水平,中间件精通Weblogic, Websphere,项目管理工具Rose那些所有的都会。。。这样的人,集若干人的技能于一身,你见过吗?
        • 我门的路很窄的:1把英语搞的跟洋人一样,think in English,然后Business/Application architect; 2现在就回锅做系统分析;3能骗多久算多久,然后回锅做系统分析;2是长线3是短线;至于programmer,
          No developer is even intermedia if he is not a excellent designer. From this proint of view, 99% so-called developer are truly coder money, more or less.
          • 对,所以我说要多练内功,而不只是coding marchine。另外,我所指的程序员,包括了从architecht, researcher, consultant, pm, pa到programmer所有角色,并不单指programmer.
            • 你现在才说啊。:)你把architect 归为与 programmer 同类,恐怕他们会扁你的哦。
            • 你的定义也太广了...ITer=Programmer?
      • 大大...大哥,您收多少万?要是少于15万我看您还是改行干点别的吧
      • 看了你的感想,我的感想是你很难保住你的工作。你现在从事的是印度程序员的工作,可以被轻松替代(你的那三大本笔记保不了你的命),至少你干不长了。你干的也就是技工的工作。常识:应该为以后想想,转个方向吧。
    • 在我们公司,程序员是最底层的,公司的财富是系统组,architect。很多软件都包给印度公司了,还有中国人
    • 小声问一下,一个内功深厚的程序员,年新多少啊?
      • 一个内功深厚的程序员往往是找不到工作的。没有内功的程序员一般薪水在 6万左右。
        • 既然内功和收入没有什么关系,还这么较劲,有意义吗?愿意较劲的自己较,这是个人爱好;别人认为写程序和码头抗沙包一样,只是个工作,不爱把自己的8小时之外放进去,也没有什么不对吧?
          • 码头扛包能拿6万吗?
            多少人现在还哭着喊着要做这份IT工作. 尽管薪水已下降, voluteer的活都要抢. (我见过面试3个人挑一个volunteer的情况).

            由于历史的原因, 我们这些在泡沫前找到工作的工资已经远远高于6万了. 我不贬低labor工, 可是又累钱又少, 受气的事更多, 而且, 更不长本事.

            现在有班上, 还算高薪, 花业余时间学习算啥, 就怕自己全剩业余时间了.

            有许多人另劈希径的做了房产代理, 推销保险的. 这两类人最多. 可见华人的出路是窄.

            最近大家在讨论开卡车. 据说钱不少, 就是累. 累, 我们中国人不怕. 就怕钱少. 刚刚和一个真正开过卡车的人谈了谈, 他讲了自己跑车去纽约的经历. 原来钱一点都不多.
            • 再小声问一句,除了当程序员,就没有一年收入6万的可能吗?哈哈.
              • 华人高收入职业一览表(不排除少数遗漏), 看看你能做那一行:
                1) 当医生: 30万以上, 律师也相当, 但入行门槛很高.
                2) 当房产代理, 这几年都挣发了. 而且似乎入行很易.
                3) 推销保险, 也有不少成功者. 不成功的多.
                4) 办咖啡馆, 一年10万, 不过投资要10多万. 且要眼盯牢伙计防止偷赖偷钱. 辛苦.
                5) 开卡车, 夫妻或兄弟合伙开, 人均6万不在话下.
                6) 开移民公司, 前不久不是有一位成功人士来做报告吗?
                7) 办"大学预科". 此类"学院"也是雨后春笋一样多.都自称是"北美著名".
                8) 贸易公司, 把中国的东西进口到加拿大. 不一定能到6万.
                9) 办IT, Toefl或其他成人职业培训班.
                10) 餐馆.
                11) 中医诊所. (兼开药房, 药自己从国内带, 不交税, 不挂牌)
                12) 装修师傅. 我的装修师傅每年至少"税后收入"比我高.
                13) IT从业人员. 此批人最多. 但近年获聘的人工资大幅下降, 6万已很成问题.

                此外, 如会计, 政府工作人员, 图书馆等社区工作人员, 教师, 护士, 护工, 保姆, 超市售货员等因一般工资都不到6万. 不细列.
    • 关于这场讨论
      我无意中看到这场讨论, 正好触动了心里思考了很久的许多想法. 和诸位的看法有相同处, 也有相异处.

      本来正有意发起一场争鸣的. 在争鸣中, 使得许多想法被整理得更有条理了. 并没有谁对谁错的问题. 实际上, 大家都是同行, 面临的处境相似. 建设性的探讨使得我们将来在职场上有所帮助, 才是目的.

      我后面还有几点体会. 流水兄说不想再谈这个话题了, 以下算我发起的好了.
      • 1) 关于如何保持技术水平
        在前面已经谈了不少, 不再赘述.
        • 多强调语言的重要性,中国人普遍水平较高,但做Presentation时,你看,老外的优势就出来了。编程水平再高,你充其量也不过是个Coding Machine。对中国人来说,我认为:技术水平不应放在第一位。
      • 2) 关于技术选择的方向
        当年来到加拿大时, 自己的经验有两部分, 一是UNIX系统开发, 二是IBM AS/400, ES/9000上的开发. 前者popular一些, 后者冷门一些. 不过, 几年前, AS/400的程序员需要量还很大, 而会的人不多, 特别是真的玩得熟不熟很容易分出来. 几周的培训班出来的是很容易漏出原形的. 再加上有些出国更早的朋友的建议, 我于是将它作为重点.

        不过, 1999年也许正好是一个转折点. AS/400的工作锐减. 找了很久(和现在比当然不算久了), 才通过一场30多道题, 外带编程的考试得到了一个offer. 那时, 不作为重点的UNIX系统开发已在前一天得到了offer.

        那时感觉这种机型已经日薄西山, 所以选择了UNIX这个polular的方向. (顺便说一句, 几年不搞, 很快就荒疏了, 以前曾玩得多么溜的东东!).

        而且, 在后面的工作中一直努力学习polular的技术.

        但是, 后面发生的事情似乎又证明我错了, 至少想得不全面.
        • 请继续。谢谢。
        • 嘿,老兄看看现在搞9000特别是390的,年薪有低于8万的吗?
          • 这年头搞S/390的有多少年薪高于8万?失业在家的S/390 Programmer可巨多。在网上看到美国某S/390的牛人失业在家多年,只能靠别人的捐款度日。
            • 我相信一点,人是平衡的,某一方面能力突出,另一些方面能力肯定欠佳。我认为您说的那些牛人,致命弱点就在于人际关系太差,关系网不行。
              我认识的搞390的,年薪高的可怕。加国的10万加刀以上;美国的12万美刀以上,中国的100万人民币。
            • 哦,不好意思,没看清楚您说的是programmer。没错,programmer一文不值,值钱的是搞mainframe系统的
              • 那个家伙搞系统管理狂牛,还开发了很多和底层硬件相关的软件。人际网应该也不错的,怎么说也是20-30年工作经验的老mainframer了。至于我嘛,
                还有一堆在美国的mainframe系统管理/数据库管理的证书呢,也干过很多年的mainframe系统管理和db2数据库管理,自己装一套os/390也没问题。那又如何呢?在这里绝对混不下来,我已经打算转行了,要不然就回国干mainframe。
                • 老哥您真是身在福中不知福呀,小弟我还打算装一套pc390来练练手呢。不过回国也好的,一年的收入顶这里3年。
      • 谢谢,我的砖终于仍出了玉,见贤思齐,请继续。
      • 2) 关于技术选择的方向(续)
        本文发表在 rolia.net 枫下论坛先说发生在别人身上的事。

        有个朋友一直在做我羡慕的流行技术,前几年过得很滋润,不料,风云突变,公司垮了,技术虽新,市场无情。再求职业竟异常困难。Java也好,Javascript也好,JSP/PHP/ASP也好,EJB也好, SOAP也好,WebSphere/WebLogic也好,满街都是懂的人。最近几年改行学计算机的几乎都在学这些。而且,还挺难区分谁是真正内功深的。

        而另一位老兄,一直在用C写编译器。也因公司垮了而丢了工作,却很快找到了新的工作。很简单,对于需要写编译的人来说,一看就知道面试的人水平如何。

        接着说我自己的事,我投入UNIX系统开发后,其实做的东西还是非常底层。在这个互联网时代还是非常legacy的东西。很长一段时间我也是整天用C. 因此老担心自己出去后找不到工作。

        但是,这个担心一直没有发生,直到我离开原部门,如愿以偿地去搞fancy的技术后,接我手的人不但没有丢工作之虞, 反而成了公司的红人。因为几个我们当时搞出雏形的项目成了创收大户。而几个从公司辞职走的人也很快凭其熟悉各种UNIX/Linix在系统层的差异而找到了不错的工作。

        这里,我得出了一个浅层次的结论:
        语言也好,平台也好,只是工具。因为它是一个必要条件而不是充分条件。不会那些流行的东西,不是好事,但还不是致命的坏事。因为充分条件是要有专长。这个专长是别人不容易有而市场上仍然需要的。我看到很多人的简历,往往罗列了C++,JAVA, ORACLE有多熟。这些不再能够make difference了。

        当然这些流行常用的东西也是会得越多越好,越熟越好,艺不压身。只是比起挖掘自己经验中真正称得上是专长的东西来说,它们相对不重要一些。

        (后来,我在另几位拿了博士的朋友那里对这个问题有了更深层次的认识,在后面有专题讨论。)

        另外,为了保持对一种技术的熟悉是非常费时间和精力的。如果维持几种方向的熟悉则更难。

        打个不太准确的比方,你很熟悉SQLServer, 目前靠它吃饭。你发现公司有趋势要把数据库平台转到ORACLE上,你很机灵,马上自学,几个月内拿到了ORACLE DBA的证书。结果那些没这样做的同事可能被lay-off了。而你survive了。但是先别高兴得太早,公司留下你并不是因为你ORACLE经验足够强,毕竟是新出炉的,能蒙过一时,蒙不了一世,假定经理也很聪明。常见的情形是,公司从外面招聘了ORACLE真正的高手来主事,你被留下是因为你熟悉SQLServer, 也会ORACLE, 有段时间两个系统都要保留,在porting的过程中比其他只会SQLServer的人有优势。你痛感这一点,发愤要让自己成为ORACLE的高手(到这一步,大多数人就已经做不到了,我这是个虚拟的例子),工夫不负有心人,你终于成为高手了,虽然还比不上那个从外面招来的自从毕业一直在干ORACLE的人。

        你又干了一阵,公司又裁员了。你因为ORACLE毕竟不是第一熟,所以被lay-off了。可是这时你也不是很怕,因为这间公司你也呆腻了,效益也不好,早就想跳槽了。你现在ORACLE已经相当熟了,SQLServer又是大拿,结果终于找到了新工作,可是新工作是做SQLServer的。拒绝之,非要找ORACLE只是因为觉得ORACLE更有未来, 是不合常理的。好,你接受了这个offer. 可是,3年SQLserver干下来,发现自己好不容易学得这么好(花了几年的业余时间哪!)的ORACLE又生得拿不出手了。

        别再用“一通百通”来抬杠了。毕竟以前有基础,下次要重新捡起ORACLE时会快一些而已。在这种专业领域,别人一看就知道你的程度如何。

        我举这个例子的要点是,maintain几样技能如此之难。每样都如逆水行舟,不进则退。新的工作往往只用你一样技能,一段时间后就把其他的荒疏了。这是每个程序员都要面临的困境之一。

        刚才提到一位ORACLE的高手,你这么费劲去学ORACLE也没能超越他。因位他一直就在搞ORACLE, 搞得太深了,不管到了那里,被layoff多少次,他都有实力重新找到ORACLE的工作。只要市场上还很需要ORACLE.

        在职业市场上有通才和专才。有很多这样的专才,在不同的领域。就象JAVA, C++这样的大路技能,我也见过真正的专才,别人也是当宝贝的。

        可是专才的困境是也许有一天这种技术逐渐从市场消失了。就象当年做ES/9000和AS/400的人一样。严格地说,也不是绝对不需要这种人才了,只是需要量太少了。这是困境之二。更多精彩文章及讨论,请光临枫下论坛 rolia.net
        • 说得好。有深度。但不适合我。我是个懒鬼,什么都不想学,六脉神剑和凌波微步才学了点皮毛,就来闯江湖来了。你可是活到老,学到老呀。佩服。
        • buddy, good job!!你的文章让我也开始了一些思考。有个东西我想提一提,我觉得这是每个写程序的每天都在亲身经历的痛苦。
          本文发表在 rolia.net 枫下论坛一个10年的程序员比毕业6个月的小伙子更懂java或.Net?就算是那些老掉牙的技术,恐怕仍然无人可以证明,老程序员一定懂得更多。那为什么现在大部分公司还是用经验年数作为重要判断标准?那是因为老程序员有新人没有的价值,对business的理解。找一个写coding的人不难,但找一个理解银行交割business的程序员恐怕不容易。对business的理解不是一朝一夕可以速成的。就算是纯IT,为什么搞编译的比写网页的容易找?因为对编译的理解更有价值。而不是c语言的coding能力。
          各种各样的语言,概念(什么design pattern),那也只是一种应用软件而已。我们只是在另一些程序员开发出来的应用软件上开发另外一种应用而已。重要的并不是你在用什么应用软件,而是你在为怎样的business写应用。对这种business的理解是否有价值?
          当然,也不是说掌握常青的语言或平台毫无用处。好像那个DBA依靠ORACLE不愁找不到活,但我想他最应该做的是祈祷ORACLE不要被MS打败。:)因为他在business的理解上毫无优势。
          新的语言、平台或概念每过几年就会来个大换血,那是我所提到的另一些程序员为了保住他们的饭碗所耍的把戏,:)那我们又该如何应对呢?跟着他们被他们耍?还是从不同的角度来增加自己的价值呢?

          仅是我的一家之言。更多精彩文章及讨论,请光临枫下论坛 rolia.net
        • EJB等这些流行的东西,资料完全公开,在家都可以搭建环境,完全可以自学,这也是公司推广所需要的,而搞底层的东西,没人指导,根本
          没法自己干,所以没人去学,所以流行的失业了难找,那些反倒容易
          所以你那个结论不太对的
          还是camryv6说的对,懂BUSINESS的就要好多了,因为搞懂某一行当是你自己在家学不了的,你会写EJB,但你没在银行软件的工作经验,别人要你的时候就犹豫了
          你说维持一个技术就很难,对的,但前面好象哪位又说他公司的人什么语言,C++/VB//JAVA/NET什么都行,有矛盾了
          • 不矛盾。维持的前提是使用,公司/客户环境够杂就可以了。
            • 对,我所在的公司很小,所以有几个牛人越来越牛
              本文发表在 rolia.net 枫下论坛有个家伙做 isapi filter, security, windows CE, application framework (C++/C#)。还有各种 c++/c# control 什么的。我还是很钦佩他们的。

              不过说到底我觉得楼上几位仁兄可能稍稍过虑了。

              说到底第一重要的是经济大环境。这个不成当然什么都会很难。在楼上帖子里面的虚拟例子里面,那个 sql 大拿和 oracle 大拿都够倒霉的 ----- 成天被公司 layoff。;-) 我觉得经济稍微有些起色的时候,大家不至于这么惨。公司不会太在意 (5 年SQL + 1 年 Oracle) vs (6 年 Oracle) 的区别,尤其是前者这么勤奋的话。只有经济差到如今这样,老板才不得不这样计较。

              还有就是公司和项目。在楼上帖子里面的真实例子里面,我的感觉是 cobol,c++ 熟到什么程度可能并不重要,重要的是在那个特定时候,公司的那个特定项目成为创收重点 ----- 这是关键。如果我所在的项目根本不盈利,我也想不出什么理由要求加薪,即使我的技术再牛。

              顺便聊一下关于 business vs technology 的问题。我觉得精通 business 的技术人员是必需的,如果只能招一个人,肯定是前者。但是真正做项目时,公司也经常会需要一些纯技术人才为所有项目提供服务,就像我开头提到的那种人。一句话,依旧取决于具体公司,项目---- 这是决定因素。更多精彩文章及讨论,请光临枫下论坛 rolia.net
        • 其实我们讲的根本就不矛盾。
          再把我以前转贴过的贴一遍:
          ----------------------------------
          有人觉得他精通各家厂商的数据库,所以看不起那些只会下SQL指令或是只会写store procedure的人, 因为这个人精通ODBC, JDBC, ADO, ADO.NET各种程序的写法.问题是,一个精通SQL的专家和只会写SQL指令的人,在数据库表格交互参考,资料量很大的时候,要从中取出我们需要的资料,所下的指令在效率上是几秒钟和几个小时的差别. SQL也是个专门学问,要能够巧妙的操作它,必须下非常多功夫做研究,而且一研究可能就是十几年才有办法累积丰富的经验. 如果贵公司的项目老是苦于数据库存取的效能不够,你猜老板会花钱找一个有能力彻底改善所有SQL命令之中效能问题的稀有专家,还是再找一个号称他什么都会,结果一点用场也派不上的"数据库女工" ?
          ----------------------------------

          所以,当你没有明确目标的时候,不要着急着去把SQLServer, Oracle, MySQL, PostgreSQL都搞得一清二楚。好好学学SQL才是最重要的——这就是我所强调的“一法”啊。
          • 你这个“SQL一法”还是有前提的:是另一些程序员仍然留了口饭给我们这一类程序员。:)其实SQL statement的优化是很不难的。如果数据库软件商发一发狠,把这个优化做好了,几秒钟和几个小时的差别没有了。这个“一法”估计也要失业了。
            • 还好这种优化往往是跟 business rule 相关的,数据库厂家一时半会儿发不了狠。;-)
              • 99%以上的优化和business rule是无关的,而是和index, embedded SQL, in, like, trigger等等等等的用法相关。优化这些东西并非难事,而我不信数据库商不知道这些。
                他们留这些活给别人,或许有很多原因。比如数据库做成了傻瓜型,他们可能损失而不是获益,至少认证证书就一文不值了。
                • if you do not know what key word is most frequently used in application, how do you know which field you want to add index.
                  • 呵呵,我们有些跑题了。
                    我举一个简单的例子。你运行一个select,有index和没有index 效能差很大。好,sql应该根据你的查询条件对某些field动态建立的index。你要说了,动态建立index也要开销。没错,但是数据库应该有方法评估这些开销是否值得。还有,数据库可以对查询进行统计,如果基于一些fields的查询十分频繁,应该自动内建index,甚至于对所有index根据使用频率进行maintain。这些和business并无关系。
                    我说的只是非常简单的例子,实际实现当然会复杂得多,但是对数据库厂商来说,是可以做到的。不过实现这些东西可能不会为他们带来更大的市场。而推出一个OO的数据库却可以奠定他们的领先地位。利益永远是动力。:)
                    • 我们公司的文化是:客户的需求放在第一位。越快越好。软件的易维护性是必要条件。在硬件飞跃发展的情况下,所谓的技巧不做过度的考虑。
                      • 嘿嘿,兄弟,你明不明白我在说什么?:)你公司文化和我说的有什么关系?
                        • 可能我没有理解。我是说你最后一句话“利益永远是动力”。故我认为:所谓的field和index和软件工程相关性不大。越简单越好。
          • "精"可以让你成为好的程序员,"广"才可以使你成为Archetect. 你选择那个?
            • 能力和语言的关系,我想大多数人只能无可奈何地选"成为好的程序员"。 到什么山唱什么歌吧。
        • ES9000和AS400不能同日而语。这位老兄估计没深入统计过mainframe在北美的普及程度和IBM的发展战略
          • AS400差不多快被淘汰掉了。S/390也不久矣。我曾经有一个housemate,白人,是一个工作agent,看过我的简历后告诉我,他以前也是干MAINFRAME的,因找不到工作而改行了。
            • 呵呵,我认得的一个人,3年多没搞挨梯了,前两个星期刚拿到个390的offer。市场还是有的,老家伙们老的都没法上班了,自然要找人顶上。
    • 我很赞同你的分析,只是结论却是:程序员只是简单的熟练技术工作,而且是越来越简单....如果你想做到50,可能的结果是50岁的时候,你的工资和打字员相差无几,尽管你现在能挣6we...
      • 位数
        • 请问是什么货币单位?
        • 往上看 --- 看那个 52 岁/3小时/奖金 165% 的例子 --- 反正看完了我又找到新动力乐 ;-)
          • 我说的是等你50岁的时候,不是你现在50了.不过如果你已经45以上,那就没有这种危机.IT科技进步使程序员工作变得越来越简单.
      • NoNoNo
        我的结论绝不是程序员只是简单的熟练技术工作,而且是越来越简单....

        我想要说的是:

        1。只要你喜欢这份职业,并且不以学习为太苦的事,你就可以一直做下去。

        2。学习其实也并不如一般人想象的那么困难,就象你是Chinese Speaker,学俄语可能比较费劲,但是学日语相对来说就没那么吃力,因为都是一个语系的嘛。当然,轻松,简单只是相对的,不是绝对的。在学习的过程中你同样也需要付出艰苦的努力。

        3。学什么的问题,我已经说了很多,这里就不多说了。

        我很欣喜的看到我的一篇涂鸦之作能引来这么多同行的严肃的讨论,其中不乏真知灼见,有如良金美玉,熠熠生辉,常使我有茅塞顿开之感。

        另外我也想再强调一下,虽然被某位网友冠以初级程序员的美称,但其实我现在充其量也就一打字员。在下的水平,实在是低劣之至,低劣之至。
        • 呵呵!再较正一下,根据语言学的划分,中文和日语不是一个语系的。当然,日语中用了大量汉字,国人可能会容易一点。另外日语的谓语是放在句尾的,和我们的主+谓+宾 完全不一样。呵呵,跑题了。
    • 赞同。如果对COMPUTER原理理解很透,的确会给掌握新技术带来莫大的帮助。
    • 嗯,认真作程序员这份很有前途的工作吧
    • 这帖子好,其他行业也是相象的。joyzhou(快乐小JOY)在谈到很多困境的时候,又得到什么启迪呢? 期待joyzhou的继续。
    • 五十岁还做程序员?你的志向也太远大了.
    • 各位的灼见本人多多少少都同意. 本人较认同JOY,也许是公司文化很接近.本人属"老前辈"级程序员,近年已蒙退志,怕熬不到50了,但苦无好去处,只好干下去.
    • 看到不少好发言,小弟也说两句。小弟认为程序员不能一干到底,须不断上台阶,上技术管理层,否则晚景甚忧。纯技术更新太快,后来者优势显然。老姜之辣在于经验,而经验在于管理,少在纯技术。所幸小弟已初上台阶,往后应如何发展提高,小弟也一片迷茫,望前辈指教!
    • 抛砖头引诱,程序员可能要写过20年程序,实际使用过20种语言,精通汇编,懂得VonNeuman结构里代码和数据的相互转换。
      • I almost am such a man, but I have no idea about today's new technolege, taht's why my salary is so low -- I'm a obsolete programmer.
    • 无他,兴趣而已。任何工作干久了都一样,审美都会疲劳,只有兴趣才能坚持不懈地走下去。其实任何工作都一样,很多人开车一辈子、开机床一辈子,都是职业。程序员也一样,不要神话这个职业。就是一个职业而已。
    • Hi DX
      When i read your opinion . i think you are a excellent programmer. but also a good person. my husband is as same as you in the personality . would you like to help him to find the job?he really need somebody's help
      • 您过奖了
        I'm neither an excellent programmer nor a good person. 我只是有时喜欢
        自作聪明多嘴多舌罢了。所谓咬人的狗不叫,叫的狗不咬人,呵呵。

        说几点建议吧:

        1. English
        这个不用多说,我觉得程度达到跟人说话的时候很少说pardon就可以了。

        2. Network
        多出去走走,多参加活动(非指FLG或美安),多认识和自己专业背景相同的人。让周围的人都知道自己在找工作,在找什么样的工作,朋友介绍很重要的。

        3. Resume
        一定要用心写好。

        4. Diligence
        不要三天打鱼两天晒网。

        5. Skills
        有些技术不一定要用过,但一定要知道个大概,面试的时候就好发挥。

        Good Luck!
        • Thanks again
          Hi DX

          Anyway , i have to say thank you again, although we head those suggestions and encouragement so many . even we never give up since we came Canada because of the life and love . we just need an opportunity . we need hands to catch and go together , not just say the words. sorry, i say to you about it , because i don't know how to help my husband as a wife . only say something like yours. and we still need to face the darkness about the job in the feature . i am not complain anything. i just feel weakness so far.
          • Your English is not good enough.
            • should try harder
              • i will .
                i know there are lots of mistakes .oh my poor english . but this is my problem , it is not the topic why we come here . thank you very very much.