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

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

要解决这样的问题,看软件工程方面的书是得不到答案的。只能从哲学类的书上去找答案。《月亮与六便士》的主人公思特里克兰德是个在伦敦做事的证券经纪人,他有一个富裕和美满的家庭:妻子漂亮,爱慕虚荣,两个孩子健康快乐。按理说,他应该满足于这种人世的快乐才对,尽管这种生活未免庸俗和平静。但是,就在他们婚后的第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. 在Android 上运行 openCV ,并做灰度变化的一个例子

    OpenCVImageProcessing1. 导入Opencv的 androrid SDK灰度算法 OpenCVImageProcessing 导入opencv Jar包,配置OpenCVLibra ...

  2. 【笔记】Linux就该这么学-第六课第四章

    vim使用    a 在光标后一位置插入    i 在光标当前位置插入    o 在光标下面创建个空行    dd 删除(剪切)光标所在行    5dd 删除(剪切)从光标处开始的5行    yy 复 ...

  3. PAT_A1119 Pre- and Post-order Traversals

    Source: PAT A1119 Pre- and Post-order Traversals (30 分) Description: Suppose that all the keys in a ...

  4. eas之设置单元格可编辑

    for(int i=0;i<kdtEntrys.getRowCount();i++){    kdtEntrys.getRow(i).getCell("orgUnit").g ...

  5. bos开发时,测试卡在登录界面解决

    在BOS工作空间工程路径下新建sp文件夹,如在E:\bosworkspace8.2\Project_0\lib 新建sp文件夹E:\bosworkspace8.2\Project_0\lib\sp.然 ...

  6. Lua习题练习(9*9乘法表,输出所指定的图像,斐波那契数列)

    1. (循环语句的嵌套使用)有 1,2,3,4四个数字,能组成多少个互不相同且无重复数字的 三位数,并输出在屏幕上面2. 计算斐波那携数列的前20个数字,并输出在屏幕上面 .指的是这样一个数列(1,1 ...

  7. springboot启动报:Error creating bean with name 'dataSource' defined in class path resource

    需要在启动类的@EnableAutoConfiguration或@SpringBootApplication中添加exclude = {DataSourceAutoConfiguration.clas ...

  8. Codeforces 947E Perpetual Subtraction (线性代数、矩阵对角化、DP)

    手动博客搬家: 本文发表于20181212 09:37:21, 原地址https://blog.csdn.net/suncongbo/article/details/84962727 呜啊怎么又是数学 ...

  9. 在Win32 Application 环境下实现MFC窗口的创建

    // Win32下MFC.cpp : Defines the entry point for the application.// #include "stdafx.h" clas ...

  10. Spring Cloud Stream(十三)

    说明 对Spring Boot 和 Spring Integration的整合,通过Spring Cloud Stream能够简化消息中间件使用的复杂难度!让业务人员更多的精力能够花在业务层面 简单例 ...