最近读了一篇非常有趣的文章,原文是英文,和大家共享,其大概意思是:
 
管程序员就象是养蜂人管蜜蜂一样。养蜂人怎么管的呢?养蜂人其实并不能和蜜蜂沟通,谁会说“蜂语”啊。但他们可以把蜜蜂放在一个舒适的蜂房里,这样他们自动就会采蜜了,你顺手就可以拿走蜂蜜。:)
对程序员是类似的,把他们弄到一个舒服的环境里:工资比他们想要的高,以至于不会用了(当然,比你的预算还是要便宜);这些蜜蜂会嘤嘤嗡嗡自己形成社会,程序员会自己评价自己,就象沉迷在打游戏里的家伙一样,谁的话都听不进去,就只愿意写好的软件-这和艺术家和战士一样。
软件公司怎么失控的和完蛋的?通常是来了一个有个性的管理人员,这老兄一看,这帮程序员怎么这么……不顺眼啊?脏兮兮,乱糟糟,不配合,他们看起来是多无趣的一群人啊!最糟糕的是,他们还笑话你!于是对他们进行管理……这下规范了,但是,程序员们被伤害了,他们被要求要参加会议,做计划,写报告,严格按照流程,千万千万不要去动别人的代码!程序员觉得自己就象过起了外星人的生活……于是,最好的程序员走了,有的开始怠工,甚至破坏……蜂房毁了。管理者舒服了,因为好像事情开始受控了,大家开始打领带了;但是Bug开始成堆出现,市场丢失,最后,关门大吉。
 
英文原文:
Software - How Software Companies Die
By Orson Scott Card
The environment that nutures creative programmers kills management and marketing types - and vice versa. Programming is the Great Game. It consumes you, body and soul. When you're caught up in it, nothing else matters. When you emerge into daylight, you might well discover that you're a hundred pounds overweight, your underwear is older than the average first grader, and judging from the number of pizza boxes lying around, it must be spring already. But you don't care, because your program runs, and the code is fast and clever and tight. You won. You're aware that some people think you're a nerd. So what? They're not players. They've never jousted with Windows or gone hand to hand with DOS. To them C++ is a decent grade, almost a B - not a language. They barely exist. Like soldiers or artists, you don't care about the opinions of civilians. You're building something intricate and fine. They'll never understand it.
BEEKEEPING
Here's the secret that every successful software company is based on: You can domesticate programmers the way beekeepers tame bees. You can't exactly communicate with them, but you can get them to swarm in one place and when they're not looking, you can carry off the honey. You keep these bees from stinging by paying them money. More money than they know what to do with. But that's less than you might think. You see, all these programmers keep hearing their parents' voices in their heads saying "When are you going to join the real world?" All you have to pay them is enough money that they can answer (also in their heads) "Geez, Dad, I'm making more than you." On average, this is cheap. And you get them to stay in the hive by giving them other coders to swarm with. The only person whose praise matters is another programmer. Less-talented programmers will idolize them; evenly matched ones will challenge and goad one another; and if you want to get a good swarm, you make sure that you have at least one certified genius coder that they can all look up to, even if he glances at other people's code only long enough to sneer at it. He's a Player, thinks the junior programmer. He looked at my code. That is enough. If a software company provides such a hive, the coders will give up sleep, love, health, and clean laundry, while the company keeps the bulk of the money.
OUT OF CONTROL
Here's the problem that ends up killing company after company. All successful software companies had, as their dominant personality, a leader who nurtured programmers. But no company can keep such a leader forever. Either he cashes out, or he brings in management types who end up driving him out, or he changes and becomes a management type himself. One way or another, marketers get control. But...control of what? Instead of finding assembly lines of productive workers, they quickly discover that their product is produced by utterly unpredictable, uncooperative, disobedient, and worst of all, unattractive people who resist all attempts at management. Put them on a time clock, dress them in suits, and they become sullen and start sabotaging the product. Worst of all, you can sense that they are making fun of you with every word they say.
SMOKED OUT
The shock is greater for the coder, though. He suddenly finds that alien creatures control his life. Meetings, Schedules, Reports. And now someone demands that he PLAN all his programming and then stick to the plan, never improving, never tweaking, and never, never touching some other team's code. The lousy young programmer who once worshiped him is now his tyrannical boss, a position he got because he played golf with some sphincter in a suit. The hive has been ruined. The best coders leave. And the marketers, comfortable now because they're surrounded by power neckties and they have things under control, are baffled that each new iteration of their software loses market share as the code bloats and the bugs proliferate. Got to get some better packaging. Yeah, that's it.

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1152937

