5

程序人生--老程序员,忧伤的话题...

 8 months ago
source link: https://www.jdon.com/32768.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

程序人生--老程序员,忧伤的话题...

“在我想写程序,而且能写程序的时候,我成了某某经理,成了某某主管,成了某某总。整天说一些言不由衷的话,做一些枯燥乏味的事,想一些没有结论的问题。我的薪水增加了,超过了身边最优秀的程序员,但我觉得很累,没有成就感。”
疑惑的是,欧美IT行业中为什么知天命之年的老将挑大梁的比比皆是呢 而在中国老程序员却成为忧伤的话题,三十过后被迫转向管理?我很不解...

请benq大哥说得明白点,谢谢

引用benq大哥说的:"不要使用Myeclipse这些带插件的Eclipse,是美女蛇,一开始很吸引人,方便,但是时间长会浪.

java开发真的需要那么复杂吗?

看了一些java开源框架,感觉都太复杂了,特别是想把什么都写进XML文件的做法让人很不适应,为什么不能用.

唉,年轻是一种烦恼,老了,也是一种烦恼啊。

不过对一个项目来说,为了成功,什么都是要做的,就比如管理者的“整天说一些言不由衷的话,做一些枯燥乏味的事,想一些没有结论的问题”。当你是一个管理者的时候,想不想做已由不得你了。

我想原因也不是因为在中国,只是个人的选择吧。如果您想写代码到退休,应该也是可以的。只是那么好的经验就白白浪费了。

再不爽,用你的能力改变中国的现状。

我是年轻人,不懂乱说的,见笑。

国庆假日不要这么忧伤,这些说明你是一个对软件有兴趣 负责任的经理。

其实我想没有人能够阻止你的兴趣,作为老程序员,如果能够跟踪新技术和新思想,并和自己经验融合,对整个项目方向将起决定重要。而这些都是项目经理的重要职责所在。

打个比喻,比如我们现在提倡OOAD替代E-R建模,那么作为项目经理的你应该能够接受这个新思路,并勇于在项目中逐步推进,这是一种逐步的改革过程,因为很多程序员对OOAD这套新的,离开数据库母脐的生存方式会陌生和不知所措,那么项目经理就起了决定重要。

所以,项目经理不一定要编程,当然能够编程更好,项目经理必须认识到软件的核心是思想和方法,所以,要在新项目或原有项目中勇敢引入新思想和方法,有风险有挑战,这些动作对项目对公司对程序员都是挑战和进步,你改变的可能不只是软件,而是使用软件的人,这个工作重担很重噢。

所以,无论在什么职位,只要对软件有天生的兴趣,总会在那个位置作出有影响力的事情,从而充实自己,成事助人,自己就不会忧伤了。

祝国庆快乐。

[该贴被banq于2007年10月02日 10:05修改过]

在工作中,接触到印度软件公司开发出来的软件:整个体系架构非常清晰,按照我们的要求实现了全部功能,而且相当稳定。但是打开具体的代码一看,拖沓冗长,水平不咋样。我们自己的一些程序员就有怪话了,说他们水平真低。但是!印度人能够把软件整体把握得很好,能够完成软件,并得到相当好的设计文档。而中国人在那里琢磨数据结构、算法,界面人员就还没编码就想着是Outlook 式的还是Visual Studio式的界面。到最后就成为Code 高手,对某些特定的开发工具精通,但是就是不能保证能够把一个软件稳当、完整的开发出来。

??举个简单的例子:

??软件中需要一个列表,用来表示我们处理的事务。该类表在业务繁忙的时候将变得很大。中国人就用双向链表,抱着《数据结构》书在那里写链表的类。印度人开了一个大数组,然后就开始干。为什么印度人不用链表,他们说:1、你们给出的设备(小型机),最少具备512M内存,浪费一些没有什么。2、数组方式访问方便、效率高。看出了一拿到东西就吭哧吭哧作Code,和好好进行软件分析的不同了吗?正好前几天我有几个同事从印度回来和我们交流,那家公司是CMM4级公司. 我感受的几点:

??1. 流程重于项目

??2. QC(就是QA)独立于研发部门,专门检查研发部门的开发流程是不是按照既定流程走.如果QC觉得流程不对,他会直接上报高层, 项目肯定就此停止.

??3. 所谓的项目经理(PC)一般也是从编码人员升上来的,并不是所谓的不懂技术,一般都至少有四年以上的经验

