OC

Knowledge OS
登录 注册
全部话题 移民 创业 iOS Mac Objective-C Swift Android 招聘 求职

老调重弹:年龄大了,码农何去何从 (长篇技术文学巨著)

灵感之源
灵感之源 发布于 2013年09月04日 | 更新于 2017年05月26日
tinyfool Chuns adow 等0人欣赏。

说明

这篇文章是说我的经历和选择,没有任何对从事软件开发的人员的不敬,更加不是要打击新入门的开发人员热情。你有你理解的方式和自由,要在回复那里指责为那是没有必要的,你有时间还是去多看看书,多写写代码好了。

刚在隔壁看见了一个22岁年轻人遥相呼应的文章,在这里罗嗦一下。年轻就是资本,有冲劲,这是最大的优势,好好学习,珍惜年轻的时光。

最后罗嗦一下,我12岁开始学编程的时候,相当有兴趣,到了15-16岁的时候,我觉得我可以写很好很好的软件,到了20岁的时候,我觉得有无穷的力量,在 这行肯定可以做一番事业的,至于后来写了几个下载了超过500万的免费软件,那是后话了。

人的心态会随着时间的流逝而变化的,几年后,你可能会有不同的想法,不用着急,如果几年后博客园还没倒的话(dudu别骂我,都老朋友了。。。),你可以回来再看看。

总的一句,不要浪费宝贵的时光。

前言

岁月是把杀猪刀,老了码农,白了头发,残了身体,消磨了意志。

码农老矣,尚能码否?

这是一个老话题了,按照一些人的说法,这是月经贴,最近才在博客园上看见这样的帖子。

今天在cnBeta上看见了这个帖子:年过50,还能继续当码农吗,本来只是在闪存发发牢骚,后来想想,干脆写个帖子,写得长点,打发一下时间也好。

我主要谈谈我的经历。

背景

对那些不知道我的情况的同学,我简单说说我的背景,1993年开始学编程,大学读的不是计算机,而是英语高级翻译,毕业10年,2年前移民澳洲,现在33岁,仍然在做码农。

国内

现实是非常残酷的,无论你是否接受!

在中国,软件开发这行太固执于年龄了,主要有3个观点

年纪大了,思维跟不上,不能学习新技术 呆久了,老油条,不怎么干活,效率低下 当然是待遇了,呆了那么多年,工资越来越高,公司成本压力越来越大 现在国内的物价飞涨,人员的待遇也被迫提高了很多,相比几年前,甚至以倍数算。现实有点荒谬,老人多年加薪,比不上新人入职薪酬起点,如果关注新闻的,那些或许部分被夸张的某某IT巨头的毕业生入职20/30万起跳。这对老人来说,情何以堪啊!

对开发来说,码农资历越深,经验越丰富,要解决关键问题,还是要靠扎实经验,学习新技术也应该是驾轻就熟。

举个例子,没有实际业务系统开发经验的,遇到技术问题,一般都是上网搜索,如果没找到,就去stackoverflow之类的网站提问。但如果身边有个经验丰富的,能给你解决的情况就比你自己慢慢研究要来得快吧?

再举个例子,刚入门的同学,不都是喜欢拜师,找前辈学习的吗?没有这些前辈,那学习的过程会相当周折。

再举个例子,没有一定的经验的同学,要实现某个功能,譬如excel文件的读写,除了office automation(不建议),更应该去找第三方的组件(相比商业组件,大家都喜欢开源的吧?)。如果平时积累了丰富的经验同学,需要用到某个功能(如之前说的excel文件的读写),直接就知道可以用如NPOI这样的组件。

最后再举个例子,10年前,对.net一窍不通。记得9年前,一个同事,老程序员了,很热衷学习新技术。当时.net出了beta,他买了本书,新建了个winform,拖放了个DataGrid,再用DataAdapter从数据库取了数据库之后绑定到DataGrid,数据显示了,有点RAD的味道,他还演示了master-detail的功能,当时觉得好神奇。当时一起做同事的,还有另外一个老程序员,记忆中超过40岁了,跟我们一起做开发,写起程序来一点都不含糊。

如果我是招聘者,2个应聘者,关键技术要求都符合,撇除非技术考量(譬如个性等),一个28岁,一个40岁,我会选40岁的。

我的学习经历

学习编程,开始于1992年,初一,学校开了计算机课程,当时是novell无盘工作站,后来用上了DOS 3.x。先用的GWBASIC,后来接触了Quick BASIC和pasal。当时跟几个同学在一起研究,有1年暑假,我们约定要写个程序出来,比一下谁写得更好。其中一个同学用Quick BASIC实现了类似x-windows的图形化的界面,带输入法,支持鼠标(当年dos下都是文字界面,要支持鼠标和图形化,要用asm写),可以显示图片,播放音乐和动画,我觉得好牛。

在中国的时候,经常加班,离开中国前的那个公司,我在那里工作了5年,星期六还要上大半天,觉得还挺累的。

