`
highriver
  • 浏览: 71765 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

银弹和我们的职业

    博客分类:
  • java
阅读更多
http://blog.csdn.net/SystemBug/archive/2007/06/28/1669785.aspx
编程是不是有前途的职业?30岁以后一定得转行?工作外包到越南怎么办? 新技术层出不穷,怎么才能跟上技术发展的趋势?工具越来越牛,以后编程像组装乐高积木怎么办?也许俺比较孤陋寡闻,看到的消极观点多。比如这里,还有这里。积极的观点少。像云风那样的铁杆编程迷更为罕见。嘿嘿,我没有答案。前天重读Frederick P. Brooks的《没有银弹》,有点感想而已。

《没有银弹》的中心思想是软件开发的困难分为两类。一类是暂时困难(accidental difficulty),另一类是本质困难(essential difficulty)。暂时困难可以通过技术的进步来解决。比如说检查句法错误就是暂时困难,写出绘制窗口的代码也是暂时困难。现代IDE基本解决了这些问题。而本质困难没有工具或技术可以消除。B老大争辩道,软件的本质是一堆互相作用的抽象结构:数据,算法,关系,函数调用。。。这些抽象结构应该尽量独立于表现它们的具体形式。所以说,软件编程的本质困难在于写出这些抽象结构的规范,设计这些抽象结构,和测试这些结构的正确性。注意哈。B老大说,如果上述判断正确,那么世上便没有银弹。幸好,到目前为止B老大的判断颠扑不破。

银弹和我们的职业发展有什么相干?很简单:我们得把时间用于学习解决本质困难。新技术给高手带来方便。菜鸟们却不用指望被新技术拯救。沿用以前的比喻,一流的摄影师不会因为相机的更新换代而丢掉饭碗,反而可能借助先进技术留下传世佳作。因为摄影的本质困难,还是摄影师的艺术感觉。热门技术也就等于相机。不停追新,学习这个框架,那个软件,好比成天钻研不同相机的说明书。而热门技术后的来龙去脉,才好比摄影技术。为什么推出这个框架?它解决了什么其它框架不能解决的问题?它在哪里适用?它在哪里不适用?它用了什么新的设计?它改进了哪些旧的设计?Why is forever. 和朋友聊天时提到Steve McConnell的《Professional Software Development》里面引了一个调查,说软件开发技术的半衰期20年。也就是说20年后我们现在知识里一半的东西过时。相当不坏。朋友打趣道:“应该说20年后IT界一半的技术过时,我们学的过时技术远远超过这个比例。具体到某人,很可能5年他就废了”。话虽悲观,但可见选择学习内容的重要性。学习本质技艺(技术迟早过时,技艺却常用长新)还有一好处,就是不用看着自己心爱的技术受到挑战的时候干嚎。C/C++过时就过时了呗,只要有其它的系统编程语言。Java倒了就倒了呗,未必我不能用.NET?Ruby昙花一现又如何。如果用得不爽,换到其它动态语言就是了。J2EE被废了又怎样?未必我们就做不出分布系统了?这里还举了更多的例子。

一句话,只有人是真正的银弹。职业发展的目标,就是把自己变成银弹。那时候,你就不再是人,而是人弹。

分享到:
评论

相关推荐

    java工程师职业软实力

    Java工程师在IT行业中扮演着重要的角色,他们不仅需要掌握编程语言本身,还需要不断提升自己的职业软实力,这包括但不限于...通过阅读和实践相关书籍,我们可以不断磨练这些软实力,从而在职业生涯中取得更大的成功。

    人月神话.pdf.rar

    职业的乐趣 职业的苦恼 第2章 人月神话 乐观主义 人月 系统测试 空泛的估算 重复产生的进度灾难 第3章 外科手术队伍 问题 Mills的建议 如何运作 团队的扩建 第4章 贵族专制、民主政治和系统设计 概念的完整性 ...

    人月神话---软件工程

    1. **《没有银弹》的重印**:在第16章中,重印了1986年IFIPS会议上的文章《没有银弹:软件工程的根本和次要问题》,该文章进一步阐述了软件工程面临的挑战和限制。 2. **对批评的回应**:在第17章中,Brooks对《没有...

    软件工程人月神话

    在《没有银弹:软件工程的根本和次要问题》这一章节中,Brooks提出了软件开发中不存在“银弹”的观点。这意味着没有单一的技术、工具或方法能够显著提高软件开发的生产力或解决所有软件工程问题。他强调,软件工程的...

    人月神话 中文版 软件工程必读书籍

    书中提出了许多深刻的观点,如“人月”概念、“没有银弹”理论等,对于理解和改进软件项目的管理和开发流程具有重要意义。 #### 二、作者介绍 Frederick P. Brooks, Jr.是一位著名的计算机科学家,以其在IBM 360...

    设计模式Java版

    设计模式是软件工程中的一种最佳实践,用于解决在软件开发过程中常见的问题,提供了一套可...无论是初学者还是有经验的开发者,都应该投入时间去学习和掌握设计模式,因为这将对他们的职业生涯产生积极且深远的影响。

    人月神话.pdf

    2. **银弹理论**:在《没有银弹:软件工程的根本和次要问题》一文中,Brooks提出了“没有银弹”的观点,认为在未来十年内不会出现能够显著提升软件生产率的技术或者方法。这一观点引发了业界广泛的讨论。 3. **本质...

    编程思想\设计模式精简

    设计模式是软件工程中的一种重要概念,它代表了在特定情境下解决问题的优秀实践和可重用解决方案。...理解并掌握设计模式,不仅可以使我们的代码更加专业,也是提升个人编程技能和职业发展的重要步骤。

    人月神话 软件工程经典书籍

    - 第16章收录了他在1986年IFIPS会议上发表的文章《没有银弹:软件工程的根本和次要问题》,探讨了软件生产力提升的可能性和局限性。 - 第17章回应了针对《没有银弹》一文的批评,并更新了其中的观点。 - 第18章总结...

    提升一点编程的乐趣

    首先,我们来看《程序员自我修养》这本书,它通常涵盖了作为一名程序员应有的态度、习惯和职业道德。书中可能讨论了如何编写可维护的代码,如何进行有效的团队协作,以及如何持续学习和适应新技术。这些都是编程旅程...

    软件工程——程序员进阶

    总的来说,通过学习《人月神话》和《软件工程——实践者的思考》,程序员可以深化对软件设计和项目管理的理解,掌握设计思想和架构设计的精髓,从而在职业生涯中不断提升自我,实现进阶。无论是理解历史上的里程碑,...

    <日月人神> 软件工程经典著作

    - **20周年纪念版**:在保持原版内容不变的基础上,增加了新的章节,如《没有银弹:软件工程的根本和次要问题》以及作者对过去二十年间软件工程领域发展的回顾和思考。 - **特别贡献**:书中还提到了几位对作者...

    软件工程-人月神话

    Brooks的职业生涯非常丰富,不仅参与了IBM Stretch和Harvest计算机的设计工作,还担任了IBM 360系统及其操作系统的项目经理。由于这些贡献,他与Bob Evans和Erich Bloch共同获得了1985年的美国国家技术奖章。 #### ...

    THE_MYTHICAL_MAN-MONTH人月神话

    - **职业生涯亮点**:除了IBM 360系统之外,Brooks还曾在IBM Stretch和Harvest计算机项目中担任架构师。他在北卡罗来纳大学创建了计算机科学系,并在1964年至1984年间担任该系主任。此外,他还曾在美国国家科技局和...

    人月神话(软件工程的书)

    是一位著名的计算机科学家,他在IBM公司有着卓越的职业生涯,尤其是在IBM 360系统的发展中扮演了关键角色,这一成就使他与Bob Evans和Erich Bloch一同获得了1985年的美国国家技术奖。除了在IBM的工作,Brooks还在...

    软件开发基本原则借鉴.pdf

    首先,要避免典型错误,如设定不切实际的期望、缺乏规划、功能蔓延和过分依赖所谓的“银弹”解决方案。其次,需要建立坚实的开发基础,包括有效的计划编制、需求管理和技术评审等。第三,实施风险管理,以评估和控制...

Global site tag (gtag.js) - Google Analytics