开发者技术落后、跟不上时代只能怪自己,别牵拖公司没栽培你

来源:互联网 发布:什么软件有电视直播 编辑:程序博客网 时间:2024/04/25 21:11
我曾经在 Hacker News 网站上读过一篇文章的评论,其中一个年轻的程序设计师说,他不想待在那些不培育较老的程序设计,而是要他们离开的公司因为他明白,有一天他们的下场亦会相同。
 
这个年轻人的本意是好的,但是他这种说法还是惹恼了我。
 
首先,仅仅因为一个程序设计师年龄较大并不能代表他思想陈旧(就像你不能因为一个程序设计师较年轻,就说他思想新潮)。我认为这个评论中最大的问题是:始终让自己接受教育并跟上时代的发展,这应该是你自己的责任,而不是公司的问题。
 
教育自己是自己的责任
我已经当了 32 年的程序设计师,而我一直努力站在科技潮流的前端。我知道很多像我这个年纪的人自从拿到资工学位、离开学校就再也没有吸收过新知,最终难逃被淘汰的命运。我花了 6 年的时间学化学,但是当我成为一名程序设计师,我发现我需要知道在工作之外,外面正在发生什么事,也需要不断学习的欲望,以及尝试所有种类的程序编写。当然在当年,这些事情都比现在要慢得多,阅读也是一项挑战。当时没有网络,而所有数据都印在纸制品上!
 
在我入行的第三年,我看见小型计算机会是未来的趋势,因此我调整自己并加入了另一个团队。在那里我认识了 C 语言,并说服我的经理它是值得购买的。结果认识 C 语言就代表我的第一个程序不需要用 Picsal,而可以用 C 语言来写。
 
后来我又知道了关于面向对象程序设计,而它再度给了我一些新灵感。我在 C 语言的基础上又增加了一些东西,因此当后来 C++ 出现的时候我已经游刃有余了。
 
在我在苹果那段很糟的工作经验之后,我认为我需要在线工作,于是换去顾问公司工作,使用 NeXT WebObjects 写了一些被称为 Objective-C 的晦涩语言。Java J2EE 出现之后,我说服公司使用它来工作,结果就真的利用 J2EE 完成了第一个企划。巧的是,这个公司就是现在我老板的母公司,而那第一个企划就是他们的第一个完整的 Java 企划。
 
拒绝承认这个世界在改变并不会真的让世界停止改变
当你关注的是整个行业发生了什么,而不是只关注你自己正在做的事情的时候,事情就会自然发生。即使你并不能真的尝试每件事情、你永远无法知道什么会成为下一件大事,但是你可以让自己保持对一切事情敏锐。
 
我记得 2000 年中期的时候有一个同事是 C++ 的领袖人物,当时他的 IE 浏览器出现了一些问题,于是我建议他试一下 Firefox。结果他把我当成疯子一样的看:他不知道除了 IE 之外还有其他浏览器。在那之后,他对于尝试使用 Firefox 也没有兴趣,即使这并不会影响到他的工作。我没办法理解这种态度。你没办法知道下一个大事件会从何而来,拒绝承认这个世界在改变并不会真的让世界停止改变。
 
我有些朋友拿到学士学位,最后却失业了,因为大型主机退役了。当他们发现他们没办法再继续当程序设计师时,他们开始抱怨早知道就该花时间学些别的东西。但是当你体认到这些的时候,就已经太晚了。
 
假设你的老板会来培训你,无疑是痴人说梦。有时候你的老板会连个通知都没有就开除你,你会丢了工作、企划、甚至是整个公司,你只好去找份新的工作。指望老板对你进行培训是不现实的,如果你是一个汽车生产在线的工人还能指望一下,但程序设计师的话就免了吧。
要不要跟上时代是你的抉择
要不要跟上时代是你的抉择、要不要尝试那些即便看起来不重要的新东西,都操之在你。
 
学习任何东西都是有用的,当你尝试的技术和工具越多,使用其他的工具就会越容易。你所学的东西可能没什么用,但是学习这件事本身永远不会白费力气。不管是你在写开源程序,或是在自主写程序,或者仅仅是在家里写一个别人永远看不到的东西,都没有关系。它会训练你的大脑以开始接受新事物。就算是只是去了解在程序的世界里要发生什么,都可能是有用的,因为你不知道老板什么时候会问道你关于这方面的问题。
 
在 Ajax 这个术语出现几个月之后我第一次听说到它,当时我正在写网络应用程序,而我开始使用它;再一次的,我把这个新东西教给我的团队成员。然而遗憾的是,这吓到了整个团队,他们认为我购买了一种未经批准的新技术,同时也担心这种新技术得不到支持。没有人听说过这个东西(因为他们并不太关心),当我告诉他们这只是一种 Javascript 的时候他们才勉强息怒。与时俱进的接受新事物是我的职责所在,这也是个很痛苦的过程。
 
当 iPhone 最初面世、甚至还没有任何开发工具时,我仍然觉得它代表着未来。我的 Objective-C 方面的知识再次派上了用场,这实在很让人吃惊。
 
你永远不知道未来需要什么
现如今要与时俱进是几乎不可能的一件事。用 JavaScript 做网络的人们每周都能做出足以影响未来的大事件;即使学的再快,你甚至无法在它们被新东西取代之前就学会它们。我的工作并不在这个领域(只在 iOS),但是我仍然尽量坚持学习,你永远不知道未来会朝什么方向发展,也没办法知道你会在哪里结束。
 
雇主给我的少许几堂培训对我来说几乎都是无用的,因为我早已知道或已经在使用某些新技术,虽然它们并不全部都对我的未来很重要。但你永远不知道,在未知的未来中哪些东西是实用的。
 
在化学研究所时的时候我学到了 APL,我只是拿它来玩,并没有用在其他任何用途上,但是最后它却成了我第一个产品 Trapeze 的基础。在 1999 年之后我把 Objective-C 忘得干净,但是现在它成了我的主要语言。在未来到底什么才是有用的,你永远无法现在就知道。
 
不要被旧东西压垮
最能激怒我的,是有些程序设计师会忽视他们工作以外的一切。
 
我曾与一些利用 4GL 工具生成 RPG 码的人一起工作。他们很自傲地说他们的工具是世界上最好的,而他们永远都不需要学习其他事情。我可以很轻易的想象某天他们之中的大部分人会被解雇,并且很疑惑为何他们找不到下一份工作。科技几乎不会消失,但是你的工作会减少,除了可怕的维护工作外你可能什么都做不了,而你就会变成冗人,最终遭到扫地出门的命运。现在除了你自己,任何人都没办法让你再次成为有用的人。
 
如果你还在等待,那么科技的潮流将会压垮你的生涯。
 
所以不要再把今天浪费掉了,了解一些比较新的东西吧,或是你能做得更好,去学会某些新知识吧。随时保持关注,你可能就会看到未来正在向你走来。而当未来真正来到,你将一无所惧。一直以来我很幸运地能够保持专注,这让我在三十年之后仍然能够继续写程序、能在最新潮的事情上努力。
 
因此,让你的双眼保持雪亮,并且别再期待他人帮助你成长。就像棒球投手 Satchel Page 说过的:「别回头,事情可能就要来到你身上。」在写程序这方面,你必须时时向前看,因为唯一会跟在你后面的就只有生锈的旧东西,等着把你压垮。
0 0
原创粉丝点击