技术人生:故事之四十七 走出个人英雄时代

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/baiedu/article/details/48621677

故事之四十七 走出个人英雄时代
从别人的经验中学习,将更加快速跟上发展的步伐!
1. 开发工具易于掌握。软件开发过程中,开发工具的学习和使用已经非常普及,大多数开发工具提供了很好的开发环境,并容易让学习者掌握,同时,出版物种类繁多,提供大量可以参考的技术资料。使得越来越多的人能够自学的方式掌握一种或多种开发工具的使用。

2. 技术的先进性和熟练性已经不是决定软件开发的关键因素。大多数技术人员由于在日常工作学习中有机会和条件接触很多技术,但是对于技术的运用和与用户实际工作的结合掌握不好,这主要是,软件编程人员很少有机会掌握其他方面的知识,如人事管理,贸易销售,行政办公,库存业务等其他行业的工作,除非有机会作一个项目。但是,开发的软件往往又是给这些非 IT 行业人员使用,经常导致长期的需求和不断的代码修改,打“持久战”成了所有软件项目的共性和必然之路。而软件爱好者们付出的努力则是相当巨大的,很多时间是在学习一个新的学科,同时还要掌握技术。这种高要求导致了个人的成就感和成功过程及其漫长。技术的先进性和熟练性已经不是决定软件开发的关键因素。

3. 用户需要软件,不是 IT 需要。因为历史的原因,喜欢软件技术的人员更倾向掌握新技术和更多的工具,同时喜欢研究一些所谓的“软件产品”,而一个真正的产品的出现,无论什么行业,都是依据市场和用户的需要,那种闭门造车的产品肯定是失败的,失败的评判标准不是技术,而是是否有人需要(购买)。软件的成功也是如此,也是按照经济规律的,否则软件成了无源之水,无本之木。但由于软件技术的难度和高度抽象,无法让新来者和职业人员一下子就成为熟练工种,能够制造想象的产品。高投入几乎成了希望开发“产品”的公司和个人的必经之路。这主要因为,所谓开发团队,其实还是一个个的软件人员组成,带有浓重的个人色彩和特性,同时自我创造的机会和个性是无法回避的,那么,一个团队开发不是简单的一起用力搬石头,而是融合创造力和技术的共性,管理难度很大。这必然导致个性的作用影响最终的软件。也就是,仍然需要提高个体的“软件意识”和“用户需求意识”。真正站在用户角度理解技术和设计思想以及原则。

4. 软件开发没有试验田。没有用户愿意软件开发成为自己的试验田,也不愿意提供试验田,等待软件开发人员试验出自己需要的东西。这种投资对于用户要求过高。而大多数软件从业者、爱好者恰恰需要这种实验田来“体验生活”,如同写作一样——也许软件和艺术都具备创造性这一点,导致了他们的共性。如何能够自己建立实验田,预先就进行试验,使自身技术升华为一种技能,一种切实可行的手段,是很多软件开发者希望的。这样能够极大缩短他们的研发周期,也就延长了他们的技术生命。同时,面对用户的需要,也就具备了一种能力和一种思维,快速成为用户的内行。

5. 设计思想成为软件开发的核心。目前的软件开发已经不是简单的工具的使用和编码没有 BUG,而是灵活运用技术实现用户业务。这样就需要设计思想,如同掌握了汉字只能是能够表达自己的意思,但要成为作家,还需要创意和灵感,需要“设计故事以及情节”。软件也是一样,只是掌握技术而不懂得设计或不具备设计思想的人,只能是高中毕业,认识了所有的汉字而已,还不是由自我创造力的“软件工程师”。之所以如此,仍然是因为以上四点的现实困难导致的。如何能够具备一种设计能力,成为软件行业的非常重要的问题。

6. 源代码中蕴含深刻的设计思想。而软件的设计思想都体现在代码中,大家都知道,如果看到了源代码,则通过分析研究,就可以掌握或了解软件的设计思想。如果只是看到可运行的软件,则很难猜出其中的设计思想和关键点。反编译的方法对于今天的软件已经无能为力,因为现在的程序已经不是简单的汇编或过程设计了。看到了代码,就看到了本质,就可以快速掌握软件的灵魂,并学到了精华。再结合自身的技术特点和优势,则极大提高“工程化”的进度。

展开阅读全文

没有更多推荐了,返回首页