(接前一篇,继续)

  • 第五重:技术变化快,积累上不去

设想一下,一个10年前的高手,这10年他什么也不学,那他今天会是什么样的一个状况。

我个人估计是快被淘汰了。

这是个极端的例子,但回顾一下软件的发展历程你会发现,新技术的出现是爆炸式的。

在DOS的时代里,软硬件的距离非常近,你只要会一种语言,了解基本算法和数据结构,再了解计算机硬件的知识,你就可以写大部分的程序。

接下来软件和硬件间的层次越来越多,Windows加上一层,Java虚拟机加上一层,浏览器加上一层,Flash等再加上一层,诸如此类。

每多一层技术的种类就增加一些。这就导致软件开发人员同时面对两类压力:一是项目上的时间压力,一是技术更迭上的学习压力。但偏偏一个的时间是有限的。

很多时候特定工作岗位会限定关联技术的范畴,如果自身不做点安排,那就真成吃“青春饭”的了。

  • 第六重:究竟谁干的好,谁干的不好

大多时候,考评不能每个人都打A,否则就成了吃大锅饭的。

可在软件的世界里,一旦要分个你好他差,难度就出来了。

根据实绩判断,一个人很难全面理解很多人的工作。如果团队规模少于10人,这类的判断还存在可能性;如果超过10人,那么误判的几率会直线上升,除非是天才。

根据数据,大多数据真的不能用来评价软件开发人员。生产率、Bug率这些是一定不行的,圈复杂度这类歧义性很小的指标勉强可用,但说明的问题会比较片面。

根据感觉和印象的话,多少有些草菅人命的感觉。

于是考评大多时候总是天怒人怨的考评,而天怒人怨的程度很多时候取决于当事人的在意程度。

  • 第七重:弟兄们意见很多,统一很难

软件很重要的一个特质就是仁者见仁,智者见智。

观点的差异有的时候是是非问题,但大多时候是视角问题,是横看成岭侧成峰式的。

而软件团队大多时候在两个极端间徘徊:要么没意见,要么很多意见。

很少有团队会是在合适的时候有合适的意见---这是政治家干的事,程序员不大做的来。

没意见的团队实是兵无战心的团队,其实更差,这里不去说他。

有意见的团队协调起来比较很辛苦。

程序员群体里大致上是越优秀的越容易固执己见,所以大致上越优秀的团队吵得越多,越凶。

但不管怎么样,最终的选择只有一个。这时候,不能只靠行政力量去拍,要在理解各种想法后,结合外部需求,时间压力,人员状况去协调。

这事其实很不容易。

  • 小节

一定程度上讲,这七重苦很难根绝。

好多即将做软件的或做的时间不长的同仁大多时候关注的是新技术,是创造性;但就和阳光下总有阴影一样,不管方法如何更迭,总有些东西无法彻底改善。

所以想做软件的,并想坚持做软件的,要有点心理准备,不能梦想的太美,那样回头会比较失落。

风光的活是有的,脏活累活也很多,有了这样的心理预期,才能在做软件中找到快乐。

说了这么多,倒不是悲观。

有些问题即使没法彻底解决,但程度上还是不一样的。

痛苦在那种程度上是事在人为的主战场,这点上做和不做差别很大。

假如一个人不把眼光只局限于某个项目,而是把视野扩展到整个软件开发所对应的方法论,那么关注现实中的痛苦,则是有所得得前提。

关联文章:

软件开发人员的“七重苦”(1)

--------------------------------------------------------------

理想流 + 软件 = 《完美软件开发:方法与逻辑》
理想流 + 人生 = ??
理想流 + 管理 = ??
理想流 = 以概念和逻辑推演本质,追求真理。

转载于:https://www.cnblogs.com/daoshi/archive/2012/02/07/2340788.html