“插花问题”的动态规划法算法相关推荐

  1. tsp问题动态规划python_用Python解决TSP问题(2)——动态规划算法

    本介绍用python解决TSP问题的第二个方法--动态规划法 算法介绍 动态规划算法根据的原理是,可以将原问题细分为规模更小的子问题,并且原问题的最优解中包含了子问题的最优解.也就是说,动态规划是一种 ...

  2. 用动态规划法求解TSP问题

    一.求解TSP问题 1.问题描述 TSP问题(担货郎问题,旅行商问题)是指旅行家要旅行n个城市,要求各个城市经历且仅经历一次然后回到出发城市,并要求所走的路程最短 各个城市间的距离可以用代价矩阵来表示 ...

  3. MATLAB实现动态规划算法,基于Matlab的动态规划算法的实现及应用

    陈甜甜 [摘要]介绍了动态规划的基本理论,包括动态规划的基本概念和基本原理,并针对生产与存储问题进行了分析,然后结合Matlab做了编程处理,使复杂问题简单化,从而使问题能更方便地得到解决. [关键词 ...

  4. 最长上升子序列(Longest increasing subsequence)

    问题描述         对于一串数A={a1a2a3-an},它的子序列为S={s1s2s3-sn},满足{s1<s2<s3<-<sm}.求A的最长子序列的长度. 动态规划法 ...

  5. 天天肝大厂面试题,邮储银行Java笔试

    常见应用案例 如[一三年蓝桥杯省赛Java组真题]( )"剪格子"就是采用典型的回溯法思想: package 一三年省赛真题;import java.util.Scanner;pu ...

  6. Educoder实验五硬币抽选问题

    任务说明 本关任务:编写动态规划法算法,求解硬币抽选问题. 相关知识 为了完成本关任务,你需要了解实验目的和实验内容. 实验目的 (1)熟悉动态规划法的基本设计思想. (2)掌握动态方程的推导过程. ...

  7. python动态规划组合数最大_编写用动态规划法求组合数()的算法。

    ,动态规划法是把多阶段过程转化为一系列单阶段 问题,利用各阶段之间的关系,逐个求解,创立了解决这类过程优化问题的方法 .我把它 转化为 Cmn=C(m-1)n+C(m-1)(n-1) 来求解. 2. ...

  8. 五大经常使用算法 之 动态规划法

    一.基本概念 动态规划过程是:每次决策依赖于当前状态.又随即引起状态的转移. 一个决策序列就是在变化的状态中产生出来的,所以,这样的多阶段最优化决策解决这个问题的过程就称为动态规划. 动态规划是运筹学 ...

  9. 重温经典算法系列: 动态规划法

    题记: 曾经享受于算法的或新颖或优美或简洁,也曾经因领会熟知算法在一些考试.竞赛(如软考和软件开发比赛)和工作中屡试不爽,但是,近来一段时间,对于算法这种灵魂类的东东似乎少有染指,实为遗憾,非常危险: ...

  10. 算法设计与分析--01背包问题(动态规划法解决)

    算法设计与分析--01背包问题(动态规划法解决) 参考文章: (1)算法设计与分析--01背包问题(动态规划法解决) (2)https://www.cnblogs.com/2228212230qq/p ...

最新文章

  1. mysql+select+unlock_MySQL的locktables和unlocktables的用法(转载)
  2. Grid Infrastructure 的较好的例子
  3. mysql多列索引用处_MySQL索引使用说明(单列索引和多列索引)
  4. windows上使用的免费连接linux终端xshell6,xftp6下载
  5. 树链剖分+线段树 单点修改 区间求和 模板
  6. 均值滤波 中值滤波 高斯平滑滤波
  7. python实现杨辉三角形博客园_Python实现杨辉三角
  8. 丰田要建专属自动驾驶测试场,再也不用共享了
  9. 20190818 On Java8 第八章 复用
  10. 【有利可图网】PS教程:用滤镜打造3D立体文字效果
  11. Django 解决CSRF 跨域问题总结
  12. 计算机本地连接没有有效ip配置,本地连接没有有效的ip配置,详细教您本地连接没有有效的ip配置怎么解决...
  13. java机顶盒_Java技术在数字电视机顶盒中的应用
  14. 题解报告:P2404 自然数的拆分问题(dfs+回溯)
  15. 百度离破产只有30天
  16. 使用sklearn库进行数据标准化处理
  17. 纯css打造超能陆战队--大白
  18. 华为手机刷屏老显示服务器出错,华为手机刷机出现update exception emmc is readonly解决方法...
  19. 将ushort改装为byte的快捷方法
  20. 智慧幼儿园—助力幼儿园脱颖而出,快人一步

热门文章

  1. jquery绑定esc事件
  2. linux下sftp指令快使用无介绍版(一)
  3. 音乐播放器-图片切换-轮播图效果
  4. usingcomponents 未找到
  5. 关于HLS之m3u8小结
  6. 北大青鸟告诉你初学Java注意什么?
  7. 【源码+文档】贪吃蛇大作战小游戏
  8. python 图灵机器人微信代码_Python-微信图灵机器人
  9. 免费引擎开启收费模式,大家怎么看?
  10. 雨果奖颁奖日:与16年雨果奖得主郝景芳的一次有关女生事业与梦想的对谈 | 遇荐AI...