程序员的培养

作者: RayChase  来源: ITeye  发布时间: 2012-05-22 09:01  阅读: 2335 次  原文链接  全屏阅读  [收藏] 

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

  让程序员做更多种类的事

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

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

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

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

  关于测试

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

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

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

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

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

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

  让程序员远离浮躁

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

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

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

  给程序员一点宽松和鼓励

  都在说国内的 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 岁以上还在做实际设计和编码的人(不是那些脱离了具体实现向客户吹嘘的角色)。

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

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

转载于:https://www.cnblogs.com/lifesteven/archive/2012/05/29/2524154.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/410874.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[html] 你最喜欢html的哪个标签?为什么?

[html] 你最喜欢html的哪个标签?为什么? div,因为此标签是用得最多的也是最强大的HTML标签,许多其它标签也是基于此标签而产生的。个人简介 我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易, 但坚持一…

linux普通用户发送信号,Linux信号发送与作业控制

前言Linux中进程间通信又称为IPC(Inter process communication),大致上可以分为这么几类:消息队列(message queue),旗语(semerpore),共享内存(shared memory),信号(signal),Unix域套接字,socket…

[html] 写一个三栏布局,中间固定,两边自适应(平均)

[html] 写一个三栏布局&#xff0c;中间固定&#xff0c;两边自适应&#xff08;平均&#xff09; <style>html,body {height: 100%;margin: 0;padding: 0;}.container {display: flex;flex-wrap: wrap;width: 100%;height: 100%;}.content {flex: 1;}.side,.right {wid…

《图解CSS3:核心技术与案例实战》

《图解CSS3&#xff1a;核心技术与案例实战》 基本信息 作者&#xff1a; 大漠 丛书名&#xff1a; Web开发技术丛书 出版社&#xff1a;机械工业出版社 ISBN&#xff1a;9787111469209 上架时间&#xff1a;2014-7-2 出版日期&#xff1a;2014 年7月 开本&#xff1a;16开 …

对页面文章过长的处理方法

当在 一个页面显示一个文章的内容时&#xff0c;如果文章太长&#xff0c;会造成页面无限高&#xff0c;样式很不好看&#xff0c;对此我有两种解决方法&#xff1a;一&#xff0c;将内容放在<div>标签中&#xff0c;然后设置标签的style&#xff0c;具体<div style&q…

kali linux重启网络服务报错,Web安全学习笔记之在Kali Linux上安装Openvas以及启动失败修复...

现在用的kali linux是2018.1的版本&#xff0c;在安装openvas的时候报错&#xff0c;无法通过网络下载和安装openvas。主要错误是源配置错误&#xff0c;可能现在用的kali很久没更新了。一、解决和配置更新源问题apt-get upgrade报错显示无法更新&#xff0c;apt-get install o…

This document is opened by another project error message