??4. PC主要就是制定开发计划,负责协调,填写各种表格.

??5. 所有的东西(包括草稿)都有文档.

??6. 详细文档要求达到只有这个文档就可以编码的程度,一般写文档时间占60%,编码时间极少

??7. 有各种详细的review(同行评审),项目组内的,项目组之间的,客户的...

??8. 计划很详细,的确能达到小时级,但是实际情况还是误差比较大,所以他们也有加班.

??先学习UML和Rose以及RUP,不要总是要找着证据。在中国的软件开发水平下,很难给你一个好的例子,OK?中国人总是要看到一个东西有了试验田,而且稻子长得好,才换稻种。要知道在国外上述的软件开发模式的应用,大可以看看Rational网页上的story。Just do it! 一句话,中国的软件开发水平低得很。赶不上印度人,印度的软件公司可以让高中生编代码,它的软件工程水平可想而知。当然,你如果是个很牛的程序员。估计够呛,因为中国的气氛中,很牛的程序员都很难接受软件工程的。你可以测试一下自己, 看看自己适不适合现在学习软件工程:

??1、你是不是不能忍受一个编程序不如你的人做你的项目经理?

??2、你是不是觉得你的老板对客户吹牛皮、夸大自己而感到不舒服?

??3、你是不是一个拿到一个需求脑袋里第一念头就是如何实现的人?

??4、你是不是很崇拜Stallman,Linus,很讨厌Microsoft?

??5、你是不是曾经在深夜编码的时候,突然感觉到一种乏味,对Code的生涯感到一种无趣?

??1、以管窥豹──印度神话 作者:\"Kino\" 我们现在处于深深的自卑当中,感到中国的软件工程水平的低下已经是牵涉到民族劣根性的问题了。

??他们的软件教育水平: 我们招聘印度人,给应聘者出了一份与国内差不多的试卷,有基础概念和编程题目。等到他们完成后,我们这些中国的自认高手惊呆了!他们的编程题目简直象是抄袭的?程序结构,注释,变量命名就不说了吧,全部都是极其类似!反观中国的牛人、高手,每个人有自己的一套。到了新的岗位,先把前任的程序贬损一通,然后自己再开发更多的问题的代码来代替。我的公司统计,一个软件中有4个以上 CSocket版本,

??每个人都觉得别人做得差,自己再搞一套。中国人,就是这个样子,还会辩解说“我们这样有创造性”。 其实软件发展,早就走过了求伯君那个编码英雄的年代,程序员已经是个坐办公室的蓝领了。你具备拧好一个螺丝钉的能力就可以了。Code是最低级的事情了。

??2、他们许多公司的项目经理根本就不懂技术。中国的项目经理如果不能在技术上压服下属,那么下属将与他搞鬼,越是高手越喜欢搞鬼,根本不知道作软件的终极目的是从别人兜里掏钱,而在内部搞不团结。技术高手都会纠集一些对他技术上崇拜的菜鸟,与管理层作对。而印度的软件经理根本就不懂正在做的东西,许多甚至直接就是MBA,或者是领域专家(工业设计、地理专家等),而不是编码的专家。但是却能够领导大群素质良好的程序员把工作做好,没有内部不团结的情况。许多印度的程序员加入一个公司很长时间,都不知道自己整天编的代码是干什么用的。给他们的任务可能就是一个函数的声明以及该函数要实现的功能。我们呢?

??3、他们的编程人员的流动率达到30%! 他们的编程人员流动率(包括内部项目之间的流动)高达30%,可以想见他们的文档水平如何。他们的产品不依赖任何一个人,谁都可以立即辞职,产品的开发还是会正常进行。 而中国,是老板怕总工。技术骨干拥兵自重,抗拒管理。任何制定好的计划,都有可能被技术人员推翻或者跟你消极怠工。

??4、他们的开发计划能够做到小时级别。如果一个印度公司的项目经理没有上班,那么他的下属将可能不知道作什么。他们的计划一般都定到天,每个基层开发人员每天的工作量就是8小时。而我们能够给出月度计划的公司就很少,而给出的月度计划要么不可能实现,要么就可 能被取消。开发人员被初略的给个任务,他在月初,可以慢慢琢磨是做成什么样子,然后上上网,聊聊天。到了月中和月末,就开始熬夜编码。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK