让程序员做更多种类的事
为什么有人说小公司锻炼人?在小公司,条件并不那么齐备,很多事情都需要程序员自己做,自己去澄清需求、自己做设计、自己搭建环境、自己测试,甚至自己上线、自己维护(这件事情在我们团队被称为“自己吃自己狗食”)。
然而到了某些公司,在一些正规的流程下,“人”反而显得不那么重要了:一个完、整的流程被切分成若干环节,程序员只能负责那小小的一环,更严重的是,他们显示出消极和片面的情绪,他们称自己码农,自嘲并且觉得在总做一些低级和毫无技术含量的事情。
关于“码农”——这似乎是一件很悲哀的事情,在美国,程序员是一个相当值得尊敬的行业,去年硅谷的技术员工年薪平均已经超过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岁以上还在做实际设计和编码的人(不是那些脱离了具体实现向客户吹嘘的角色)。
世界上有两种最赚钱的人,一种是真正的生产者,他们用自己独一无二的聪慧、灵感和劳动创造了价值;一种是极其老道的投机者,专门从别人口袋里把钱掏出来放到自己口袋里。他们都受人尊敬、受人瞩目,后一种让自己的生活变得更美好,但是前一种,让整个世界更美好。
如果你不能在技术的道路上坚决地走下去,在大部分公司做市场、做管理、做咨询,顺便鄙视一下别的辛苦工作的程序员,那么也可以混得很好——毕竟,生活的解总是有很多种
分享到:
相关推荐
文章标题为“程序员人生之路”,从这个标题我们可以看出文章的核心内容是关于程序员这一职业的生活和职业发展道路的。文章描述中提到,这篇文章是关于程序员职业规划方向的分析,其中不乏深刻的见解和评论,表明文章...
程序员的人生感悟,很简单的道理,希望对每个人都有帮助吧
《程序人生》是一本以程序员的生活、工作与奋斗为主题的书籍,它通过一系列的故事,揭示了程序员在技术海洋中不断探索、学习与成长的过程。这本书旨在激励那些正在或即将步入编程领域的读者,为他们提供启示和指导,...
从候捷的分享中,我们可以提炼出以下几个关键的IT行业相关知识点: ### 1. IT行业与个人兴趣和资质 候捷的经历表明,虽然他在大学时期选择了与IT无关的专业,但在接触IT领域后,他发现了自己对编程的兴趣和天赋。...
文章标题“程序员深思人生”以及描述中的“你预见过自己5年的职位吗?”这一经典面试问题,引出了程序员对自身职业生涯的思考与规划。 #### 1. 职业生涯的不同阶段 - **不朽的程序员**:这是一种理想状态,指的是...
这里为你收集整理了关于毕业设计、课程设计可参考借鉴的资料一份,质量非常高,如果你投入时间去研究几天相信肯定对你有很大的帮助。到时候你会回来感谢我的。 本资源是经过本地编译测试、可打开、可运行的项目、...
程序员专属表情包,搞笑,轻松,斗图神奇!!!!!!!
### 程序员的人生规划 #### 职业与兴趣的选择 对于很多人而言,成为一名程序员,更多的是出于对未来的考量以及对稳定收入的追求,并非是源于内心深处对编程技术的热爱。这种观点认为,从事程序员工作仅仅是一种...
本文将深入探讨模式编程的核心理念、常见模式以及它如何改变程序员的人生。 一、模式编程的概念 模式编程源于“设计模式”这一概念,由《设计模式:可复用面向对象软件的基础》一书中的“GoF四人组”提出。设计模式...
程序人生 这些文章包括普通的,有名的的程序员的经历,还有一些让人深思的程序员问题, 我把它们分成奋斗篇,中国篇,外国篇,反思篇,如果你想进入程序设计的世界,这 些文章应该能给你一些启示,也一定能给你一定的鼓励! ...
"中国顶级程序员的技术人生.pdf" 以下是从文件的标题、描述、标签和部分内容中生成的知识点: 技术人生 技术人生是指程序员的职业发展和个人成长的过程。在这篇文章中,作者分享了自己的技术人生经历,从实习到...
这是一个很经典的人生哲理,对于程序员,对于任何人,都应该看看,面对困难,面对生活,面对人生,希望大家永远拥有自己的信念
### 程序员的人生之路该怎么走 在探讨程序员的人生之路该如何规划时,我们首先要明确一个事实:随着年龄的增长和个人职业发展的变化,每个阶段都会有不同的挑战与机遇。尤其是在程序员这样一个技术更新迅速、竞争...
程序人生 : 30岁,我的程序员梦想 本文是作者红桥(雪燃)的程序人生经验总结,讲述了作者从一个业余的程序员到实现程序员梦想的经历,分享了作者的十大“精华”经验,旨在激励和鼓励程序员朋友们继续努力和坚持...
It人生(关于程序员发展道理的文章), 有多章都是从程序员上摘取的
4. 程序人生路:雷军认为,程序人生路是漫长的,需要热爱写程序,热爱电脑世界的美妙,并且是一个完美主义者。 5. 电脑世界的美妙:雷军认为,电脑世界太美妙,电脑远没有人那么复杂。如果你的程序写得好,你就可以...
程序员述职报告5篇....程序员述职报告需要涵盖技术、面向对象编程、设计模式、asp.net实现模型、管理和人生等多方面的内容,旨在帮助程序员总结一年来的工作经验和技术成长,并为未来的职业发展和人生规划提供参考。
程序员的人生之路 本文是软件开发人员的人生之路指南,总结了作者六年的工作经验,旨在帮助所有的软件工程师们提高自己的软件专业技术。下面是文章中提到的七个重要经验: 1. 学历代表过去、能力代表现在、学习力...