93

程序员的傲慢与无知 - liulun

 6 years ago
source link: http://www.cnblogs.com/liulun/p/7898913.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.
导读:
我前面还写过一篇《程序员不适合创业》,惹来了很多非议;
今天在这里我提前说一下:
我就是程序员,我也在管程序员,我有很多很好的朋友也是程序员,
前面写《程序员不适合创业》的时候,有一个园友问我有没有创过业(那篇文章我就只回答了这一个评论),
我创过!而且不止一次!
我写这类文章就是在骂我自己!
如果你觉得对你有些许提示作用,那我就很开心了!
如果你也能像我一样,开始反思指导自己行动的思维逻辑,从而提升元认知能力,那我真是善莫大焉了!

“老子有技术,老子天下无敌!”

A公司要做一个运营管理系统;
客户给的需求不是很明确,但项目已经签了,不明确也得做;
于是几个程序员尽可能考虑将来的变化,做出来的东西还是挺灵活的,
有什么出格的要求,改改配置,稍微加点业务代码,也能让客户满意;
可是,时间是把杀猪刀!
经历过数次合同续签,无数复杂的业务,被仓促的追加进来,系统已经不受控了;
这个时候来了个新程序员,
理了理代码,发现一团乱麻,根本就理不清;
于是跟老板说:必须大规模重构!
老板早就看原来的团队不爽了,于是“临危受命”这个新程序员来操刀重构;
在改东西的过程中,新程序员去问老程序员:“这个流程引擎怎么做的这么糟糕呀!”
善良的老程序员会跟他说:“糟糕毛线!这是一个星期做出来的!你一个星期给我搞个更好的出来看看?”;
心存芥蒂的老程序员会说:“确实做的不好,还好你能来改,改好就好了!”
后面的结果,可能是这个程序员根本就搞不定这个重构工作;
也有可能搞定了这个重构工作,但时间一长,也被老板“多、快、好、省”的要求带到恶性循环中去了;
程序员有个非常关键的状态,就是:“没有什么业务功能是我满足不了的!”
(你可能从没说过这句话,但你想想,是不是潜意识里经历过或正在经历这个阶段呢?)
处于这个阶段的程序员,觉得自己手里拿着技术的“锤子”,看见什么都是钉子!
相信技术能改造眼前的一切,乃至于改造世界;
  • 这段代码放在这里毫无意义,浪费CPU,也没查到引用,直接删掉,肯定没问题!
  • 什么市场运营,不就是到处乱花钱吗?!一点技术含量也没有!
  • 那个做产品的,又要瞎哔哔了,把这么关键的功能藏在这种地方,脑壳里都是屎!
注意:说到这里,必须澄清一下;
我并不是反对程序员改造世界的意愿,
相反,我特别敬佩这样的程序员,真的是他们在推动技术的进步,环境的改善;
是他们创造了这繁荣的技术生态!
碰到这样的程序员,我大多数时候还是持鼓励的态度,甚至细心跟他们探讨执行的细节;
但值得警醒的是:
一定要放下“老子有技术,老子天下无敌!”的傲慢心态;
扎到环境中去,仔细触摸环境中的每个细节,掌握足够的信息之后,再动手改造环境;
也别因为一两次失败,就放弃初心,混到社会的大染缸里去,破罐子破摔,爱咋地咋地了;

“这家公司已经不能再给我足够的舞台和成长空间了!”

再讲另外一个现象
程序员进入一家公司,一两年之后摸清了系统的技术和业务;
脑海里就会浮现一个问题:“这家公司已经不能再给我足够的舞台和成长空间了!”
在加上这段时间内工资增幅也不是特别明显,于是就换工作;
换一家公司,可能是同行业,也可能是不同的行业;
学习新的系统技术和业务,再加上跟团队磨合,一两年之后,又出现了同样的问题!
(人力碰到这样的人,总是忍不住要问,“你前面跳槽好频繁呀,是为什么呀?”)
又进入了如前一个故事所讲的同样的恶性循环中;
直到年纪大了,心灰意懒,找一个相对清闲的工作,打发自己剩下的职业生涯。
这里最关键的一个问题,就是你要怎样的舞台和成长空间?
大部分程序员是要技术上的成长空间和更多的资源调配权力
然而一两年的时间,
你真的把先进的技术应用到你所从事的行业上了吗?
真的通过技术给产品、给公司带来了质变吗?
一两年的时间,
你真的做到了让领导和团队充分信任你?
让你的领导毫无保留的跟你共享一些信息?(团队中信息不对等是权力产生的关键)
让公司可以不计后果的让你调配资源去做你想做的事吗?
我想这么短的时间,要做到这些事,还是很难的;
造成这个现象的最关键的因素还是内心的傲慢!
傲慢会束缚你的眼界和思想,最终造就无知。
同样的澄清:我不反对你对未来的追求,我只是想让你再冷静一些,仔细思考一下,自己想要什么色彩的未来

“新手会告诉你有一百种可能,老鸟会说只有两条路可走”

碰到一个系统性的技术问题,
有些程序员,想到一个解决方案,
认真思考过,该方案没有任何问题,
于是就沾沾自喜,舍我其谁,马上动手去做了;
另外一些程序员,他们会想到很多解决方案,
于是沾沾自喜,挑一种自认为最好的方案,也马上动手去做了;
只有达到一定境界的程序员
才会坚定的跟老板说,只有通过A或者B方案,才能真正、彻底的解决这个问题;
前面两类程序员,可能永远也不会认为自己傲慢无知,
然而在当时那个状况下,他们肯定认为自己有能力解决这个问题
而且用自己的方案解决这个问题肯定是正确无误的!
软件学科是一门经验性的学科,
说白了,能力是踩坑踩出来的,
经验在这个行业的顶尖人才比拼中所占的比重是非常大的,
永远不要轻视那些持续投入,历经无数大型系统软件开发工作的老鸟!
你可能看了很多书啦,四人帮写的设计模式也读了好几遍了,说的很在理呀,但是又怎样呢?!
同样的澄清:我不是鼓吹资历!我是强调多实践!放下傲慢的姿态,多多实践!

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK