写了这么久的读书笔记,涉及到问题大多是一些如何把软件工程做好,如何把自己的职业生涯做好。但总感觉逻辑链上缺了一环,亦即:我们为什么要把软件工程做好,我们成为一名优秀的职业生涯的意义到底在于什么?我觉得如果这个问题不去想,那么这段三段论便不是完整的,不知道为什么要做的事情而去做,未免太浑浑噩噩了,说实话,就有点行尸走肉的感觉。

本来以为程序员的自我修养这本书能够解答我心中的疑惑,然而翻开这本书,却是一些列关于系统软件如何运行和装载的问题。窃以为,如果是关于这种如何提高自身技能的书,不应该用《程序员的自我修养》来命名。为什么,我觉得一个程序员首先应该是一个人,然后才是一个程序员。如果一个程序员没有一点人文素养,根本不会去思考这类问题,只会码代码,或者讨好上司,那他如果通过自己的职业,达到自我实现呢?

要解决这样的问题,看软件工程方面的书是得不到答案的。只能从哲学类的书上去找答案。《月亮与六便士》的主人公思特里克兰德是个在伦敦做事的证券经纪人,他有一个富裕和美满的家庭:妻子漂亮,爱慕虚荣,两个孩子健康快乐。按理说,他应该满足于这种人世的快乐才对,尽管这种生活未免庸俗和平静。但是,就在他们婚后的第17个年头,他突然离家去了巴黎,抛弃了在外人看来很好的事业和家庭。就在人们以为他的出走是因为有外遇的时候,人们发现的事实却是:他原来只是为了画画。

  这时的思特里克兰德没有任何的绘画基础,他只是爱好画画而已。在外人看来,他简直疯了,他的生活开始变得窘迫,几次险些因饥饿和疾病而死。他画的画也完全不像个样子,总是在原有的事物上进行破坏,除了有个蹩脚的画家伯朗士-施特略夫把他当成上帝外,任何人都不会买他的画,事实上他也从不轻易卖画。
  他在生活态度上有某些令人难忘的东西,他过得全然是一种精神生活。他之所做出这样的决定,或许在于,他思想上受到了某些困扰。他想通过画画来表达内心的困扰。看到这里,我受到了很深的触动。为什么我们要成为一名优秀的软件工程师?
  有些胸怀天下,富有抱负的IT行业者,他们希望能通过代码改变世界。这样的能要历经种种困难,但也有成功的,比如乔布斯,扎克伯格。
  有些安全方面的人,希望通过自己的代码打击犯罪。
  而有些人,正如《人月神话》所提及的一样。编程具有搭积木一般,构建世界一样的,上帝一样的乐趣。正如《梦断代码》的作者,年轻时痴迷于用basic语言构造虚拟内战。
  而更多的人,可能更希望通过成为一名优秀的软件工程师,让自己所爱的人过上幸福而体面的生活。
  无论是哪种,都比浑浑噩噩地码代码要好。
  
   
 

