极客时间《软件工程之美》学完感
最近花了将进两个多月的时间,把极客时间上的专栏《软件工程之美》专栏学完了,同时也把相应的配套书本
,邹欣的《构建之法》,读完了。学完这个专栏,让我获益良多。
专栏《软件工程之美》和配套的书本《构建之法》,适合已经有编码经验工作了三四年的程序员,如果是刚毕业的
程序员可能比较无感。专栏里提到的很多内容,都是要经历了才会有比较深的感悟。
整个专栏的内容比较多,有 54 讲,涉及到软件工程的方方面面。根据我个人的理解,对内容进行了重新划分,
基础部分、开发过程和个人成长三个部分。具体看下面的图。
看一下上面的图,发现我们在日常开发中遇到的问题都会有涉及。
下面我会挑一部分出来将一下
首先是基础部分
基础部分包含工程思维和产品意识。
软件工程的诞生是为了解决软件危机,它的目的在于构建和维护高质量的软件。
说到工程,我们会想到工地上的建筑,它们是建筑工程。软件工程和建筑工程都叫做工程,它们有着很大相似之处,
例如它们的都是计划、设计、开发(施工)和发布(竣工)的阶段。以前做开发的时候总是想着自己开发的部分,没有
想过产品需求评审、测试和发布这些东西,总觉得它们和开发的关系不大。这种想法是有问题的。
工程思维的核心是能在整体而不是局部的角度去看问题。像一个版本迭代,就是一个项目工程,整个迭代过程,
需要需求评审、技术开发、测试接入、最终发版。前期需要需求评审,然后定工期,定计划表,开发、美术都
按计划表安排工作。中间还会涉及需求变更、也有因为技术难度大延期的。最后测试反馈 Bug, 进行修改到最终发版。
这样的一个迭代过程涉及非常多的过程,所以,可以利用工程的思维,用整体的角度去看待整个迭代过程。
另外作为一个开发人员不应该只是盯着自己开发的部分,还需要考虑对整个迭代工程的影响。例如发现最后时间不够、
离发版时间越来越近,这个时候就需要把一些需求砍掉, bug 也是按优先级去解决,有些影响不大的 bug ,可以放到
下个版本去解决。
作为一名程序员,平时做开发的时候要多想想,我这做是否对用户更加友好一些,而不仅仅是为了炫耀技术。技术的
价值在于它能提供商业价值。
开发部分
开发部分又分为开发前、开发中和开发后。
开发前我们会涉及到需求的分析、评审,在分析的时候多想想这个需求合不合理,有没有更好的实现方式,多问一下
产品经理这个需求是为了解决什么问题。想一想它的表层需求、深层需求和底层需求是什么。在开发周期比较紧的时候,
要学会对需求的优先级进行划分,不能眉毛胡子一把抓,能按优先级去完成相应的需求。
在开发的工程中,程序员会面临各种各样的问题,例如需求变更了怎么办、出现了 Bug 要怎么解决、怎样提高开发效率
等等这些问题。在专栏里面都会有详细的论述。
开发后的阶段往往是我们比较容易忽略的,特别是项目复盘。进行良好的项目复盘,可以把经验变成能力。对项目进行
复盘,通过分析、讨论开发总出现的问题,进而总结成功经验,吸取失败的教训,提升团队能力。
个人成长部分
个人成长部分有论述一个软件软件工程师的核心竞争力和成为架构师的能力。
在专栏中有一张图说明软件工程师竞争力金字塔。
最底层、最基础的就是学习能力,通过学习能力,快速掌握新技术;
中间是解决问题的能力,充分利用学到的技术,去发现问题、分析问题和解决问题;
顶层是影响力,是核心竞争力的综合体现。
在这篇专栏文章中,提出几个针对各入非常的建议,我罗列一下
不要把自己绑死在一门或一个框架上,而是训练自己的学习能力,让自己可以拥有快速学习
掌握新技术的能力;
2. 日常工作不仅仅是实现一个个的功能,做一个个的项目,而是在这个过程中,去锻炼和提升
发现问题、分析问题和解决问题的能力. 这样才能最大优化工作经验,而不是机械重复没有积累;
3. 在工作中,不仅把事情做成,还要把事情做好;不仅是自己成长,还要帮助其他人成长;最大
化的利用好所在平台和行业的经历,转变成自己的经验和影响力。工作之外,多分享,打造自己的品牌。
总结
极客时间的《软件工程之美》配合邹欣的《构建之法》一起学习,给自己带来很多收获。这些收获相对
于编码的硬技能,它是”软“技能。作为一个程序员,不能要有良好的编码能力,也要有一些软技能。就像
一个人想要走路,必须需要两条腿一样。
附
极客时间《软件工程之美》学完感相关推荐
- 极客时间-设计模式之美 王争 听课笔记
文章目录 极客时间-设计模式之美 王争 01 每个程序员都要尽早学习并掌握设计模式相关知识 02 哪些维度评判代码质量? 03 面向对象.设计原则.设计模式.编程规范.重构,这五者有何关系? 04 当 ...
- 本人亲自整理的极客时间设计模式之美的硬核笔记
由于笔记内容过多,我把它放到语雀上了. 点击我 以下内容是为了让搜索引擎,检测到这篇文章.要阅读体验,请点击上面的连接"点击我",去我的语雀看.对了,我看到语雀那里有投诉的功能,请 ...
- 本人亲自整理的极客时间设计模式之美下部的硬核笔记(残缺版)最近加班太多,搞不了太多,只能尽量了xd们
设计模式之美(下)https://www.yuque.com/zcming123/uygxde/cbwnad 这位猿,三连,再走吧! 以下内容是为了让搜索引擎,检测到这篇文章.要阅读体验,请点击上面的 ...
- Weex实战分享|Weex在极客时间APP中的实践
本文是根据 WeexConf2018 中议题<Weex在极客时间APP中的实践>内容文档整理而成.主要分享极客时间在深度使用Weex过程中的一些经验和体会. 孙涛 极客邦前端负责人 大家 ...
- 极客时间 自我提升第二天 数据结构与算法之美 应该掌握 / 趣谈网络原理 / 深入浅出计算机组成原理 思维导图
菜鸟今天又来完成所说的诺言,也希望大家督促,在今天的学习中,菜鸟有了新的认知,我会将上一篇中理解不完善的一些地方进行补充,学习本就是不断打破自己的认知,如果思考都不做,何来的知识的积累 文章目录 数据 ...
- 设计模式之美-王争-极客时间-返现24元 限时优惠
极客时间出品的<设计模式之美>由王争所作,王争是前Google工程师手把手教你写高质量代码 前Google工程师,<数据结构与算法之美>专栏作者.本专栏前Google工程师手把 ...
- 极客时间_软件设计之美 笔记
极客时间_软件设计之美 笔记 1.软件设计是什么 写代码前应该有模型设计 比如mvc结构就是一种模型 代码应该有规范, 产品内部原则 避免每个开发按自己的想法实现,有人写rest 有人写mvc 代码模 ...
- 极客时间《从零开始学大数据》学习总结
2019-05-22 关键字:无 花了一周多的时间学习了李智慧老师在极客时间上开设的<从零开始学习大数据>课程后感触良多,特意花了一天的时间写了一份总结,算是为我的这份课程的学习告个别. ...
- 极客时间和极客学院_极客奔跑
极客时间和极客学院 I'm not a natural runner. I'm reasonably fit given that I spend most of the day sat in my ...
最新文章
- powerquery分组_Power Query实现数据分组压缩的思路分享
- 推荐算法-聚类-K-MEANS
- java 去掉大量if else_java如何消除太多的if else判断?
- OSChina 周日乱弹 —— 我叫张一条
- 骆斌软件工程基础思维导图
- XML读写演示程序(2)
- 区分错误类型_形象解释 Python 新手最容易犯的错误
- 带你全面了解Http和Https(开发人员必备)
- paip.php debug 调试---与OPTIMIZER共存
- iOS 端 HTTP 抓包分析工具推荐-Thor
- 地理探测器——Geodetector
- android 人脸相似度,微软“我们”正式发布 :测试人脸相似度
- M1 芯片Macbook pro连接支持AirPrint的佳能打印机
- 差分编码器5V单端信号转24V方波信号隔离转换器
- sdk寄存器地址linux,S32K SDK使用详解之PinSettings组件配置与使用详解(S32K1xx PORT 和GPIO模块)...
- 2021SC@SDUSC Zxing开源代码(十)Data Matrix二维码(三)
- Python中tkinter模块的学习记录(一)
- 使用XML表达表格数据
- 产品管理——产品PM你必须掌握的用户体验五大层
- 如何禁止IE浏览器访问我的网页