代码改变世界

关于程序员在30岁、35岁之后怎么办的新思考

2010-06-14 10:40  Virus-BeautyCode  阅读(18707)  评论(57编辑  收藏  举报

  首先给大家问个好,祝大家节日快乐!

  我这个问题好像也有点“月经贴”的意思,但是觉得要比语言之争的月经贴有价值的多,最起码算是思考,人生指导,领航吧。

  好几天没有写博客了,大家也会发现,前段时间我每天都写一篇,都是晚上或者是早上起来写的。近几天感觉熬不动了,有点想歇一歇的意思。为什么呢?我才三十岁,怎么会精力不够用呢?当然了,世界杯是一个因素吧。

  今年一直在深度加班,最近感觉自己身体确实不如五年前了,不如20岁的时候了。那时候学习到2、3点才睡觉,第二天早上继续开工,没有问题。最近感觉熬不动了,晚上十一、二点就困的不行了,早上也起不来,起来的话,上午就有点精力不够。

  我给自己的定位就是技术,我对纯的管理也不感冒,技术经理,架构师,首席架构师,技术总监,如果有机会的话,可能是这个发展路线。目前来说,就是个技术经理,正在向架构师转变,发现需要学习的东西更多了,精力还真是不太够用的。还有就是思考的角度要转变,不能以程序员的角度思考软件,要站的高一点,要全面,自己还要看过(最好是做过)很多这方面的东西。首先从整体来思考系统,然后分解,逐步分解、细化,最细的就是程序员的代码了,那个由他们来按照规范编写,要去把握整体的结构,整体的设计,整体的模式。

  另外一个我认为较为重要的就是,需要对团队的开发人员做培训。最近我也发现了,虽然我们用的都是面向对象的语言。但是代码一点都不面向对象,除了写了class,因为不写class也没有办法编程啊。但是很多时候大家对于类的设计都没有认真的思考,而且大家的认识也不够深入,有必要在这方面提高大家的水平。封装、继承、多态,不是简单的类、继承、写个接口,就真的是那么回事了,很多时候我们还需要深入一点,越是基础越重要。还是那句话:出来混,迟早要还的。

  公司每天都在抱怨进度为什么慢,我也在思考为什么慢呢?每天都在加班,周末也在加班,就是快不起来,都很努力了,没有人偷懒,为什么没有产出呢?我觉得就是这个面向对象的能力没有提高,写代码的时候卡住了,业务清楚了,流程清楚了,觉得代码也就是两天,为什么5天了,还是差一点呢?我决定就是代码功力不够造成的,如何提升呢?一是要靠自己多思考,下班多花点功夫练习,不是单纯的练习手敲代码的速度,而是对自己的代码重构,模式,思考怎么提高代码复用性,怎么才能让自己写的代码不是改来改去呢,要做之前先想一想,设计一下。只有在这方面下工夫了,才能真正的提高开发效率,减少加班的频率。二就是公司要组织这方面的训练,抽出一半天的时间,来个面向对象的头脑风暴,出几个小题目,大家一起讨论,在完成的过程中学习,锻炼思考能力,设计能力。三就是专事由专人来做。我不推荐让程序员参与业务讨论和定位,因为做业务和开发是两种不同的思维方式。做开发是很严谨的,业务则是很灵活的。四就是不要外行领导内行,会很惨的,至少进度会拖后很多。

  难道这就是大家说的30岁之后要转型吗?在国内30岁之后真的写不动了吗?于是这几天顺便就做了一个思考。发现了一个惊天大秘密(哈哈)。发现了为什么30岁就写不动了呢?为什么国外的程序员,很多都是40、50还可以继续写呢?而且写的很享受的样子,我们就需要转型到管理呢?但是管理就像是金字塔,越往上越小,需要的人越少,不是每个人都可以做到管理的位置,况且不是每个人都适合做管理的。难道写程序没有出路吗?不是的,这纯属是有些人的谬论,误导了不知道多少人啊,至少我是这么认为的。

  大家也许会说是环境因素、社会问题。是的,这些因素是影响到了我们程序员的生涯,但是他们不是主要因素,而且这些不是一天两天可以改变的,也不是我们一个两个就可以改变的,就像革命一样,需要时间,需要人来牺牲,需要前赴后继,积累到一定程度才可以变革。

  我觉得我们可以控制的,又是主要因素的就是我们自己。至于30岁以后写程序没有前途的论调,可以用一句话解释。

  30(35)岁写20岁的程序。

  怎么解释呢?就是说30岁写的程序还是20岁的时候写出来的样子,没有发展,没有变化。那肯定干不过20的小伙子了,他们可以加班、熬夜,但是我们怎么办,身体根本不允许你那么干了,肯定就不行了。老板就觉得要30岁的还不如要20岁的呢?20岁的还可以更少的工资,更好忽悠,30岁的老油条,不好忽悠,而且产出也不行了,那就辞掉吧。

  其实是我们自己断了自己的后路,是我们自己没有成长,还在写20岁时候写的代码,没有长进。在代码的设计(且不说架构设计)方面没有长进,所以写出来的还是较为混乱的,牵一发而动全身的代码。如果让年轻人改,他可以熬夜该,但是我们就不行了,所以都说30岁就不能写程序了。其实决定权在我们自己,要在20-30岁之间,提升自己,就算不想做架构,只想写程序,也要越写越精炼,要有自己的一套,要提升代码的功力。要学习设计模式,重构,要思考代码的结构,不是一上来就写一大丢,然后推到重新来过,那样肯定干不过年轻人的,哪有那个精力啊,是不是呢?

  只想写程序也可以,但是一定要想办法,在30岁的时候不要在写20岁的代码,否则就真的没有前途了,甚至要早点回家了,因为你干不过20岁的小伙子啊。

  希望大家不要在30岁的感慨,希望大家作出改变。改变这个潜规则。

  我这个观点一出来,肯定会有很多人赞成,也会有很多人反对,欢迎大家一起讨论。

  最后,再给大家问个好,节日快乐!