写商业软件这10年来,经验是逐点逐点积累的。我9年前开始在sourceforge写开源项目,大约9年前开始在codeproject写开源文章,8年多前开始在博客园上写博客,每天下班后,再花4-5个小时学习,写开源项目,写商业软件。

直到现在,我每天下班,仍然是上技术网站看文章,譬如codeproject,当然也包括博客园。也会去开源项目网站看看,譬如sourceforge和codeplex,说起codeplex,这应该是当年那个微软为了推广.net而推出的gotdotnet网站的继任者,虽然codeporoject越来越多的.net文章,但codeplex更纯粹的是微软为了推广.net而架设的,所以从事.net开发的同学,应该会留意到这个网站绝大部分项目都是.net写的。

我喜欢看开源项目的代码,首先了解某个项目的主要功能,然后看代码项目结构,不调试,直接从主类入手,看设计思想和新技巧,基本上半个小时可以看几千行吧。

我更喜欢通过写开源项目来学习新技术,譬如之前写的那个SQL Monitor,就用了C#4。

最近去了新公司,做新项目的开发,因为老系统的设计有严重缺陷,无法应付大访问量的情况,所以和技术总监研究分析后,决定采用ASP.NET MVC 4 + Knockout + bootstrap。

国外

围城,外面看里面好,里面看外面好。那我们看看外国多少50岁+的程序员吧,为什么我们要对那些大牛致以崇高的敬意,因为他们经过多年的技术钻研,在某个领域达到一个高度,可以给后来者各种帮助、影响,可以指出技术发展路线。举个例子,pascal/delphi/c#之父Anders Hejlsberg,没有他,估计也就没pascal/delphi/c#,那软件开发领域少了多少色彩。

正是由于这个不可改变的国内大环境,我选择了移民。在外国,对工作人员的年龄没多少要求和"歧视"。应聘的那些公司,从来不会问你年龄,只会纯粹地要求你多少年的xx技术经验。

p.s.外国的待遇比中国好很多,码农的待遇还是可以过上不错的日子的。

何去何从

对大龄码农来说,出路主要有以下几条:

继续开发生涯,做资深码农,从senior、team lead、tech lead到principal,如果你无欲无求,可以安心做个普通的码农,跟少林的扫地僧那样,隐藏得很深,很深。。。 转做设计和架构,譬如architect 转型做咨询,譬如consultant,这个在外国很流行,收入也比普通开发人员高 转型做管理,譬如project manager,director, 技术总监,CTO等 转型做测试,遇到过这样的同事,计算机科班,硕士,做了10多年开发,后来转做测试,也相当的成功 转型做业务分析,用丰富的经验,去分析业务,相信可以驾轻就熟 转型做技术支持,相信有丰富开发经验的开发人员,可以解决各种客户提出的技术问题 创业,估计有不少开发人员有这个想法,始终流水的兵,创业可以赚更多,不过风险也高。如果你有很好的创意,相信可以吸引到投资,创一番事业。身边有几个朋友经过多年的开发,现在在搞创业 转行,认识几个人,转行了,就跟当年一些同学,从别的专业转到开发人员一样。至于行业的选择,那是因人而异,有做售前的,也有做售后客服的,当然也有跟开发没有啥关系的,譬如网站管理。更有甚者完全脱离IT行业,譬如去淘宝开网店。。。 出路是因人而异的,没有模式。一些同学蠢蠢欲动,但对前景又没有信心,彷徨,犹豫,随着时间流逝,年龄越来越大,心里越是没底,就跟一个没跟的浮萍,走一步看一步,其实这样是没有办法中的一个办法。当你没有相当的信心,不贸然下决定去改变前途,这是可以理解的。但岁月不能因此而蹉跎啊,今天30岁,一眨眼,明天就是40岁了。我仍然清晰记得20年刚开始学编程的日子呢,那个时候是纯粹的信徒,对计算机编程,那是比刘姥姥进大观园还要惊讶,觉得写个代码就可以显示这么神奇的东西。

说到出国,这只能算半个出路,因为出国了,你还是从事软件开发的话,那就不是转型了,只是换了个工作环境。

我的选择

我热爱编程,编程是我的第二生命。

从学编程开始到现在,已经20年了,如果说不累,那是不可能的。10年的商业软件开发,每天10多小时在电脑面前写代码,落下了一身的毛病,严重的颈椎病,肩周炎,慢性胃炎,吃止痛药比吃零食还来得频繁。

码农,牺牲太多了,过度的加班不提也罢,长期在电脑面前,脸部油脂分泌也多,皮肤干燥,容貌憔悴,尤其显得比同龄人苍老。不知道我真实年龄的,都猜我40来岁。而且IT圈子还流行一个段子,说码农因为接受的辐射太多,所以生女儿的几率很高,那些还幻想子承父业的,估计要崩溃。

说到牺牲,更加别提那些暴毙的码农了。

