软工读书笔记 week 8 —— 《疯狂的程序员》
这次接着上一次的进度继续阅读,并将其中感悟较深的几点记录如下。
程序员是一个幕后工作者
书中绝影给医院写软件,而医生(用户)只是评价这个软件好不好用,而不会去评价写这个软件的程序员优不优秀。这看起来对程序员不太公平,我辛辛苦苦写的代码,评价都没有我的份。但是这就是个事实,一个软件开放给用户的只是它的功能、它的界面,用户不会管某一个功能实现起来背后的代码有多复杂,他只是从他用这个软件的感受出发。所以,还是那句话,用户体验是第一位的。
高分和技术矛盾吗
在周总审阅简历的时候,有这么一份简历被直接拒绝,原因是上面写了几门课的分数都是90+,然后周总的逻辑是“他把所有时间拿去学习,没有时间去真正的动手实践”。我觉得,直接因为成绩太好去打掉一个人总不是很合情理的吧。不过这个告诉我们,简历应该有的放矢,对方不关心你能考多少分,只关心你有没有丰富的技术储备,有没有相应的项目经历之类的。换句话说,就是要展现出对方想了解的,其他方面比较优秀的,可以放上去,但是不能作为主体。
杂七杂八的感悟
有感触的一点就是,像绝影和BOSS Liu一样,明明花了五六个小时甚至通宵调好的bug,后来再提及时,总是不太想说自己实际花费的时间。一方面是“打肿脸充胖子”,另一方面就我自己而言,确实是在调bug或者说写代码上花费了很多无谓的时间,如果当时能够想清楚,真的只是二三十分钟或者一个多小时的事。我觉得还是经验问题吧,代码写多了,这些无谓的时间应该会越来越少。
还有就是提到的主任给绝影提这种要求,要求不少,还不一次性提完,这个现象在实际的软件项目中还是很常见的。但是没办法,用户第一位,虽然心里可能骂了无数句,该做的还是要做。但另一方面,写代码的时候,就要考虑到修改的方便性,这可以就是多个函数,或者说运用一些预处理语句之类的。除非是重构代码,否则尽量要做到减少修改的工作量。这也是优秀代码的一个体现吧。
还有一点边角一些的感悟就是话不要提前说太满,不要吹牛太多。这一点体现在BOSS刘向新公司推荐绝影这件事上。我们在做软工项目时,总是倾向于提前把要实现的功能构想的多么多么好,但实际上最后的结果总是和最初的构想有不少差别。我觉得还是最初就实际一些为好,当然这个对实际的预估也建立在有经验的基础上。
再就是一点软件这个行业,新人总是会层出不穷,旧人只有保持技术不落后,不断地去和新人竞争,不断地学习,才能不被淘汰。对于我们学生来说,未来我们首先还是新人,作为新人,也要不断地努力,工作之外的时间可以用于学习新的技能,而且新人没有那么多的后顾之忧,这也是我们的优势。
软工读书笔记 week 8 —— 《疯狂的程序员》的更多相关文章
- 软工读书笔记 week 9 ——《构建之法》
软工读书笔记 week 9 ——<构建之法> 最近的三周我们正式开始我们的项目.然后我也把<构建之法>中的相关章节再拿出来读了一番.以下是一些 ...
- 软工读书笔记 week 1
这次读书笔记主要是就<程序员修炼之道>这本书的前半部分做一些总结以及发表一些自己的看法. 本书前面的一部分主要是一些程序员应该在工作中时刻注意的事情,一些关键的信息如下: 1.处理问题的态 ...
- 软工读书笔记 week 5 ——《构建之法》
本周主要对<构建之法>中的一部分进行阅读. 一.软件与软件工程究竟是什么? 本书的概论部分就指出“软件 = 程序 + 软件工程”.而我们这门课的名字就叫“现代软件工程”.其实在上课之前,我 ...
- 软工读书笔记 week4 ——《黑客与画家》下
因为时间有限,只对书中后半部分几个篇章进行了阅读. 一.另一条路 作者以他自己为例,在那个没人知道什么叫“软件运行在服务器时”的时代,他和朋友选择创业时,没有选择写传统的桌面 ...
- 软工读书笔记 week 6 ——《疯狂的程序员》Part 1
这本小说以主人公绝影上大学后初次接触编程开始讲起,这周主要看的就是绝影还在大学的那段经历,虽然故事背景很多年前,但很多地方仍然会引发我的共鸣. 第一个梦想 在“第一个梦想”一节讲了作业布置做一个通讯录 ...
- 软工读书笔记 week 7 ——《构建之法》
总时长近两周的结对项目终于算是结束了,马上要重新开启团队项目.于是这几天决定对<构建之法>一书中与团队项目及需求分析有关的章节进行重点阅读,希望能够从中得到启发,并运用到接下来的团队项目中 ...
- 软工读书笔记 week3 (《黑客与画家》上)
一.何谓黑客? 黑客,在我们大多数普通人眼里,就是入侵计算机的人,通常还与干坏事挂钩.而书中告诉我们,这 并不是它的真正含义.而要想理解这本书,就要首先理解什么是黑客. 黑客这个词最初起源时,完全是一 ...
- 软工读书笔记 week2
<程序员修炼之道>这本书后面一部分则是更深入.更具体.更细致地就程序员应该注意的事项做一些讨论,书中说的很多在过去的经历中都有较深的体会,同时也给了我很多启发.以下是一些我感悟较深的点: ...
- 软工+C(2017第7期) 野生程序员
// 上一篇:最近发展区/脚手架 // 下一篇:提问和回复 怎样做足够好的软件?我们就差一个程序员! 没有什么软件工程的理论的时候,程序员们凭借自己对编程的热爱,凭借着:"这是一个可以自动化 ...
随机推荐
- Opserver 初探二《exceptions配置》
上一节主要介绍Opserver的搭建以及redis.sqlserver监控的配置,本节主要介绍异常日志的记录和监控.要实现异常日志的监控我们需要在项目中引入StackExchange.Exceptio ...
- python的字符串连接操作符+
如图, 运行后提示错误,这是“+” 是字符串连接操作符,字符串连接只能在被连接的每一个都是字符串时起作用.而以上程序试图将一个字符串同一个非字符串连接会引发一个异常,所以会报错. 正确的为: 或者是:
- javascript对象属性的命名规则
JS标识符的命名规则,即变量的命名规则: 标识符只能由字母.数字.下划线和‘$’组成 数字不可以作为标识符的首字符 对象属性的命名规则 通过[]操作符为对象添加属性时,属性名称可以是任何字符串(包括只 ...
- 自然语言处理--Word2vec(二)
前一篇,word2vec(一)主要讲了word2vec一些表层概念,以及主要介绍CBOW方法来求解词向量模型,这里主要讲论文 Distributed Representations of Words ...
- mysql空间扩展 VS PostGIS
http://www.cnblogs.com/LBSer/p/3629149.html 功能 Mysql spatial extension PostGIS 空间索引 仅MyISAM支持R树索引,I ...
- ASP.NET Core 中的实时框架 SingalR
目录 SignalR 是什么? 在 ASP.NET Core 中使用 SignalR 权限验证 横向扩展 源代码 参考 SignalR 是什么? ASP.NET Core SignalR 是一个开源的 ...
- spring cloud连载第三篇补充之Zuul
由于Zuul的内容较多所以单独列出一篇来讲.全是干货,如果学到东西的,动动小手给点个推荐^_^ 谢谢! 1. Router and Filter: Zuul(路由和过滤:Zuul) 路由是微服务架构 ...
- [CQOI 2018]交错序列
Description 题库链接 定义长度为 \(n\) 的"交错序列"为:长度为 \(n\) 序列中仅含 \(0,1\) 且没有相邻的 \(1\) .给出 \(a,b\) ,假设 ...
- 使用jdk压缩war包
首先安装jdk 压缩 ..../jdk/bin/jar -cvf file.war file 解压 ..../jdk/bin/jar -xvf file.war
- 通过sql实现约束
--手动删除一列 alter table 表名 dropi column 列名 --手动增加一列(后面加列类型) alter table 表名 add 列名 nvarchar(1000) --手动修改 ...