本文发表在 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