- 浏览: 388824 次
文章分类
最新评论
-
小尜:
写的很详细,也很简单,一看就懂。多谢啦。
关于工厂模式和spring的IOC -
fjjiaboming:
代码排版!!!!!
JDBC事务和JTA (XA)事务 -
fjjiaboming:
排版有问题吗? 望交流.
做人有三个层次 -
fjjiaboming:
看来数据库连接池 必须用JNDI 注册在容器 , 对吗?
JDBC事务和JTA (XA)事务 -
fd1803:
SSL工作原理:http://www.wosign.com/B ...
SSL(Server Socket Layer)简介
最近读了一篇非常有趣的文章,原文是英文,和大家共享,其大概意思是:
管程序员就象是养蜂人管蜜蜂一样。养蜂人怎么管的呢?养蜂人其实并不能和蜜蜂沟通,谁会说“蜂语”啊。但他们可以把蜜蜂放在一个舒适的蜂房里,这样他们自动就会采蜜了,你顺手就可以拿走蜂蜜。:)
对程序员是类似的,把他们弄到一个舒服的环境里:工资比他们想要的高,以至于不会用了(当然,比你的预算还是要便宜);这些蜜蜂会嘤嘤嗡嗡自己形成社会,程序员会自己评价自己,就象沉迷在打游戏里的家伙一样,谁的话都听不进去,就只愿意写好的软件 - 这和艺术家和战士一样。
软件公司怎么失控的和完蛋的?通常是来了一个有个性的管理人员,这老兄一看,这帮程序员怎么这么 …… 不顺眼啊?脏兮兮,乱糟糟,不配合,他们看起来是多无趣的一群人啊!最糟糕的是,他们还笑话你!于是对他们进行管理 …… 这下规范了,但是,程序员们被伤害了,他们被要求要参加会议,做计划,写报告,严格按照流程,千万千万不要去动别人的代码!程序员觉得自己就象过起了外星人的生活 …… 于是,最好的程序员走了,有的开始怠工,甚至破坏 …… 蜂房毁了。管理者舒服了,因为好像事情开始受控了,大家开始打领带了;但是 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.
发表评论
-
[软件人生]什么是程序员
2008-09-06 19:18 1115一个大专学历想做程序员的朋友和我的对话,很短,我觉得,至少能说 ... -
世上没有B/S系统,只有B系统和S系统. (转载)
2007-10-28 23:02 1140世上没有B/S系统,只有B ... -
从原则出发的软件开发(转载)
2007-06-24 18:57 1201原文:http://gocom.primeton.co ... -
关于java 的methode的内存区域问题
2007-06-12 14:49 1390用java这么长时间了,对于static method 大家都 ... -
java中静态方法和非静态方法覆盖的区别
2007-06-12 14:07 4767首先我们提供两个类,基类为Parent,派生类为Child。在 ... -
关于继承初始化的精典试题 (转载)
2007-06-07 15:50 1227一、 class First { void tt() { ... -
关于synchronized
2007-05-30 21:17 1131synchronized 关键字,它 ... -
关于Connection的问题
2007-05-29 09:48 1165最近在看Datasource时候想到,datasource是数 ... -
0碎的知识
2007-05-26 15:57 11271.软件设计模式针对的是代码片段的复用,而SOA实施中讨论的是 ... -
关于工厂模式和spring的IOC
2007-05-23 18:35 7992原文转之: http://gocom.primeton.com ... -
appfuse中/mainMenu.html的定向问题
2007-05-08 22:26 1560找了半天,终于找到了 : http://blog.matr ... -
JSTL介绍
2007-05-02 14:07 2893使用JSTL改进JSP来简化网 ... -
Robbin推荐的java类书籍
2007-04-30 20:54 1320http://www.iteye.com/article/52 ... -
候捷谈Java反射机制
2007-04-08 14:19 1231Java反射机制<o:p></o:p> ... -
JDBC事务和JTA (XA)事务
2007-04-03 21:10 21889事务简介 一般情况下,J2EE应用服务器支持JDBC事务、 ... -
inline函数的用法小议(转载)
2007-03-14 15:22 8496inline函数的用法小议( ... -
关于java的JIT知识
2007-03-14 13:42 15947刚看Practical java ,对jit ... -
当前Java软件开发中几种认识误区
2007-03-12 21:07 1287当前Java软件开发中几种 ... -
在websphere上安装动态高速缓存监控器
2007-02-07 20:49 3603动态高速缓存的安装和配置 这一节探讨如何安装和配置动态高速缓存 ... -
SSL(Server Socket Layer)简介
2007-02-07 19:52 2157SSL(Server Socket Layer)简介 在网络 ...
相关推荐
这种矛盾使得产品更新滞后,大客户开发受阻,加上互联网泡沫破裂带来的冲击,杰合伟业最终走向了消亡。 快步易捷则依托宝供物流等大客户和IDG的投资,定位为供应链管理解决方案供应商。它为宝供定制的XDI系统,成功...
这些损失不仅包括经济损失,还包括可能对用户个人安全、环境、公司利益等方面造成的损害。测试能够揭示缺陷的根本原因及其影响,有助于提高软件的可靠性、可用性、性能、兼容性等多方面质量属性。 软件测试的核心...
在这个阶段,UCDOS是中文环境下不可或缺的软件,由北京希望公司开发。它提供了一个中文平台,使得用户能够在DOS系统中输入和显示中文字符。UCDOS的一个显著特点是它可以不重启系统就进行安装和卸载,这在当时是一项...
过程则定义了软件从诞生到消亡的整个生命周期,它包括了定义、开发和维护等一系列阶段。软件生命周期通常按照问题定义、可行性研究、需求分析、总体设计、详细设计、编码和单元测试、综合测试以及软件维护等阶段进行...
软件生存周期模型描述了软件从构思到消亡的各个阶段,包括可行性研究、需求分析、设计、编码、测试、部署和维护。不同的软件工程模型有瀑布模型、敏捷模型、螺旋模型等,每种模型都有其适用场景和优缺点。 软件测试...
相比CPU的通用运算和复杂逻辑处理,GPU要想代替CPU来运行操作系统和系统软件,是不是有点越俎代庖的艺术夸张了。 因此,在这场大论战中,CPU和GPU谁更重要?这仍然是一个open question。市场将会选择谁更重要。任何...
软件生存周期涵盖了从概念形成到软件消亡的全过程,包括可行性研究、需求分析、设计、编码、测试和维护等阶段。对应的模型有多种,如瀑布模型、增量模型、螺旋模型等,这些模型描述了软件开发的不同方法和迭代方式。...
2. **生命周期模型**:生命周期模型描述了软件从构思到消亡的整个过程,常见的模型包括瀑布模型、迭代模型、螺旋模型等。每种模型都有其适用场景和优势,选择合适的模型对于项目的成功至关重要。
中国软件公司可能面临的劣势包括核心技术不足、品牌影响力有限、国际市场竞争激烈等,需要通过持续研发、合作与创新来克服。 3. 中国的企业是不是需要一个伟大的产品? 伟大的产品对于企业发展至关重要,能提升企业...
这对于科技公司来说,意味着要么变革求生,要么衰败消亡。苹果和IBM,作为本文的案例,为我们展示了两家科技巨头是如何应对这一挑战,并取得生存与发展的。 IBM的故事是关于创新和适应变化的典范。面对时代变迁,...
微软和IBM等传统软件公司也在积极平衡云计算和内部部署系统。 8. 裸机应用的增长 裸机应用继续增长,这种模式意味着用户可以租用硬件资源(CPU、内存和存储空间),但需自行提供软件堆栈。 9. Oracle公司的关键...
- **Adobe的态度**:Adobe作为一家领先的软件公司,在过去的13年里通过Flash推动了Web交互体验的发展。同时,Adobe也是Web标准化的重要支持者,其产品Dreamweaver对W3C的Web标准和CSS样式标准的支持非常显著。Adobe...
许多依赖用户付费的电子杂志平台因违反互联网免费原则而逐渐消亡,只有那些适应市场变化、不断创新的企业得以生存。 iebook超级精灵作为电子杂志制作软件的领头羊,其发展历程颇具代表性。iebook早在2003年底成立,...
这包括软件编码、系统架构设计、数据库设计、硬件配置等。开发团队会使用各种工具和技术来创建满足需求的信息系统,并进行单元测试和集成测试,确保系统的正确性和完整性。 3. **生产阶段**:系统开发完成后,进入...
例如,Netscape网景公司的崛起和消亡,揭示了在竞争激烈的市场中,技术和商业策略的重要性。商业软件的成功不仅取决于技术,还包括市场定位、竞争策略等因素。 3. **行业门槛的提升**:软件行业的初期门槛较低,但...
15. 禁止公司内部网络的用户私自设置拨号上网不能保障公司网络边界的安全,因为攻击者可能通过其他途径入侵。 16. 安全审计的主要作用不包括性能测试,性能测试通常是为了评估系统的运行效率,而不是安全审计的关注...
4. 适合公司的管理系统类型:某软件公司希望采购的管理系统应能覆盖全公司的生产经营管理,并允许灵活组合功能模块。ERP(Enterprise Resource Planning)系统可以满足这一需求,因此选项B是正确的。 5. 客户关系...
2.2 软件生存周期:包含了从概念形成到软件消亡的全过程,包括计划、需求分析、设计、编程、测试和运行维护等阶段。 2.3 任务与工作产品:主要任务包括需求分析、系统设计、实现、测试和产品交付,每个阶段都有相应...
4. 某软件公司希望采购的管理系统覆盖各方面且能灵活组合,符合ERP(Enterprise Resource Planning,企业资源规划)系统的特性,因此B选项正确。CDS(Customer Data System,客户数据系统)、CRM(Customer ...