第八周读书笔记(人月神话X月亮与六便士)——到底什么才是一个程序员的自我修养?的更多相关文章

  1. 《Linux内核设计与实现》第八周读书笔记——第四章 进程调度

    <Linux内核设计与实现>第八周读书笔记——第四章 进程调度 第4章 进程调度35 调度程序负责决定将哪个进程投入运行,何时运行以及运行多长时间,进程调度程序可看做在可运行态进程之间分配 ...

  2. 《Linux内核设计与实现》 第八周读书笔记 第四章 进程调度

    20135307 张嘉琪 第八周读书笔记 第四章 进程调度 调度程序负责决定将哪个进程投入运行,何时运行以及运行多长时间,进程调度程序可看做在可运行态进程之间分配有限的处理器时间资源的内核子系统.只有 ...

  3. linux内核分析 第八周读书笔记

    第四章 进程调度 4.1 多任务 1.多任务操作系统就是能同时并发的交互执行多个进程的操作系统. 2.多任务操作系统使多个进程处于堵塞或者睡眠状态,实际不被投入执行,这些任务尽管位于内存,但是并不处于 ...

  4. Linux内核设计与实现第八周读书笔记

    第四章 进程调度 进程在操作系统看来是程序的运行态表现形式. 4.1多任务 多任务操作系统就是能同时并发地交互执行多个进程的操作系统. 多任务操作系统会使多个进程处于堵塞或者睡眠状态.这些任务尽管位于 ...

  5. 《程序员的自我修养》读书笔记 - dllimport

    Math.c  { __declspec (dllexport)  double Add (xx, xx) {...}} MathApp.c  { __declspec(dllimport) doub ...

  6. 《程序员的自我修养》读书笔记——系统调用、API

        系统调用 程序运行的时候,本身是没有权限访问多少系统资源的.系统资源有限,如果操作系统不进行控制,那么各个程序难免会产生冲突.线程操作系统都将可能产生冲突的系统资源保护起来,阻止程序直接访问. ...

  7. pwn学习日记Day22 《程序员的自我修养》读书笔记

    知识杂项 软连接 命令: ln -s 原文件 目标文件 特征: 1.相当于windows的快捷方式 2.只是一个符号连接,所以软连接文件大小都很小 3.当运行软连接的时候,会根据连接指向找到真正的文件 ...

  8. pwn学习日记Day21 《程序员的自我修养》读书笔记

    Linux内核装载ELF过程 (1)bash进程调用fork()系统调用创建一个新的进程 (2)新的进程调用execve()系统调用执行指定的ELF文件,原先的bash进程继续返回等待刚才启动的新进程 ...

  9. pwn学习日记Day20 《程序员的自我修养》读书笔记

    可执行文件的装载与进程 覆盖装入和页映射是两种典型的动态装载方法 进程建立的三步 1.创建一个独立的虚拟地址空间 2.读取可执行文件头,并且建立虚拟空间与可执行文件的映射关系. 3.将CPU的指令寄存 ...

随机推荐

  1. https证书安装无效的主要原因

    https证书的作用是为了确认服务端身份,但网络上充满了无效的证书,浏览器对使用无效证书的访问,给出危险.不安全警告,将是否选择继续访问由用户选择,而大多数用户是无法区分这是配置还是真的存在安全问题. ...

  2. javascript中创建新节点的方法 标签: javascript 2016-12-25 11:38 55人阅读 评论(0)

    一. var newnode=document.createElement("i"); var newnodeText=document.createTextNode(" ...

  3. 如何制作一个类似jquery插件的vue插件

    vue拿来写插件,会不会太那啥? 请跟我念,"不会,符合业务需求才是你的老板最想要的." 如何封装一个可以全局调用的vue插件 其原理其实相当简单,通过new Vue(vueCom ...

  4. Problem 52

    Problem 52 It can be seen that the number, 125874, and its double, 251748, contain exactly the same ...

  5. vue 对图片进行拖拽到另一个位置

    1.拖动元素代码: 使用html5原生拖拽属性,在需要拖拽的图片中添加draggable="true"属性,并使用v-on添加拖动事件 2.被放置的区域事件代码: 使用html5原 ...

  6. Java设计模式之 — 适配器(Adapter)

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/9400141 今天一大早,你的leader就匆匆忙忙跑过来找到你:“快,快,紧急任务 ...

  7. 0926mysql join的原理

    转自 http://www.cnblogs.com/shengdimaya/p/7123069.html MySQL JOIN原理   先看一下实验的两张表: 表comments,总行数28856 表 ...

  8. 洛谷 P1692 部落卫队

    P1692 部落卫队 题目描述 原始部落byteland中的居民们为了争夺有限的资源,经常发生冲突.几乎每个居民都有他的仇敌.部落酋长为了组织一支保卫部落的队伍,希望从部落的居民中选出最多的居民入伍, ...

  9. Maven错误:XXX时出错; invalid LOC header (bad signature)的解决方法

    错误原因是该包没下载成功,比如网络问题等因素. 解决方法:进入本地仓库删除该包,然后再执行打包或部署等操作即可.

  10. HDU 3691

    一个源点,一个汇点,明显是网络流的问题,但据说用网络流来求最小割,会超时..囧,那出题的人是怎么想的... 用SW的算法来求最小割. #include <iostream> #includ ...