1.软件开发流程
目的是为了提高软件开发、运营、维护的效率,以及提升用户的满意度、软件的可靠性和可维护性。
2.软件开发的职业概念
- IC:individual contributor,即单个(模块开发)成员
- LOC:Line of Code,即代码行数,用于描述任务量大小;也常用功能点(function point)表示
- re-work:返工;次数越低表示代码质量越好
- 交付:一是指code complete时交付给测试人员;二是指软件最终发布的时候交付给顾客。就软件开发而言,一致的、稳定的交付时间是衡量一个员工能力的重要方面。
- CRUD:一般的信息系统,涵盖create/retrieve/update/delete(构建/检索/增加/删除)
3.软件工程师的成长衡量标准
- 积累软件开发的相关知识,提升技术技能
- 积累问题领域的知识和经验
- 对通用的软件设计思想和软件工程思想的理解
- 提升职业技能(区别于技术技能;指的是自我管理等方面的能力)
- 实际成果
4.技能的反面——problem solving
【其实这个说法不容易理解,因为我们(至少是我)所理解的“技能”的表现形式就是“解决问题”。但是作者的意思在于:能够称之为“技能”的项目,是你(或者我)已经机械化地精通低层次问题、用时间和脑力正在去思考高层次问题的项目。比如,以C语言为例,我应该对基本语法烂熟于心、对数据结构也已经很有研究、正在思考的是如何对C代码进行时间效率和空间效率的改进】