如果我不喜欢编程,我不会弄到现在全身的病痛,我可以活得更舒服,早睡晚起,无需无休止的加班,无需挑灯夜战,更加没有那些无休止的病痛,无需吃那些止痛药,可以有更多时间陪伴家人,可以有更多的时间去看电影,听音乐,休息,过舒坦的生活。

不过,做一行,爱一行,专一行。即便你觉得累,如果你真心喜欢开发,也会继续做下去。如果你不喜欢,纯粹是当年高考计算机专业热门而入了行,那每天也是煎熬。

某样事情,你重复做20年,你总有觉得身心俱疲的时候。你可以连续加班几天,甚至一周,但如果你每天都要加班,你必然有崩溃的一天。

每当这个时候,你应该好好坐下来,休息一下,想想何去何从。软件开发,跟其它工作一样,首先是要养家糊口,一般来说,大家会选择收入可观的行业,幸运的时候,IT相比其它行业,收入还是算不错的。

每当你想放弃的时候,认真想想,软件开发生涯,到底是不是到尽头了。

就目前的情况来说,我还是满意现在的工作内容的,因为可以学到新东西,也可以用自己的经验给同事解决问题。

在未来的几年里,我仍然会选择继续做软件开发。

广告时间

最后做做广告,我的新浪微博是:weibo.com/unruledboy

共109条回复
楼长 ·
指针为空 回复于 2013年09月04日

不行,你写东西太长,我要先抢个沙发再说

2楼 ·
tinyfool 回复于 2013年09月04日

这篇写得好,我的头牌地位要不保了

3楼 ·
灵感之源 回复于 2013年09月04日

看你才弄了个板凳,还想着头牌。。。。。天上人间去多了吧:)

4楼 ·
ewrfedf 回复于 2013年09月04日

廉颇老矣 尚能饭否

5楼 ·
bsr1983 回复于 2013年09月04日

先顶后看!

6楼 ·
vikiliu0310 回复于 2013年09月04日

好长啊,晚上在看~

7楼 ·
指针为空 回复于 2013年09月04日

其实吧,国内大龄程序员的问题是一个囚徒困境的博弈而已。

首先,你作为码农,写代码十几年了,如果给你一份月薪8k的工作,你肯定不去。因为这都对不起你这十几年的付出。但是相当一部分用人单位只需要月薪8k的码农,不需要在高的了,因为没有那么复杂的东西要处理,大家都不求甚解。当然,你要说了,正规大公司还是会要的,在国内IT行业,正规大公司掰着手指头数能有几个?大家都想去,码农每年增长那么多。

其次,不否认相当一批大龄码农自己不愿意学习新东西了,开始吃老本,我以前一个快40岁老技术总监就是:"什么.net 3.5、4啊,什么微软MVC啊,都不许用,就2.0最稳定,就用我得架构,我的架构已经用了5〜6年了,没一点问题,MVC就是偷换概念。"这是他的原话。。。

在国内,大龄码农一般有4条出路:1,技术大牛,修成正果;2,技术一般,带团队能力还不错,做管理去了;3,自己创业或者转行了;4,搞培训去了。

我工作也有小十年了,一直在写程序,中间穿插着做了一些其他事情,现在往管理方向发展了,老了,有点写不动了。现在主要做商业解决方案、做实施等,我现在就是在第二和第三的出路之间徘徊着。

我一个哥们,一个40多岁的老程序员了,他可以算是中国改革开放后第一批程序员了,在国民普遍工资还是几百块的时候他就能赚1w块的工资了,写过不少大型项目,他给我讲过曾经参与的使用IBM的大型机处理几百兆的存储过程的项目。这个哥们现在是我得创业合伙人,我们一起在给人做解决方案,他已经好几次跟我说:要不我们去开个影楼吧(我俩都喜欢摄影)。我说:我还是有点舍不得IT圈子。

8楼 ·
kxdd2002 回复于 2013年09月04日

我一直觉得,真心喜欢编程,在国内到老一直走技术职场不是太明智的选择,这是当前国情决定了,如上面几位所述。

感觉在国内第一大事还是财务自由,自由后心态放松,才能更加享受编程的乐趣,追求自己编程的乐趣,掌握自己编程的方向,而我认为这样恰恰更容易做出意想不到的成绩,从而进入良性循环。。。

9楼 ·
samuel 回复于 2013年09月04日

哎,灵感,NInput,WayFarer(张逸),dudu,idior,呵呵 只想说楼上的,觉得8千能解决的,你后面会有无穷的痛苦,我宁用2万的

10楼 ·
nsm1168 回复于 2013年09月04日

太棒了,又认识了一个行业内的好师傅。

本帖有109个回复,因为您没有注册或者登录本站,所以只能看到本帖的10条回复。如果想看到全部回复,请注册或者登录本站。
登录 或者 注册
[顶 楼]
|
|
[底 楼]
|
|
[首 页]

AltStyle によって変換されたページ (->オリジナル) /