阅读更多

研发管理
博文推荐 谈谈对程序员的培养  

2012-04-13  作者 RayChase  编辑 wangguo 有80360人浏览
本文来自RayChase(四火)的ITeye博客,这些内容是作者的一些想法和感悟,非常值得一读。

原文如下:

这篇文章是我好久以来的想法,有一些感悟,有一些激烈的言辞,我很自豪我就是一名程序员,我希望给程序员或者前程序员们带来一点启发。也许你认可我的言辞,也许你不屑我的观点,无论如何,欢迎谈谈你的看法。

让程序员做更多种类的事

为什么有人说小公司锻炼人?在小公司,条件并不那么齐备,很多事情都需要程序员自己做,自己去澄清需求、自己做设计、自己搭建环境、自己测试,甚至自己上线、自己维护(这件事情在我们团队被称为“自己吃自己狗食”)。

然而到了某些公司,在一些正规的流程下,“人”反而显得不那么重要了:一个完、整的流程被切分成若干环节,程序员只能负责那小小的一环,更严重的是,他们显示出消极和片面的情绪,他们称自己码农,自嘲并且觉得在总做一些低级和毫无技术含量的事情。

关于“码农”——这似乎是一件很悲哀的事情,在美国,程序员是一个相当值得尊敬的行业,去年硅谷的技术员工年薪平均已经超过10万美元;在中国,教师的行业起码获得了人们口头上的尊敬(虽然实质上也许并没有获得应有的待遇),而程序员,往往只能看到自己给自己呐喊。

这里没有绝对的对错之分,但我一直在博客中强调软件开发实质是一种创造性的劳动,只是在一个流程严格控制的公司内,这样的创造的火花可能被扼杀,换来的好处是人员的流动中,代价最小化:谁都可以走、谁都可以代替谁,所有问题都被认为只是时间问题……那么,程序员,你的自我价值何在呢?

关于测试

我听到很多真实的声音,都在抱怨测试工作乏味、加班辛苦。我认为,国内大部分的测试,其实完全是程序员扭曲的工作形态导致的。

专职的测试人员去做专项测试、整个系统的集成测试等等,我都能理解,但是绝对不应当深入模块内部去测试开发人员的代码,绝对不应该去考虑所谓的代码覆盖率——因为这些,比如白盒测试,本都是程序员自己该完成的事情。程序员自己开发的程序,当然要自己验证功能,很多软件公司在一些项目流程里就是没有专职测试介入测试执行,原因很简单,难道自己拉了稀,让别人给你擦屁股?

另一方面,测试该掌握哪些技能?

我见过许多测试人员,他们抱怨工作总是被轻视,没有说话的分量,但是每天的工作就是了解开发的流程,根据流程完成用例的编写,然后执行那些用例,发现bug并填写bug report。如果一名测试只需要做这些事情,那么确实太没有技术含量了、太没有入门门槛了,太单调乏味了。

测试需要成长,既为自己考虑,也为团队中的程序员考虑。

做一名优秀的测试,除了要有分析能力、辨识能力等等软实力以外,基础技能如通信协议、脚本、编译原理、操作系统等等,亦视情况掌握,只有这样,才能和程序员从并不清晰的需求开始,一起去分析、设计、实现和质量保证、去和上上下下的环节做沟通、论证。微软的测试(QA)都把算法和编码视为基础要求,敢问国内一些公司的测试人员,有几个敢这么说?

让程序员远离浮躁

去看看国内几家知名博客和论坛,多少浮躁的博文和帖子四处乱飞?多少人在骂公司狗血,在自嘲薪水,甚至在人身攻击?

浮躁的心态可能是造成这种现象的罪魁祸首,有一位同事说得好,很多具体的技术都可以学,但是执着的心和对技术的热爱是不容易学得的。

整个社会都在日益浮躁,微博的流行正验证了社会浮躁的趋势,很多人没有时间和耐心去写完整的文章,但是两三句感慨、甚至一词半句的惊叹却容易得多;程序员像寻找速配男女一样,在这个概念翻飞的时代,茫然地寻找自己应该进入的领域,应该了解的技术,于是,很容易看到许多所谓的架构师和咨询师可以把这些东西讲得海阔天空、天花乱坠,这个概念、那个素语,但是——给他一个具体问题吧,要他写写实际代码吧,你会要了他的命。

给程序员一点宽松和鼓励

都在说国内的IT环境不如欧美,大量劳动力的富余让人力成本变得无比廉价,能让青年付出卖肾代价以购买大部分配件都“Made In China”的iPhone,中国却只获得了1.8%的利润,这些都让人感叹,为什么中国做不出苹果系列这样的产品?为什么中国始终要给别人套上“廉价劳动力”的帽子?中国的程序员,你们的创造力呢?你们精彩的点子呢?

