软工读书笔记 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期) 野生程序员
// 上一篇:最近发展区/脚手架 // 下一篇:提问和回复 怎样做足够好的软件?我们就差一个程序员! 没有什么软件工程的理论的时候,程序员们凭借自己对编程的热爱,凭借着:"这是一个可以自动化 ...
随机推荐
- Java学习之路(十):异常
---恢复内容开始--- 异常的概述和分类 Throwable类是Java语言中所有错误或者异常的超类(也就是说,Java中所有的报错都是继承与Throwable的),也只有当对象是此类或者此类的子类 ...
- Centos下Kubernetes+Flannel部署(新)
一.准备工作 1) 三台centos主机 k8s master: 10.11.151.97 tc-151-97 k8s node1: 10.11.151.100 tc-151-100 k8s no ...
- 自然语言处理--N-gram
考虑一个语音识别系统,假设用户说了这么一句话:“I have a gun”,因为发音的相似,该语音识别系统发现如下几句话都是可能的候选:1.I have a gun. 2.I have a gull. ...
- javascript快速入门1--JavaScript前世今生,HelloWorld与开发环境
JavaScript历史 大概在1992年,一家称作Nombas的公司开始开发一种叫做C--(C-minus-minus,简称Cmm)的嵌入式脚本语言. Cmm背后的理念很简单:一个足够强大可以替代宏 ...
- C++字符串string类常用操作详解(一)【初始化、遍历、连接】
代码示例: #include <iostream> #include "string" using namespace std; //字符串初始化 void strIn ...
- 精度更高的double类型计算工具类(借助BigDecimal类型)
/** * 提供精確的加法運算 * @param args */ public static double add(double v1, double v2) { BigDecimal b1 = ne ...
- js判断手机是否安装了某一款app,有则打开,没有去下载
function openApp(){ if(navigator.userAgent.match(/(iPhone|iPod|iPad);?/i)) { var loadDateTime = new ...
- Eclipse编辑JS响应慢,复制粘贴卡顿的解决方案
我使用的是官网标准版的eclipse4.3 for javaEE, 写JS时卡的简直无法忍受,尝试去掉所有的validate,包括菜单和项目属性中的都没作用. 整个人都急疯了~ 后来在项目根目录.pr ...
- Spring AOP 的实现
软件152 余建强 1 使用 API 实现 AOP 新建一个用户接口:UserService package com.cqvie.aop.api; public interface UserServi ...
- UOJ #356. 【JOI2017春季合宿】Port Facility
Description 小M有两个本质不同的栈. 无聊的小M找来了n个玩具.之后小M把这n个玩具随机顺序加入某一个栈或把他们弹出. 现在小M告诉你每个玩具的入栈和出栈时间,现在她想考考小S,有多少种方 ...