说明
这篇文章是说我的经历和选择,没有任何对从事软件开发的人员的不敬,更加不是要打击新入门的开发人员热情。你有你理解的方式和自由,要在回复那里指责为那是没有必要的,你有时间还是去多看看书,多写写代码好了。
刚在隔壁看见了一个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
其实吧,国内大龄程序员的问题是一个囚徒困境的博弈而已。
首先,你作为码农,写代码十几年了,如果给你一份月薪8k的工作,你肯定不去。因为这都对不起你这十几年的付出。但是相当一部分用人单位只需要月薪8k的码农,不需要在高的了,因为没有那么复杂的东西要处理,大家都不求甚解。当然,你要说了,正规大公司还是会要的,在国内IT行业,正规大公司掰着手指头数能有几个?大家都想去,码农每年增长那么多。
其次,不否认相当一批大龄码农自己不愿意学习新东西了,开始吃老本,我以前一个快40岁老技术总监就是:“什么.net 3.5、4啊,什么微软MVC啊,都不许用,就2.0最稳定,就用我得架构,我的架构已经用了5~6年了,没一点问题,MVC就是偷换概念。”这是他的原话。。。
在国内,大龄码农一般有4条出路:1,技术大牛,修成正果;2,技术一般,带团队能力还不错,做管理去了;3,自己创业或者转行了;4,搞培训去了。
我工作也有小十年了,一直在写程序,中间穿插着做了一些其他事情,现在往管理方向发展了,老了,有点写不动了。现在主要做商业解决方案、做实施等,我现在就是在第二和第三的出路之间徘徊着。
我一个哥们,一个40多岁的老程序员了,他可以算是中国改革开放后第一批程序员了,在国民普遍工资还是几百块的时候他就能赚1w块的工资了,写过不少大型项目,他给我讲过曾经参与的使用IBM的大型机处理几百兆的存储过程的项目。这个哥们现在是我得创业合伙人,我们一起在给人做解决方案,他已经好几次跟我说:要不我们去开个影楼吧(我俩都喜欢摄影)。我说:我还是有点舍不得IT圈子。
我一直觉得,真心喜欢编程,在国内到老一直走技术职场不是太明智的选择,这是当前国情决定了,如上面几位所述。
感觉在国内第一大事还是财务自由,自由后心态放松,才能更加享受编程的乐趣,追求自己编程的乐趣,掌握自己编程的方向,而我认为这样恰恰更容易做出意想不到的成绩,从而进入良性循环。。。
既然大家又开始聊老生常谈的程序员年纪大了以后该怎么办的问题,我也掺和掺和,现在还能隐约记起年轻的时候参与过这个问题的讨论,转眼间我就已经有资格作为一个10多年从业经验,即将奔四的老帮子,来发言了。
我考大学报志愿的时候,单位里面一个明白人说过不要报计算机和英语,这两个虽然现在很热门,但是都是工具,跟开车一样,未来人人都需要会,没有什么价值(娃哈哈哈,楼主 @灵感之源 被人酒后雷杀,连掉两滴血。)。不得不说,这是一个明白人,他说的都很对,现在没有什么大学毕业生不会电脑了,英语也都是从小就开始的必修课(我上小学的时候,某些学校初中才有英语课的)。开车也真是个人就会,我还没学会,没资格做人啊。
但是,英语和计算机变得不热门了么?其实也没有吧。英语好到可以当翻译的人,照样可以做翻译,做同传,不见得不好赚。这个群体我不了解,不多说。但是我知道的是,很多行业,如果你英语好还是更有机会去外企,收入和世面见得还是更多的,出国也更容易,骗老外的投资也好骗一些。就说是程序员,如果英语好的话,提问题可以去Stackoverflow,不好的呢,只能混混CSDN、百度知道之类地方。英语好,你可以直接看原汁原味的文档,iOS SDK一出来你就可以写自己的App,英语不好的等到中文书出来才能学。越是新鲜的技术,就是越需要你懂英语,这样学的才快。英语好的,你可以接海外的外包,老外的外包一方面钱比国内多,另外一方面,规范多了,需求定义清楚,也更加有诚信。英语好的,你可以直接写App上App Store去转美国人的钱。别的行业我不了解,但是就IT这个技术圈来看,英语好,你更容易接触到利润更丰厚、待遇更好、竞争更少的一个圈子。更别说,你还可以让我们的 @灵感之源 老大一样移民,住国外的大house,生一堆孩子,养一堆狗呢。
回来说技术,我这个人学什么都学得不够深。2001年毕业到现在,换了无数个领域,用Borland C++ Builder做过企业内部管理软件、用Borland C++ Builder做过PC和文曲星的客户端,用VC做过Windows服务器和客户端程序,做过浏览器插件,用Java做过搜索,用Php做过网站,用Objective-C做过App,等等。所以,你知道我做什么都不太可能太深,10多年的工作生涯,每一个件事最多做个一年半载的。但是在任何我待过的一个公司,我都想做技术上最好的一个人(能不能达到这个要随缘),我都能体会,我从切换到一个领域什么都不懂,到努力做到这个领域还不错的成绩的那种快乐。同时,当我在一个公司,甚至一个社区,玩到了一定的深度和水平,我总是能得到尊重和相应的经济回报。我不得不说,某些人10多年没有换过任何领域或者只换过一两个领域的话,你没有生成你的领域内的专家,人人敬仰,或者说,有所成就的话,你说年纪大了混不下去,我只好说,那挺活该的。
这也是一个老生常谈,有人说,我在某某领域做了10年了,有了10年的经验。懂行人看了一眼他的东西,说,你这个也就是一个1年多的经验用了10年而已(这个问题我也有过)。
我大概是从11年开始感觉自己的身体严重不行了。我在09年得了糖尿病,但是对干活干扰不大。我在10年左右在盛大做云中书城iOS版的时候,还经常通宵熬夜写代码。那个产品非常失败,但是,那1年我的代码产出量还非常之高。
到了我11年我自己开公司,我慢慢的就开始发现身体越来越不好,很难支撑我熬夜。我以前都是晚上10-12点才进入高效工作阶段,一旦进入可以保持到早晨3-4点,而且第二天可以相当早的醒来,不会特别的累。
但是,后来我发现,我稍微熬夜第二天就会非常不舒服,需要睡很久才能让精神恢复。我们公司创建伊始,我招募了 @sycx 同学来做程序员。我本来以为,我们的工作模式是我来做主力,他来协助我,慢慢的带他,几年后,他可以变成一个很重要的助手。谁知道,开始做几个事情以后,他的重要性就一直在提升,原因很简单,我分给我们两个各一些工作,他总是做的比我快,我只好给他更多、更多、更多。最后,我发现,给他的越多,整体效率越高。
一开始这件事情,肯定是会让我心情很不好的,我的自我认知建立在,觉得自己很牛屄的基础上,很快一个毛头小伙子就比我强了。我怎么自处呢?但是我还是需要工作,就开始慢慢的寻找我的位置。
后来,我发现,虽然我是我们公司的产品经理,但是线框图、原型图,我都画不好,画这种画就不是我的天赋。但是我用代码做原型效率很高。我发现,我们公司需要有流程管理,等等,我就去做这些。
但是,我从根子上还是一个程序员。不知道有多少人理解这句话什么意思。
此外,我希望做一个有技术路线的公司,如果一个公司只是赚钱,我可以从中获利,那当然是一件好事儿。但是那样的公司,我只想做股东,不想做CEO,不想做程序员。根子上,我还是想做我喜欢的东西。就像现在这个论坛,我知道有更好的论坛,但是我就是想做一个我喜欢的论坛。
这个角度我来发掘我的经验的价值,就是我跟一般程序员的不同是,我的知识广度不错。我可以做架构和技术路线方面的工作。所以,我们公司的技术路线其实是我负责的。@sycx 老师其实就像是辆高速奔驰的汽车里面的引擎,我希望我是方向盘。@sycx 老师非常聪明,也很执着,他也不盲从我,这点其实我很高兴。我经常会给他说我的技术路线,他不会简单的就照我说的去做,也需要我去给他证明和他讨论。
举例说,新杂志背后的引擎是一套非常复杂的排版系统,我们最早想做这个东西的时候,@sycx 老师认为技术上太复杂,我们那几个人是做不出来的。如果我强迫他做,他是不会有动力做好的。所以,我就发挥我的做原型App的天赋,三天做了一个原理很清晰的原型出来,给他解释清楚。他就非常有动力去做,做的过程中不需要我掺和太多的东西,而且很多技术难点自己就攻克了,完全没有需要我参与。
再比如,这次我们要把新杂志移植到Mac上面。我们两个都没做过这个复杂的移植。我就说让 @sycx 老师先去试试看。他做了几天没有成果,我就开始担心,跟他仔细讨论。他给我讲,UIImage和NSImage的接口差异给他带来了很大的工作量。我从经验角度出发,认为这样移植的话,我们肯定吃不消,工作太枯燥,更可怕的是这种移植一旦成功,我们的代码完全没有办法管理。我就让他去找UIKit的开源方案,用那个方法去移植,问题马上就得到了比较好的解决。
从这个经验出发,我们准备在移植到Android和WP的时候,采用移植Cocoa到目标平台上的方法进行。我们对Andorid和WP的基础构建都不够了解,所以对技术难度和工期目前还不能很好的估计,但是可以想见的是如果做好了的收益是很大的。
同时,我们这么小的团队,做了新杂志排版引擎这么复杂的项目,所以,从技术难度上,工程上,我们去挑战移植Cocoa的工程,已经基本准备好了。
我们之前做排版引擎的时候,挑选了最难的iBooks Author方案,也跟这个有关系,既然要做,就做一个技术上有挑战的,有意义的,我们预期的是,我们做一个静态排版系统(也就是纯渲染)的过程可以积累对排版系统的深刻的经验,未来我们挑战全动态排版系统的时候(也就是所见所的编辑器),也就有了基础准备,就可以应付了。
这一年,其实我在追求团队的技术路线突破,商业上哪怕是失败,或者没有结果我都不在乎。知我者,谓我心忧,不知我者,谓我何求。
我也来插一脚吧,@灵感之源 和tiny都是有着10多年以上丰富经验的程序员,所以才有这么感慨的一篇,我呢则是反着来,本人年过四十(光看面相,绝对只有30出头:)),三十六,七才开始真正进入这行,实际的编程经验也只有不到5年。你们会想我是疯了吗,这么老转行,还转入一个鄙视年纪的行业。怎么说呢,原因有些曲折。高中和大学有过计算机背景,一直喜欢,后来毕业后做了十多年的媒体,再后来就出国了。这么转行也是无奈,在国外作媒体根本没戏,在国外总的挣口饭吃吧,于是重新进学校,学习编程。而作技术,薪水都不会太差,也没人在意你的年纪。(国外更看重经验值,原来的英国公司也有个同事,比我还大,也比我还晚入行)。 几年下来觉得和我的个性很合拍,但是很累是真的,一是我必须不断的学新的东西,有些东西对科班的人早就驾轻就熟,可我还必须再重新学习复习。四十后记忆力真的直线下降。二是身体上,这几年的脖子一直是落枕状态。 我这个人呢,一直没有什么大的追求,只喜欢干自己喜欢的事,自己的爱好就是自己的工作,就觉得挺好的。未来,我想我还是努力要呆在国外吧(移民尚未成功)。
花了很大力气看完tinyfool的比裹脚布还长的文章,累死之余,竟然还发现他顺带黑了我两把,真是不厚道。
关于工具,的确,英语谁都在学,但学得好的能在西方国家工作生活流利交谈的,不多,更何况成为专业之后,做高质量的文字翻译或者同声传译,那也不是普通人能胜任的。
计算机,日常工具,学一下就能掌握基本使用,但谁去做操作系统和各种软件的开发?虽然你我都不是计算机科班,但我们都是花了大力气去专门学的。
对于技术面这块,我同意可以做多元化发展。我这么多年都在用微软的技术,但我不只局限于这块,其实我们做Web,就混合了多种技术,HTML/CSS/Javascript等等,这些在各种平台上都能通用。
而数据库,一理通百理,我从最开始的dBASE III开始,FoxBase,FoxPro,Visual FoxPro,Access,Sqlite,SQL Server,MySQL,Firebird等都弄了一下,现在流行的NoSQL也弄了一下,原理类似的话,还是很好学的。这里弄不仅仅是看看文档写两句hello kitty,而是写某项目/产品的时候顺带做一下支持,或者针对性的做开发。
我离开中国之前的5年都在一个小公司呆着,公司产品的开发所使用的技术都没怎么变化,我主动引入了一些新的,但还是局限于产品定型。不过在那5年里,我做了自己想做的个人产品,还是有点成就感的。
身体越来越差那应该是普遍问题,我最近也感觉到我的尿有甜味(闻起来)。。。要去检查一下身体了
我现在极少超过12点睡觉,但我发现tinyfool还是经常2-3点还在发贴,身体是革命的本钱啊,机器坏了还能换零件,肉体垮了就垮了
我非常推崇拼搏的精神,人生难得几回搏,有机会就要放手一试,失败了就当是经验。如果现在想去做但没做,几十年后回头一看,估计想捶胸切鸡鸡后悔莫及。
请问19楼的Simeon先生, 1.为何你说在国外作媒体没戏?是特指外国人没有优势? 2.你为什么转计算机呢?其它行业没考虑过吗? 3.重新进学校读书,是在职吗?还是全日制?
总有些人,一方面觉得别的行业才高贵,如销售、管理,或者觉得别的行业才接地气,如摆摊和淘宝店等,然后说自己是一个码农。这有什么意思,喜欢什么做什么不就好了么。码农要是掉了你的价,别做就是了。也没有人逼着你做嘛。
我很想说,楼上的各位,求注意排版!
我一直觉得,世界上存在两种产品,互联网产品和ERP产品。
虽然用的技术差不多,但是定位却差很多。
我们总是在讨论的“产品”更多的是指『互联网』的产品。
照我说吧,有时候转行不算是一件坏事。
软件工程里的很多思维方式和管理方式是其他领域需要借鉴的。
稍加改动适应之后能有意想不到的产出。
这叫做: 善解人意. 多么可贵的品质啊.
我自己的意思很简单, 爱干吗干吗, 每个人的人生都得自己过, 不管想不想过, 这有啥好讨论的, 爱写程序的就写下去, 不爱写的趁早改行. 改行越早越好.
当然大家借这个机会显摆一下自己是极好的, 顺便俺也一起起个哄看个热闹. 嘎嘎
俺还真想不出有啥好显摆的, 你看俺既不会盲打, 更不会五笔, 没进过著名国际大公司, 也没做过啥高级职位, 几十年如一日地勤勤恳恳做码农. 人生么自然是单薄滴, 眼界么当然也是狭窄滴, 话说年纪一大把了还在垒代码, senior/team lead/tech lead/principal 做不了, 转做设计和架构没人要, 做咨询忽悠不了, 转管理轮不到, 真是失败呀失败. 俗话说得好, 失败的人生不需要解释.
At the end of the day, your life happiness will not be dominated by your career. Either talk to older people or trust the social scientists who have: family, faith, hobbies, etc etc generally swamp career achievements and money in terms of things which actually produce happiness. Optimize appropriately. Your career is important, and right now it might seem like the most important thing in your life, but odds are that is not what you’ll believe forever. Work to live, don’t live to work.
年龄从来都不是问题,关键看你的心态和状态。我也是12岁开始学习编程(BASIC),今年刚好满30年。我现在有一个自己的软件公司,虽然自己已经很少写代码了,但是还时刻关注各种和开发有关的动向,尤其关注前段的技术。偶尔也会动手写一些小东西。在我们公司,90后、80后、70后的技术人员都有。还有我的家人、我的同学、我的家人的同事和同学,很多的三、四十岁的人也在快快乐乐的搞着技术,写着代码。
所以,年龄从来都不是问题,关键看你的心态和状态。
特意注册上来参加讨论。十几年前 CSDN 上这个问题就是热门话题,只不过当时那些问 “马上就奔三了以后做程序员还有没有前途” 的人现在在讨论 “四十以后的码农何去何从”。这件事情本身就说明,写程序这个事情本身还是有趣味的。作为曾经在这个行列里但后来又跳出来做职员的奔四,我觉得程序员还是不错的工作。
程序员几乎是当前主要职业当中,唯一一个具有很强技术特征,同时又可以接触甚至切入很多其他行业的职业。所以程序员无论什么时候往前看,总会有一种我还有很多机会的赶脚,发展的机会比较多,想象空间也比较大。你说是自打鸡血也好,但其实不管做什么,有鸡血可打还是挺不错的一件事情。这个世界上大部分行业里的人,最痛苦的事情就是没奔头,想象不到不同的人生。这是我觉得做程序员最幸福的一点。
另外一个好处,就是其实很多其他领域的人对于那些能写程序的人打心里还是有些敬羡的。毕竟IT跟经济、金融、养生一样都是当代显学,大多数上过大学的人都曾经学过一点,但是没学通。所以对于这些学通了还能以此为生,甚至不知道什么时候就能赚到钱还能让满世界傻逼都羡慕的码农,其实很多人都是有点小羡慕的。同样牛逼的土木工程师、会计,甚至更牛逼的数学家、物流学家、航空航天工程师,就得不到这种羡慕。
说工作本身相对单纯,那也是真的。什么叫单纯?单纯就是你可以很清楚的知道在你的 career 里有哪几个 KPI,而且知道怎么达标这几个 KPI。很多工作,尤其是商务和政府相关的工作,你可能要花一辈子时间琢磨你的 KPI 是哪些,就不用提找到达标的方法了。很多人到退休都不知道自己的成败所在。所以我能看到一些商务人士或者官员,在最风光的时候被一闷棍抽倒在地,百思不得其解。归根到底,他都不知道自己之前的风光何来。相比之下,程序员就好多了,至少知道自己为什么牛,为什么不够牛。不知道你们发现了没有,程序员是比较爱读书的,为什么呢?因为读书对程序员有用,能解决一些问题。其他行业的人不是真的没时间读书,而是因为发现读书基本没啥用,而且发现什么培训、社交甚至练酒量这那的,也都不一定有用,所以挺困惑。当然,这里的有用,完全是从功利角度出发。
所以总的来说,我觉得程序员还是挺不错的工作,只是无论做什么,都需要注意身体健康。身体垮了就万事皆休,而且这个道理只有到你身体真的垮了,或者你的至亲身体真的垮了的时候才能真的明白。
算是提供一点外部视角。
同是名牌大学的学生,不是计算机专业的同学,出路比同龄的计算机专业同学要窄的多。
非计算机专业的同学,基本没工夫考虑那么多喜欢不喜欢。另外比较有趣的一点是,完全靠专业知识就能有所成就,在中国似乎要困难一些,如何更好地”融入社会“,才是主流,而这一方面各专业基本在同一起跑线上。
最后罗嗦一下,我12岁开始学编程的时候,相当有兴趣,到了15-16岁的时候,我觉得我可以写很好很好的软件,到了20岁的时候,我觉得有无穷的力量,在 这行肯定可以做一番事业的,至于后来写了几个下载了超过500万的免费软件,那是后话了。
太励志了!
我就一条疑问,我也喜欢编程,但是为了编程牺牲自己的身体真的值得吗?最近背疼,稍微一直腰就疼,干活干着干着就没劲儿了。真是担心自己的身体,干不了几年就不行了。。(PS:工作2年)
纯码农啊,现在一抬头就觉得看到了自己的天花板,搞不好还会往下掉. 虽然现在对技术还是有很大的热情,但是受限于工作类型,以及所在城市,总感觉再怎么努力,也突破不了头顶的天花板,苦恼啊.
看了那么多,我感觉坚持做IT的分两种,第一种是非常热爱,所以一直坚持从事这份工作,另一种认为工作只是赚钱,认为IT钱多也不那么令人讨厌,所以一直做着。当然这中间界限也不是那么明确。第一种人推动了IT行业的发展,第二种人是这个行业的基础,就像金字塔的下层建筑。所以两者都不可或缺。
所以我想说的是,如果你并没有像一些人那么热爱IT,其实也可以一直做IT的,只要不是讨厌计算机就行了。我感觉我现在慢慢的从第一种转变成第二种了,我发现其实生活快乐,家庭和睦才是最让我感到舒服开心的东西,为了家庭有时候更愿意放弃一些工作的时间
是的,爱一行,干一行。
前天跟一大学朋友聚了一个。
他大学出来后,做了一年业务,天天跑,也没什么成绩。后来和朋友合伙做活性炭。开始还是选择通过装饰市场代售,结果根本卖不起来。然后转到网上,一个一个找客户。做了不够半年,朋友都退伙,就他自己一个人干下来了。客户也慢慢在增加。
然后就开始越来越多人做活性炭,居然有人假冒他的牌子。利润太薄了,于是转行,做儿童用品。
现在的生活就是,一个人单挑研发,其余时间就打包发货。也有一个产品亏几千亏几万的时候。
他说,从来没想过会有什么风险,也没想过会有什么竞争。反正他知道自己不愿意天天坐办公室等下班。现在这种,有单就做,忙时忙点,闲时就出去旅行,才是他自己喜欢过的生活。
请教一下,“architect 转型做咨询,譬如consultant”,是做技术方面的consultant的吗?感觉比例还挺低的,就业机会也很少?
感觉除了这个,其他基本是转产品、业务和纯coordinate管理了,做程序员的经验值留存的基本是soft skill吗?
纯疑惑讨论,非质疑。