好吧,我听到有人在说是教育体制的问题。对于程序员的地位的思考有很多,可惜我们不是教育工作者,我们也没有那么大的影响力,不过,在团队中间,我们应当多给予这些脆弱的程序员们一点鼓励,让他们表达出自己的想法,特别是在设计上、实现上的想法,不要嘲笑任何人弱智,不要咒骂评审的代码狗屁,多一点沟通,把眼光放长远一些。

这些能表达出想法的人起码可以证明两点:有思考、有勇气,仅这两点,仅足以让旁观的人鼓掌。

一名优秀的Team Leader,不应该整天陶醉在跟踪项目进度和获取程序员工作反馈上。我们都明白,所谓一张一弛,在工作压力恰当的时候,是最适宜工作的,程序员的工作本来就需要创造性,没有适度宽松的环境,就没有思维的火花。

让程序员自己去布置工作台,给他们创造机会聊聊天,把各个团队、各个角色放到一起说说话,组织分享一些有趣的话题,做一些有意思的研究(最初程序员都很腼腆,得劳烦您多牵线搭桥了),Team Leader的工作,绝不仅仅是说“行”或“不行”。

程序员的理想

1983年,乔布斯对百事可乐的CEO John Sculley说:“Do you want to sell sugar water for the rest of your life, or do you want to change the world?”(你想卖一辈子糖水,还是改变世界?)就这样,一段传奇的合作开始了。

我们已经不在战火纷飞的年代,有多少程序员还愿意怀抱那些原始的理想,还能说出“做互联网的弄潮儿”、“用技术改变世界”这样的话来?

这个世界执着的人并不多,用这样的理念去吸引程序员的公司,则更少。

关于技术

我始终觉得,做软件的公司是需要依赖于技术的,当然国内可以称得上是“技术公司”的并不多,但是,优秀的技术能让程序员脱颖而出,也作为一种谋生的手段,为其觅得不错的回报。

做技术能不能一直有饭吃?我想答案是肯定的,有许多公司声称技术路线可以一直有发展的可行性,但是技术牛人还是转了管理或者一走了之,有一种粗暴但是易行的鉴别技术公司的办法,就是寻找里面有没有40岁,甚至50岁以上还在做实际设计和编码的人(不是那些脱离了具体实现向客户吹嘘的角色)。

世界上有两种最赚钱的人,一种是真正的生产者,他们用自己独一无二的聪慧、灵感和劳动创造了价值;一种是极其老道的投机者,专门从别人口袋里把钱掏出来放到自己口袋里。他们都受人尊敬、受人瞩目,后一种让自己的生活变得更美好,但是前一种,让整个世界更美好。

如果你不能在技术的道路上坚决地走下去,在大部分公司做市场、做管理、做咨询,顺便鄙视一下别的辛苦工作的程序员,那么也可以混得很好——毕竟,生活的解总是有很多种。