This is quite annoying error. Finally, Ive found the problem is caused by Visual SVN VS 2008, but no further solution or path to fix this problem by Visual SVN at the moment. So I have to kick it out of my HDD. :( 转载于:https://www.cnblogs.com/javafun/ar…

linux下解压 cpio.gz格式文件

我是在安装oracle10G时从官网找的压缩吧。我个人觉得第二个好。 第一种方法&#xff1a; zcat 10201_database_linux_x86_64.cpio.gz| cpio –idmv 第二种方法 &#xff1a;第一步&#xff1a; gunzip 10201_database_linux_x86_64.cpio.gz第二步&#xff1a; cpio -idmv <…

linux脚本语句,LINUX shell 脚本语句

LINUX中shell脚本中语句的基本用法一、if ...then...fiif [ 条件判断一 ] && (||) [ 条件判断二 ]; then <if 是起始&#xff0c;后面可以接若干个判断式&#xff0c;使用 && 或 || 执行判断elif [ 条件判断三 ] && (||) [ …

Rstudio调用plot()函数时,出现错误的处理方法

按照书上的例子敲出代码后&#xff0c;发现Rstudio无法识别C盘user文件夹下的中文用户名。如下图所示&#xff1a; 按照网上的做法&#xff0c;尝试修改计算机user下的用户名&#xff0c;没修改成功。 另一种做法是在plot()函数前面加上一句dev.new(),便可绘制成功&#xff0c;…

外挂的介绍 什么是外挂

一、 前言 所谓游戏外挂&#xff0c;其实是一种游戏外辅程序&#xff0c;它可以协助玩家自动产生游戏动作、修改游戏网络数据包以及修改游 戏内存数据等&#xff0c;以实现玩家用最少的时间和金钱去完成功力升级和过关斩将。虽然&#xff0c;现在对游戏外挂程序的“合法” 身份…

linux清理备份日志,服务器日志清理备份

"历史上的今天"有没有API接口的功能想添加一个历史上今天功能。人生就像一张有去无回的单程车票&#xff0c;没有彩排&#xff0c;每一场都是现场直播&#xff0c;把握好每次演出便是对人生最好的珍惜。?《历史上的今天》有没有API接口&#xff1f;这个可以参考 Lss…

人事面试的那些问题及背后的考察点

问题 请你自我介绍一下你自己&#xff1f; 你觉得你个性上最大的优点是什么&#xff1f; 说说你最大的缺点&#xff1f; 你对加班的看法&#xff1f; 你对薪资的要求&#xff1f; 在五年的时间内&#xff0c;你的职业规划&#xff1f; 你朋友对你的评价&#xff1f; 你还有什么…

[html] 你知道短链接的生成原理吗?

[html] 你知道短链接的生成原理吗&#xff1f; 目的将长度较长的链接压缩成较短的链接&#xff0c;并通过跳转的方式&#xff0c;将用户请求由短链接重定向到长链接上去1.二种方式生成短链hash-可能会重复发号器发号压缩 URL2.短链跳转方式301 - 用户第一次访问某个短链接后&a…

股神巴菲特揭示致富的十大秘籍[转]

1. Reinvest your profits. “Even a small sum can turn into great wealth,” Schroeder writes, if you’re disciplined to not touch your profits. Let the power of compound interest work for you。   1. 把你现有的财富做再投资。就像史诺德写到过的那样&#xff1…

linux火狐浏览器49.0安装教程,火狐浏览器Linux最新版下载

火狐浏览器是一款免费开源的跨平台浏览器&#xff0c;firefox for linux引入了扩展同步机制用户能够在家用电脑和办公电脑之间进行无缝同步&#xff0c;能给用户更为流畅和高速的上网浏览体验&#xff0c;同时也让开发者能够开发出更为快速的网络应用和网站&#xff0c;有需要的…

shell与其他语言不同点

1.定义变量时&#xff0c;变量名不加美元符号&#xff08;$&#xff0c;PHP语言中变量需要&#xff09;&#xff0c;如&#xff1a; your_name"w3cschool.cn" 注意&#xff0c;变量名和等号之间不能有空格&#xff0c;这可能和你熟悉的所有编程语言都不一样。同时&am…

jquery +做CheckBoxList全选,反选

以前我们做CheckBoxList全选&#xff0c;反选&#xff0c;一般用AspxCodeFile、或者用JavaScript 现在我们可以用JQuery来帮我Easy Choose. 这里我来写三种&#xff1a; 第一种 全选 $(".checkBoxSelect").each(function() { $(this).attr("ch…

jQuery使用ajax传输xml文档在IE中无法正确解析的问题

在jQuery中使用$.get()或$.post()从服务端获取xml文档时&#xff0c;必须在服务器端将返回的Http头的ContentType设为text/xml&#xff0c;否则即使在$.get()或$.post()的最后一个参数指定了xml&#xff0c;在IE中仍然无法正确解析&#xff0c;IE会将其作为一个字符串处理&…

PPA格式Linux安装,Ubuntu12.04 用PPA安装fcitx和搜狗输入法附加组件Linux版

最近Linux的世界中&#xff0c;让人兴奋的就是LinuxDeepin12.1 Beta的发布&#xff0c;但最让人欢喜的就是随之而来的”搜狗输入法Linux版“。网上流传的在Ubuntu下安装搜狗输入法的方法实在是恼人&#xff0c;不仅安装的deb包包多多&#xff0c;而且不能apt-get update 更新。…