读书有感——《从毕业生到程序员使用C#开发商业软件》
本来想自己写个读书感悟之类的东西,但是苦于自己语文水平太差,算了,我把里面觉得很赞的内容摘抄下来就好了(学习都是从模仿开始的嘛)。
书籍:《从毕业生到程序猿使用C#开发商业软件》
作者:袁永福
积累与创新
积累与创新是技术人员良好发展的基础。没有积累,没有创新,软件开发人员就会沦为一个“码奴”,为具体的代码所累,前途堪忧。
其实积累是很多方面所必要的,比如生活中任何人都需要积累生活经验,在工作中需要积累工作经验,而从事软件技术工作,则需要从业者技术上的积累,实现代码方面和思想方面的积累。
代码上的积累就是在工作过程中,将一些用过的通用功能的代码进行整理打包,形成个人的代码库,超越所经历的公司和项目,而且平时有意识地将其完善和发展。这样,今后在开发过程中能直接调用这些平时积累的久经考验的代码库,开发软件就能更有效率。
这个代码库不一定是自己开发的,也可以是他人公布的,但需要花时间了解这些代码,至少要了解其使用及注意事项。现在开源代码比较流行,代码积累的意义有所减弱,但还是需要做的。
其实代码是死的,代码的积累应该说是醉翁之意不完全在酒,代码积累无须在乎代码量的多少,而更在乎其所蕴含的思想。
软件技术人员的能力分为:“代码-技术-思想”三个层次,大量的代码锻炼出技术,技术提炼出思想;反过来思想指导技术,技术创造代码。有点类似读书从薄读到厚,再从厚读到薄的意思。
代码是死的,可能会过时,而思想是活的,永远能发挥作用,不过抽象的思想最终表现为实际的代码而形成生产力,因此代码的积累和思想的积累应该是相辅相成的。
对于一般的毕业生,只有很简单的代码能力,技术能力比较差,思想还谈不上积累,因此需要即刻开始进行技术积累。要阅读高质量的代码,多看书,多向他人学习,同时也需要关注业界同行在如何进行技术开发,逐渐形成自己的技术基础。
一个技术强者仅仅有雄厚的技术基础是不行的,而应当有敏锐的头脑,其智能需要形成一种金字塔的构造。同时具有雄厚的技术基础和敏锐的头脑,这样才是真正的高手。
敏锐的头脑就是具有强烈的创新精神,创新对企业和个人都具有很重要的现实意义,此处只说明其对个人的意义。
创新是指利用已有的知识基础,通过人脑所产生的联想,直觉等能力创造出前所未有的知识。不过现在的创新强者很多,自己创新的很多新知识说不定别人早就想过了,但这不是重复劳动,首先自己创新的新知识只是很有可能别人已经创新了,但任然有可能没有被他人创新,因此,要对自己有信心。另外创新是一种能力,我们无须跟全球顶尖高手相比,只要跟周围的人相比,自己能创新就是一种很好的优势,养成创新的习惯是非常有意义的,是成为技术高手的必由之路。创新的基础就是具有自己的思想。
有个故事,某国际学校里,老师问学生们:“如何思考其他国家的粮食短缺问题?”,美国孩子问:什么叫其他国家?欧洲孩子问:什么叫短缺?非洲孩子问:什么叫粮食?而中国孩子问:什么叫思考?
中国正规教育制度大部分都要求学生无条件接受书面知识,不需要独立思考。毕业生或多或少地受其影响,独立思考能力比较弱,因此很多人缺乏年轻人所应有的创新精神。这在今后的职场中需要逐渐摆脱正规教育的不良影响,恢复自己的独立思考能力。
创新除了需要独立思考能力外,还需要一定的危机意识驱动创新。(后面举了一个关于九城公司的例子,感兴趣的可以直接去看书)
技术之害
在此笔者给刚做技术的毕业生一个忠告:“人御技术,技术亦可御人”。笔者对此有着很深刻的体会。
技术的反弹伤害首先导致人性格过于简单,不灵活。
长期专注于技术的人,其性格必然是有点倔的,否则压根就坐不住来研究技术;另外,长期专注于技术也强化了其性格的倔性,说得好听就是执着,说得不好听就是固执。固执就是不圆滑,容易钻牛角尖。
在技术上钻牛角尖是没什么大问题的,因为技术是死的,所遵循的科学规律是固定的,因此比较容易发现是否有出路,若没有出路,则技术人员会退出去。因为技术人员非常尊重科学道理,严格按照逻辑思维,若按照逻辑思维此路不通,则技术人员会尽早退出,不会逆天而行。
但在与社会交往中是没有死规律可遵循的,全是活的,因此自然科学不适用,而长期钻研技术的人其思想已经被技术化,会使用固定的规律处理技术问题,也会使用固定的规律处理社会问题,自然是头破血流。可能有的技术人员不思改变,结果更加封闭自己,更完整地沉入技术,问题会越来越严重。
技术的反弹伤害还造成人以自我为中心,不利生存。
所有的技术都是为人服务的,因此技术人员对待任何技术都是以自我为中心的。若这种技术思想侵入人性,很容易造成技术人员在社会中也是以自我为中心的。以自我为中心的人活在自己的世界中,有自闭倾向,缺乏与社会的沟通,容易固执,不易接受他人的建议,很难站在他人的角度看待事物。这些都不利于在社会中的生存和发展。
以技术讲人术,技术侵蚀人性,这就是技术最大的弊端。人为了更好地发展,就必须获得他人的支持,而已经被技术侵蚀的人际交流能力是人际交往最大的障碍。反过来如果一个人技术好,而且摆脱了技术的限制,人际关系处理得好,处世思路活,那么此人前途无量。因此不知技术之害者不能尽用技术之利。
......
摘抄部分到此结束,感兴趣的可以自己去看书,自己也是刚刚转行到IT行业的,能有一本书从刚入职的菜鸟角度写真是难得啊,书很好,介绍了很多毕业生应该知道的知识,避免走过多的弯路,在此谢谢作者。
自己也是刚刚接触C#开发,而且入职一个月多一点,公司就要把我派去深圳出差了,希望努力成为一个优秀的技术人员,也希望像书中所说的不受技术之害(个人觉得可以通过培养一些兴趣爱好,像运动,摄影来避免技术之害)。奔跑吧,菜鸟。燃烧吧,青春。
这里附上我早上刚拍的照片:
读书有感——《从毕业生到程序员使用C#开发商业软件》的更多相关文章
- Java程序员转Android开发必读经验分享
小编最近几日偷偷的发现部分Java程序员想转安卓开发,故此加紧补充知识,为大家搜集资料,积极整理前人的经验,希望可以给正处于困惑中的你,带来些许的帮助. 啰哩啰嗦的说说Java和Android程序的区 ...
- 好程序员web前端开发测验之css部分
好程序员web前端开发测验之css部分Front End Web Development Quiz CSS 部分问题与解答 Q: CSS 属性是否区分大小写? <p><font si ...
- CSharp程序员学Android开发---3.Android内部元素不填充BUG
最近公司组织项目组成员开发一个Android项目的Demo,之前没有人有Andoid方面的开发经验,都是开发C#的. 虽说项目要求并不是很高,但是对于没有这方面经验的人来说,第一步是最困难的. 项目历 ...
- CSharp程序员学Android开发---2.个人总结的快捷键
最近公司组织项目组成员开发一个Android项目的Demo,之前没有人有Andoid方面的开发经验,都是开发C#的. 虽说项目要求并不是很高,但是对于没有这方面经验的人来说,第一步是最困难的. 项目历 ...
- CSharp程序员学Android开发---1.初识AndriodIDE,掌握工具使用
最近公司组织项目组成员开发一个Android项目的Demo,之前没有人有Andoid方面的开发经验,都是开发C#的. 虽说项目要求并不是很高,但是对于没有这方面经验的人来说,第一步是最困难的. 项目历 ...
- 《程序是怎样跑起来的》读书笔记——第一章 对程序员来说CPU是什么
1 程序的运行流程 2 CPU的组成 3 寄存器的主要种类和功能 "程序计数器"--决定程序流程的 4 条件分支和循环机制 4.1 顺序执行 4.2 选择分支 5 函数的调用机制 ...
- Android群英传神兵利器读书笔记——第一章:程序员小窝——搭建高效的开发环境
1.1 搭建高效的开发环境之操作系统 1.2 搭建开发环境之高效配置 基本环境配置 基本开发工具 1.3 搭建程序员的博客平台 开发者为什么要写作 写作平台 第三方博客平台 自建博客平台 开发论坛 1 ...
- Python超级程序员使用的开发工具
我以个人的身份采访了几个顶尖的Python程序员,问了他们以下5个简单的问题: 当前你的主要开发任务是什么? 你在项目中使用的电脑是怎样的? 你使用什么IDE开发? 你将来的计划是什么? 有什么给Py ...
- 5款Python程序员高频使用开发工具推荐
很多Python学习者想必都会有如下感悟:最开始学习Python的时候,因为没有去探索好用的工具,吃了很多苦头.后来工作中深刻体会到,合理使用开发的工具的便利和高效.今天,我就把Python程序员使用 ...
随机推荐
- 一:python入门
Python简介 这点就不做陈述了,相信各位朋友已经已经有了一定的了解. Python特色: 1:简单 第一次接触Python给我的感觉它的语法阅读就像是阅读一本英文书的目录一样,简单易懂,它的语法要 ...
- 语言总结—C/C++
参考<程序员面试宝典> 1. 基本概念 1.1 赋值语句 例1. 按位与操作,例如:a=3,b=3,a&b值等于 0011 & 0011 结果还是0011,那么值还是3: ...
- hbase自带mapreduce计数表行数功能
$HBASE_HOME/bin/hbase org.apache.hadoop.hbase.mapreduce.RowCounter ‘tablename’ mapreduce来计数,很快的!!!
- ssh无密码登录设置方法以及出现问题 ECDSA host key 和IP地址对应的key不同的解决
最近在做hadoop,因为要求各主机之间的用户必须相同,且为方便远程登录,需配置无密码登录 先附上ssh无密码登录设置方法: 先生成密钥并配置无ssh无密码登录本机,输入命令: ssh-keygen ...
- java线程condition
子线程先执行一段代码,再主线程再执行一段代码,两个线程都循环执行50遍.用2个condition来实现,一个是子线程的condition,一个是主线程的condition,代码如下: package ...
- String类之substring--->查找某位置对应的字
以下方法都是java内置类String类的内置方法(不是构造方法哦,就是普通的方法),不需要我们写,直接拿过来用即可. substring方法对应Api介绍 查找字符串中的 从int beginI ...
- 使用jQuery的hover事件在IE中不停闪动的解决方法
在使用jQuery的hover事件时,经常会因为鼠标滑动过快导致菜单不停闪动的情况,相信很多朋友都遇到过自己做的纵向下拉菜单不停的收缩,非常的讨厌.今天在给一个网站设计菜单时也遇到了这个情况,结果在百 ...
- HDU 1907 John(取火柴博弈2)
传送门 #include<iostream> #include<cstdio> #include<cstring> using namespace std; int ...
- hdu_5874_Friends and Enemies(公式题)
题目链接:hdu_5874_Friends and Enemies 题意: 有nn个人, mm种颜色的石头, 人两两之间要么是朋友, 要么是敌人. 每个人可以携带若干种石头或者不带, 要求朋友之间至少 ...
- 1.Date对象
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...