相关推荐

  • 《Hadoop系列》Docker安装Hadoop

    1.安装docker 2.docker安装Hadoop

  • 在docker中安装Hadoop

     tar -xzvf zookeeper-3.4.11.tar.gz/opt/zookeeper-3.4.12配置环境变量vim /etc/profilve        # 添加如下内容        export ZOOKEEPER_HOME = /opt/zookeeper-3.4.12        export PATH = $PATH:$ZOOKEEPER_HOME/bin配置zook...

  • 创业者绝对不能干的事

    2010年eBay以年收入44倍的价格收购Skype公司引起了广泛关注,Skype公司2010年的 销售 额为6000万美元。这起购并行为本身就体现了对于新技术的价值判断开始变得实际起来。普华永道公司(PricewaterhouseCoopers)新兴...

  • 美国创投七十年

    美国创投七十年 名川资本 王求乐 华尔街俱乐部 7月9日 ...【引子】 欲专一行,先通其史。拿破仑建议军人们反复研读亚历山大、汉尼拔、凯撒、古斯达夫等名将的战史,并效法他们,他说:“这是成为伟大统帅和寻求兵法奥秘...

  • 创业者应避免的六件事

    去年eBay以年收入44倍的价格收购Skype公司引起了广泛关注,Skype公司去年的销售额为6000万美元。这起购并行为本身就体现了对于新技术的价值判断开始变得实际起来。普华永道公司 (Pricewaterhouse Coopers)新兴企业...

  • 创业小常识:创业者绝对不能干的事

     2010年eBay以年收入44倍的价格收购Skype公司引起了广泛关注,Skype公司2010年的 销售 额为6000万美元。这起购并行为本身就体现了对于新技术的价值判断开始变得实际起来。普华永道公司(PricewaterhouseCoopers)新兴...

  • Ten Rules for Web Startups

    但很多人太心切,太怕错过这村没这店,所以往往来者不拒,最终将会后悔。  以用户为中心:用户体验就是一切。你的整个公司都必须建立在这上面,如果你不懂什么叫以用户为中心的设计,赶快学,雇用懂的人。把对的...

  • WEB创业的十条规则[转载]

    放 轻松,很多时候,偶然的需要让你的服务更有价值,就像Skype上偶然发生的对话。既然生活本身就是随意的、偶然的,不要总是试图限制用户。 4、挑剔:这一点适用于很多方面:服务的特性、员工、投资者、合作伙伴、...

  • Web创业的10条戒律[转]

    放轻松,很多时候,偶然的需要让你的服务更有价值,就像Skype上偶然发生的对话。既然生活本身就是随意的、偶然的,不要总是试图限制用户。 挑剔: 这一点适用于很多方面:服务的特性、员工、投资者、合作伙伴、记者...

  • Web创业的10条戒律

    放轻松,很多时候,偶然的需要让你的服务更有价值,就像Skype上偶然发生的对话。既然生活本身就是随意的、偶然的,不要总是试图限制用户。 挑剔: 这一点适用于很多方面:服务的特性、员工、投资者、合作伙伴、...

  • 给网络创业者的十大建议~

    放轻松,很多时候,偶然的需要让你的服务更有价值,就像Skype上偶然发生的对话。既然生活本身就是随意的、偶然的,不要总是试图限制用户。 4、挑剔:这一点适用于很多方面:服务的特性、员工、投资者、合作伙伴、...

  • 二十岁决定男人的一生

    没有富爸爸给你提供大笔财富,买彩票中百万的几率又相当于遭雷击的几率,而像高燃那样得到贵人慷慨解囊的机会,即便像高燃那样有才华、有恒心、有勇气,也要费尽九牛二虎之力才能得到,更何况,你不一定具备高燃那般...

  • 前端Mock的使用,用于构造动态数据

    适用于前端开发,前端构建动态数据

  • SQL语句的基本用法案例.pdf

    “SQL语句的基本用法案例”的文档,是一份非常实用的学习资料,为初学者和进阶者提供了丰富的SQL操作示例。通过这份文档,读者可以系统地了解SQL语言在数据库管理中的应用,掌握从创建数据库到删除数据库的整个流程。 文档开篇便介绍了如何创建一个新的数据库,并详细说明了选择数据库、创建表以及插入数据的具体步骤。这不仅为读者展示了SQL语句的基础用法,也为后续的查询、更新和删除操作打下了坚实的基础。 在查询数据部分,文档通过多个示例展示了SQL查询的灵活性和强大功能。无论是查询所有学生信息,还是根据特定条件筛选数据,都能通过简单的SQL语句实现。此外,文档还介绍了如何计算学生的总数、平均年龄等统计信息,以及如何对数据进行排序和限制结果。 除了基础的增删改查操作,文档还深入介绍了子查询、连接表以及窗口函数等高级用法。这些功能在实际应用中非常常见,能够帮助用户解决更为复杂的数据处理问题。 此外,文档还提供了清晰的代码示例和注释,使得读者能够轻松理解每个步骤的含义和目的。同时,文档的语言简洁明了,逻辑清晰,使得学习过程更加轻松愉快。

  • node-v7.7.4-sunos-x86.tar.gz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

  • 基于QT+C++开发的球球大作战游戏+源码(毕业设计&课程设计&项目开发)

    基于QT+C++开发的球球大作战游戏+源码,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 基于QT+C++开发的球球大作战游戏+源码,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 基于QT+C++开发的球球大作战游戏+源码,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 基于QT+C++开发的球球大作战游戏+源码,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~

  • 浪潮CH5280H2海光服务器兼容vSphere集群服务方法

    hygon-vmware_patch_v2.7

  • PHP开发虚拟资源在线交易平台程序源码 含多接口 支付功能.rar

    PHP开发虚拟资源在线交易平台程序源码 含多接口 支付功能.rarPHP开发虚拟资源在线交易平台程序源码 含多接口 支付功能.rar

  • 智慧工厂数字工厂三维数据可视化方案.pptx

    智慧工厂数字工厂三维数据可视化方案.pptx

Global site tag (gtag.js) - Google Analytics