软件开发人员的“七重苦”(2)相关推荐

  1. 旧文重发:程序员的七种武器

    这篇文章发表在<程序员>杂志2007.03期的专辑"程序员的武器大家谈"中. <程序员>:请谈谈您所定位的优秀程序员应该有哪些技能?您是怎样理解程序员七种武 ...

  2. 软件开发人员的内功修炼之道

    摘要:数学修养对软件开发之路起着什么作用?码农如何修炼自己的内功并成长为优秀的软件开发员?带着相关思考,社区之星第10期采访了中南大学副教授--刘伟.他对数学修养.设计模式.软件架构和重构方面的独特见 ...

  3. 推荐一本程序员、软件开发人员职业生涯指南的书

    当我说到"优秀的软件开发人员"时,我并不是说要精于编码之道,善于解决缺陷,通晓单元测试.相反,我所说的"优秀的软件开发人员",是那些能够把控自己的职业生涯.达成 ...

  4. 专访刘伟:软件开发人员的内功修炼之道

    摘要:数学修养对软件开发之路起着什么作用?码农如何修炼自己的内功并成长为优秀的软件开发员?带着相关思考,社区之星第10期采访了中南大学副教授--刘伟.他对数学修养.设计模式.软件架构和重构方面的独特见 ...

  5. 谈判如何在谈判中_工资谈判软件开发人员指南

    谈判如何在谈判中 The following is an excerpt from The Complete Software Developer's Career Guide by John Son ...

  6. 人员离职it检查_公司软件开发人员离职信_检讨书

    公司软件开发人员离职信 _ 检讨书 公司软件开发人员离职信 尊敬的领导: 我很遗憾自己在这个时候向公司正式写出辞职报告. 来到 ** 公司 也快两年了, 正是在这里我开始踏上了社会, 完成了自己从一个 ...

  7. 软件开发人员不愿意写文档

    软件开发人员不愿意写文档, 我想这主要指的是刚参加工作时间不长的工作人员. 真正的老 鸟是不会这样的.我说说自己的看法,希望大家讨论. 1. 软件开发的大环境不好 软件开发行业在中国的兴起也就是十几年 ...

  8. 软件开发人员为什么不愿意写文档

    2015年第一篇文章,看到这篇文章很多都戳到自己的痛点了,呵呵!转载一下,以示训诫 原文:http://www.51testing.com/html/41/n-197641.html 软件开发人员不愿 ...

  9. 上海区块链会议演讲ppt_演讲和会议的软件开发人员指南

    上海区块链会议演讲ppt 软件开发会议提供了许多机会来促进您作为软件开发人员的职业发展. 正如我们在网络一章中讨论的那样, 参加会议可能是一个很好的网络机会 ,但是它们也是向该领域一些最高级程序员学习 ...

最新文章

  1. 给程序媛妹子的4个贴心建议
  2. mysql8安装错误_Windows安装MySQL8.0.16 的步骤及出现错误问题解决方法
  3. AdapterView及其子类之三:基于ListView及ArrayAdapter实现列表
  4. pandownload 卢本伟_PanDownload复活了!60MB/s!附下载地址
  5. 一个html文档的开始标记,如何在Python中只向HTML文档添加一个开始标记
  6. linux c 编译器安装,安装 GNU 的 C/C++ 编译器
  7. WPF TreeViewItem
  8. 如何判断各个IE浏览器版本
  9. Oracle Share Pool工作原理
  10. SQL Server 2008每天自动备份数据库
  11. 多多云手机多少钱一月_多多云手机一机分身千变万化 高亢性能体验更加流畅...
  12. 12种无线接入方式简析
  13. MTK处理器手机 解锁Bootloader 教程
  14. 2021秋软工实践个人作业一
  15. 【NLP】余弦定理计算文本相似度
  16. Go 每日一库之 viper
  17. 微信小程序页面跳转后不显示内容
  18. excel转java 常量_【转】八种常见Excel错误提示及解决方法
  19. 图像显著性论文 (一)-----(三)
  20. Makefile中的“-I”(大写i),“-L”(大写l),“-l”(小写l)

热门文章

  1. LINUX的“脏奶牛”
  2. qt for 3520a
  3. 10.11 arping:发送arp请求
  4. HTML实时显示任务状态,如何监视后台任务进度和完成 (HTML)
  5. 雷凌linux车机ssh,OpenWRT自动挂载支持
  6. linux下gem卸载,gem 安装卸载pod
  7. 非标准化的阀门企业也在用钉钉宜搭实现数字化转型
  8. 从人工到机器智能,盗版监测在 AI 时代如何破局?
  9. GTS来了!阿里微服务架构下的分布式事务解决方案
  10. php数组制作查找筛选页面,php利用array_search与array_column实现二维数组查找