软件开发的核心基本能力是理解和表达事物的能力
2015-08-27 21:03
232 查看
软件开发的核心基本能力是理解和表达事物的能力。 为什么这么说呢?
从与主管、客户、产品经理和项目经理沟通的角度来说,你需要能够理解他们说话的语境和背景,从而推敲其真正的意图;需要真正理解他人的需要和意图;表达只有在真正理解的基础上进行才是有效和有份量的;这里的理解指“自然语言层面的”。
从熟悉业务和产品的角度来说,你需要能够理解现实中的事物、事务以及相互的关联,并简明扼要地绘制出来;这里的理解指“分析语言层面的”。
从开发程序的角度而言,需要对所要处理的事物的性质和规则有深入的了解,能够理解抽象的概念、模型和设计思路。这里的理解是“计算语言层面的”。
在实际开发活动中,需要在有限的时间内处理潮涌而来的大量事务,理解不断涌现的各种新的思想和技术以及新的发现,在必要时作出恰当的反应和行动,包括优先处理重要紧要的事情、需求和项目,适当的忽略和放弃。这即对一个人的理解和表达能力提出了“速度”和“敏捷度”的高要求。
纵观我们的软件开发活动,无非是在持续不断地理解话语、理解事物、理解事务、理解软件设计以及表达自己的观点、完成所学所能中完成的。
提升理解能力的两大基本要件:
适当地运动、休息和饮食,保证健康的身体状况; 放开心灵,观察和探索整个的世界,深入细致地去理解和分析事物。
如何深入地理解和分析事物呢?
(1) 对事物的理解从具象的形式到抽象的意义。比如圆形意味着阻抗低;锁意味着隐私;房子意味着庇护;盆意味着开放性容纳等。
(2) 探索事物的性质和运行规则集合。比如物理学定律;适当的缓存能提升效率;
(3) 搜集信息弄清楚事情的背景和语境。
软件开发的核心基本能力是理解和表达事物的能力。 为什么这么说呢?
从与主管、客户、产品经理和项目经理沟通的角度来说,你需要能够理解他们说话的语境和背景,从而推敲其真正的意图;需要真正理解他人的需要和意图;表达只有在真正理解的基础上进行才是有效和有份量的;这里的理解指“自然语言层面的”。
从熟悉业务和产品的角度来说,你需要能够理解现实中的事物、事务以及相互的关联,并简明扼要地绘制出来;这里的理解指“分析语言层面的”。
从开发程序的角度而言,需要对所要处理的事物的性质和规则有深入的了解,能够理解抽象的概念、模型和设计思路。这里的理解是“计算语言层面的”。
在实际开发活动中,需要在有限的时间内处理潮涌而来的大量事务,理解不断涌现的各种新的思想和技术以及新的发现,在必要时作出恰当的反应和行动,包括优先处理重要紧要的事情、需求和项目,适当的忽略和放弃。这即对一个人的理解和表达能力提出了“速度”和“敏捷度”的高要求。
纵观我们的软件开发活动,无非是在持续不断地理解话语、理解事物、理解事务、理解软件设计以及表达自己的观点、完成所学所能中完成的。
提升理解能力的两大基本要件:
适当地运动、休息和饮食,保证健康的身体状况; 放开心灵,观察和探索整个的世界,深入细致地去理解和分析事物。
如何深入地理解和分析事物呢?
(1) 对事物的理解从具象的形式到抽象的意义。比如圆形意味着阻抗低;锁意味着隐私;房子意味着庇护;盆意味着开放性容纳等。
(2) 探索事物的性质和运行规则集合。比如物理学定律;适当的缓存能提升效率;
(3) 搜集信息弄清楚事情的背景和语境。
相关文章推荐
- Android不编译某个模块
- Metasploit(四)--Msfpayload命令
- [C++11 并发编程] 13 使用期望等待一次性事件
- UVa 1584 Circular Sequence
- Photoshop图像处理算法—对比度调整(老版功能)
- Android中Preference的使用以及监听事件分析
- canvas贝济埃曲线
- [HDOJ3065]病毒侵袭持续中
- Makefile汇总
- window10 问题
- iOS开发之有趣的UI —— 基础控件与经典案例
- BZOJ 1488 [HNOI2009]图的同构 Polya定理
- 【转载】ACM总结——dp专辑
- 透明与Z序示例
- Websocket 概述
- RAID的简单认识
- UVa 1583 Digit Generator
- Hbase coprocessor获取数据
- 设计一个聊天服务器
- Session与Cookie