杂谈---2013年,总结?吐槽?灌水?-程序员宅基地

技术标签: 程序员鸡汤  

引言

 

  最近看到不少猿友都纷纷总结起自己的2013年,LZ也赶赶热潮,对自己一年的收获与失去来个大阅兵,这确实有助于自己来年的规划。如果各位猿友不喜欢写博客,也应该以其它的方式对自己进行总结,相信总是有好处的。至于LZ,已经习惯了博客,因此就暂且采取这种方式了。不过LZ也只是让手指在键盘上随心而动,所以难免是水文一篇,各位猿友尽可一笑而过。

 

技术方面

  

  既然是一个技术人员的年度总结,那么技术方面的总结自然是不可或缺的,这也算是本文唯一不算太水的一部分吧。LZ这一年来,技术方面的书着实看了不少,认真看过的大约有四五本,粗略看过的就数不过来了,包括无数篇技术文章、英文文档以及相当多数量的源码,可谓是大大的丰收。

  说起这些书,LZ是一直不愿意吐露书名的,因为LZ一直坚信每个人适合的书都不一样。不过这一次是LZ自己的总结,并非是选书建议这一类的文章,因此还是要好好规整下自己看过的书籍。况且,如果让LZ一下子说出来看过哪几本书,还真想不出来,这就说明真的需要停下来总结一下了,否则就真的成了书虫了,只会吃书不会读书。

  准确的说,LZ看的书几乎都是这一年以内看的,更准确的说,是去年10月份加入到现在的公司之后开始看的。到现在的公司之前,工作当中加班非常频繁,因此几乎都没怎么看,每天都沉浸在疯狂的编码当中,就算是回家学习,也大多是看看一些技术文章而已。直到来到现在的公司后,LZ看书的道路才一发不可收拾,至今为止差不多刚好整整一年多一点。

  接下来这些是LZ一年里买的所有的书,共17本实体书,其中有1本LZ精读的电子书,总共18本书。

  《Java编程思想》【5星】【完毕】:这本书就不说了吧,Java的经典,经典中的经典,LZ从去年10月份开始读,大约花了三个月读完。

  《深入理解Java虚拟机》【5星】【完毕】:这本书也是经典中的经典,LZ读的时间好像并不长,但是收获巨大!

  《重构:改善既有的代码设计》【4星】【完毕】:这本书将LZ带进了重构的世界,LZ看的也非常快,但说实话,里面的技巧目前还真没什么施展的余地。

  《大话设计模式》【电子版】【5星】【完毕】:大话这本书是LZ进入设计模式世界的引导者,也正因为它,有了LZ的设计模式博文系列,也因此有人找LZ写书。不过LZ最近的生活和工作都有些改变(这点后面再说),所以写书一事暂且放下了,不知是好是坏,个人觉得多沉淀一下其实也好,但不得不说,写书真的是一件绝对靠毅力的事,这与写博客完全是两码事。

  《编译原理》【5星】【后续补上】:这本书就不需要LZ评价了,不过LZ目前还没看完,当时看了大约两章暂且放下了。这本书是LZ以后必读之书。

  《设计模式:可复用面向对象软件的基础》【4星】【进行中】:GOF的名著,之所以给4星,是因为难度太高。LZ现在看起来还有难度,原因是因为里面的smalltalk,实在是骨灰级语言。入手这本书的原因,原本是为了写书而准备的,不过由于写书的进度被拉下来了,所以这本书就没有急于攻破。

  《Java并发编程实战》【5星】【完毕】:好书中的好书,它也算当时解了LZ的燃眉之急。通过它,LZ才算进入了并发的世界,而且并发系列也将因它而出现,目前LZ其实正在写并发系列的第二篇文章,还未发表。

  《Effective Java》【4星】【进行中】:这本书LZ已经读了一半多,这类书给LZ的感觉是,看的时候会产生极强的共鸣,但是看过之后却记不住什么。不知道这是否是在潜在的影响LZ的编程手法。

  《代码整洁之道》【5星】【重点进行中】:这一本书与《重构:改善既有的代码设计》、《Effective Java》十分类似,都是在讲如何编写优秀的代码,只是这本书给LZ的感觉更实用。

  《深入理解计算机系统》【5星】【重点进行中】:这本书实在是难啃,但是LZ看的过程中收获巨大。这种书的价值体现,并不是最直观的收获,而是潜意识的影响。

  《算法导论》【未开始】:经典之作,不过LZ一直没有时间去啃下这本巨大的著作。里面的内容相信一定是非常精彩的,LZ期待着开启的那一天。

  《数据结构与算法分析》【后续补上】:这本书是LZ为Java准备的算法书,之前看了一些,没有继续观摩,之后也是要补上的。

  《代码大全》【未开始】:又是一本巨厚的著作,这本书号称也是经典之作,同样是LZ十分期待的一本书,期待着开启。

  《Maven实战》【未开始】:当初买这本是因为项目当中用到了maven,所以准备大致了解一下,结果翻了几页发现兴趣不大。悲哀,僵尸书了。

  《linux私房菜》【未开始】:这本书是给自己准备的linux工具书,买的时候就没打算仔细看,结果买过来以后发现真没仔细看。

  《分布式系统原理与范型》【未开始】:买它是为了了解一下分布式系统的原理,这本书LZ还是有兴趣的,只是一直没机会开启。

  《云计算》【后续补上】:这本书是当时LZ要回家一趟,所以买了一本带在火车上看,当时也看了不少,属于一本消遣的书,算是开阔下视野吧。

  《云计算与SOA》【未开始】:这本书与《云计算》是一起买的,因为还是想与工作联系起来,所以看到SOA就拿过来了,后续有时间可以拿来消遣,不打算细看。

  以上便是LZ这一年内染指的书籍,其中LZ翻过的书都有相应的星级评价,不过LZ还是要强调一下,这些评价都带有LZ强烈的主观意识,因此各位猿友若是哪位没看过上面的这些书,在看过此文后准备入手的话,请慎重选择。

  总的来说,LZ这一年在技术方面的进步还是十分明显的,看书只是一方面,甚至可以说是很小的一方面。LZ个人觉得,进步最大的原因还是对大量源码的钻研,对各种协议和规范的研究,以及对C/C++、shell、perl等多种语言的涉足。

 

工作方面

 

  说起工作,LZ至今已经毕业四年多,接触编程工作两年多。由于LZ在21岁便已经大学毕业,也算较早的一列,所以玩心未退的LZ将这早毕业的一年果断的浪费了,又因为是数学专业转向编程,所以花了半年进行编程的培训,这一下几乎两年的时间就没有了。每每想起,悔恨不已。今年算是LZ工作中转折最大的一年(有点废话了,一共也就两年多),之前的一年,由于身处小公司,尽管得到了不小的锻炼,但却因为加班浪费了不少宝贵时间。

  这一年内,公司技术部从一年前的300多人(包含约100外包同事),发展成了现在的将近600人(包含约200外包同事),而LZ所在的项目组也算是跌宕起伏,走的人不少,来的人也不少。当时LZ来的时候项目组共有4个开发,算上LZ一共5个,现在之前的4位同事已经只剩下1位女士了,不过组里接连又来了8个开发(含4个外包),而我们的项目经理,在技术部格局调整后,已经荣升为部门经理,不过还仍然兼着我们的项目经理一职。很显然,从组里的人员流动就能看出,LZ这个刚来公司一年多一点的新人,忽然变成了老人了。

  以前LZ的任务就是写代码,是的,没错,就是每天闷头写代码,这本来也是程序猿的主要任务。可是最近变了,这些变化让LZ有些欢喜,也有些忧。不客气的说,LZ现在所做的事,其实就是项目经理做的事,这其中很大一部分原因,是因为LZ项目的项目经理实在太忙了,毕竟部门经理是要管很多事的。尽管LZ现在还挂着个名不副实的中级工程师头衔,也没有实质上的项目经理的权利,但这种变化太明显,已经容不得LZ推脱了。

  记得以前和别人讨论的时候,LZ说过,就算是给个项目经理的职位,自己也可能会拒绝的,总觉得自己偏向于研发经理一职。现在想想,真是可笑之极。现在还没有这个职位呢,还拿着程序猿的工资,同时干着项目经理的活,这种工资、职位都与责任不符合的情况下,LZ都毫不犹豫的接下了,要是给职位的话,LZ真不敢说会拒绝。

  不得不承认,自从担任了这个虚幻的“项目经理”之后,LZ的能力得到了极大的锻炼。这里面技术只是一方面,在技术上来说,以前作为程序猿接触不到的问题,作为虚幻的“项目经理”,还是要处理一下的,比如系统架构,部署架构,高并发等问题。不过更多的,还是沟通能力的锻炼,每天需要应付的同事各种各样,开发、测试、业务、运维、DBA、上层领导、虚幻的“下属”、其它组的项目经理等等,基本上所有的人都得见过来一遍,因为他们早晚会来找你的。

  这之后,工作上最大的改变,就是代码量明显骤降,目前已经几乎为0。LZ已经很久没写代码了,为数不多的几次时间也都是非常短的,因为是比较核心的代码,所以LZ只能挤着时间写,如果不这样的话,很容易被人打断。也正因为如此,所以LZ回来看书的动力更大了,生怕因此而拉下了技术。毕竟,在LZ项目组的近10个开发当中,除却一个211的应届生以外,全是三年以上经验的人。LZ作为工作经验倒数第二的人,压力还是蛮大的,如果不是LZ早来公司一步,相信也不可能是现在的情势。作为程序猿的LZ深知,要征服程序猿最简单有效的办法还是技术,因为LZ本身就是只服技术比自己强的人的一类(嘴上功夫的就不算了吧),尽管这并不绝对。

  其实这一切现状,看似都是非常好的,是LZ以前梦寐以求的情况,也就是希望能有个“项目经理”的锻炼机会。不过这也意味着,LZ早早的就与程序猿绝缘了,两年,LZ真的始料未及。LZ个人觉得,如果升的太快,其实并不一定好事。如果尚且没有深刻体会一线,就已经早早的退居一线,看似高升了却不一定有益。更何况LZ还没有真正升上去,只是悬在半空而已,万一不小心摔下来,估计不会太轻吧。

  说起来,这一过程中还是有不少郁闷事的。最典型的一点,就是名不正言不顺的问题。有些事情,需要组员配合,但是LZ并没有权利命令别人,尽管现在大部分情况下,组员们都会配合,毕竟大家都不傻,也都知道LZ其实也是为了项目的事,但往往有时候还是需要一些强制手段的,毕竟也不是所有事所有人都能理解的。有的时候,你管的话,属于自找苦吃,别人不一定配合你,还搞得自己好像管的太宽了。不管的话,这责任又在你身上,实在是进退两难。或许是LZ还没有找到更好的办法吧。

  貌似说到工作这里,还是十分凌乱的,LZ自己也感觉到了,目前的工作是有点凌乱。或许是LZ还没有找到现在的节奏,以前那种没任务就看看技术文章,有任务就听着音乐码代码的节奏已经完全被打乱了。

  总的来说,对于工作方面,还是确实有进步的,不过很明显,LZ还需要寻找自己的节奏。

 

生活方面

 

  生活方面其实变化最小,不过说小的话,其实也不小。2013年5月1日,LZ的女友正式来北京与LZ一起奋斗,LZ美其名曰——北京爱情故事的开始。2013年7月13日,LZ的女友正式成为LZ的未婚妻。

  自从某个欢乐的90后来到LZ的世界里,LZ的生活也产生了不小的变化。最明显的,就是LZ摆脱了一切生活琐事,可以专心的写博客、看书、写代码。90后开始还是有点意见的,不过被LZ以“一切都是为了你”的理由摆平了。自此,LZ便过上了平凡而又幸福的日子,尽管北京是个幸福指数偏低的城市。

  千言万语一句话,感谢90后的悉心照顾,如果LZ以后有幸成功了,那么至少有一大半功劳都应该是你的。

 

2014

 

  本文越写越水了,感觉已经与总结关系不大了,对于2014,LZ没什么打算。因为LZ一直信奉一句话,只要大方向不错,任何弯路都是有意义的。所以LZ不打算给自己的2014铺上一堆计划,个人感觉还是没有太大必要,而且每天想着计划会有压力,若是实现了还好,若是实现不了,还可能会打消自己的积极性,有点得不偿失。如果非要说计划的话,LZ目前能想到的,就是找到自己新的节奏。

  

结言

 

  无怨无悔的2013,走一步算一步的2014。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zuoxiaolong8810/article/details/65441646

智能推荐

Linux 有线网络驱动实验(PHY芯片LAN8720)_lan8720每秒可以发送几次数据-程序员宅基地

文章浏览阅读2.4k次,点赞3次,收藏20次。网络驱动是linux 里面驱动三巨头之一,linux 下的网络功能非常强大,嵌入式linux 中也常常用到网络功能。前面我们已经讲过了字符设备驱动和块设备驱动,本章我们就来学习一下linux 里面的网络设备驱动。_lan8720每秒可以发送几次数据

Go内置关键字分析(二)_for i, x := range nums-程序员宅基地

文章浏览阅读665次。Go语言25个内置关键字分析(一):https://blog.csdn.net/sinat_24568041/article/details/80904271Go关键字按类型不同做如下区分(注:图片来自网络,若有侵权,请联系删除):2.2引用类型(1) Map作用:用于声明map类型数据 a.Map 是一种无序的键值对的集合。Map 最重要的一点是通过 key 来快速检索数据,key 类似于..._for i, x := range nums

GD32F103RCT6/GD32F303RCT6(6.2)USART串口库函数介绍(包含DMA库函数)-程序员宅基地

文章浏览阅读699次,点赞6次,收藏10次。GD32教程 单片机 嵌入式 串口 向上代码兼容GD32F303RCT6中使用

宁波大学2013 计算机应用基础 高级c语言程序 练习册答案,计算机应用基础A1-程序员宅基地

文章浏览阅读286次。spContent=软件定义未来,软件实现了用计算机解决真实世界的各种问题。自计算机诞生之日起,人们探索的重点不仅在于建造运算速度更快、处理能力更强的计算机,而且在于开发能让人们更有效使用这种计算设备的各种软件。本课程作为大学阶段的第一门计算机基础课程,主要介绍面向过程的结构化程序设计思想及方法,为你打开软件设计与开发的大门。数字时代呼啸而来,懂得程序设计,就能更好的在数字海洋中自由遨游。本课程面..._c语言程序设计孙改平答案

mybatisplus 更新数据时(update updatebyId) 将指定字段的null值更新到数据库_mybatis updatebyid 空值更新入库-程序员宅基地

文章浏览阅读4.1k次,点赞2次,收藏3次。mybatisplus 在封装更新语句时 会默认不更新值为null的字段;有的时候我们需要指定某个字段为null时更新进去又不想去mapper.xml 写update sql于是就有了如图 在对应的字段上面添加 @tableField注解注意 jdbcType 必须要有 不然会报错 无效列类型value 对应的是数据库的字段名另外在update的时候运用此注解 还有以下作用有兴趣的可以多看看源码了解哈..._mybatis updatebyid 空值更新入库

VS2010中ashx文件中代码折叠实现方法(超级有用,终于找到了方法!)_在vs2010.net的.ashx文件中如何把方法中的部分代码折叠起来-程序员宅基地

文章浏览阅读1.8k次。工具 --- 选项 --- 文本编辑器 --- 文件扩展名,只要在右侧添加 ashx ,选中MS-VS C# 保存后_在vs2010.net的.ashx文件中如何把方法中的部分代码折叠起来

随便推点

从一个class文件深入理解Class文件结构-程序员宅基地

文章浏览阅读382次。深入理解Class文件结构概述我们都知道编写的Java的源码会先编译成Class文件,java虚拟机再将Class文件解释编译成对应平台的机器指令,所以能够解析Class文件的数据结构是非常有必要的。先编写一段java源码,定义一个类并实现一个接口,类内部定义了一个成员变量、一个类变量和一个sum方法。package com.changyy.jvm;public class ClassTest implements IClassTest { private int n = 10_class文件结构

二叉树及先序遍历二叉树,中序遍历二叉树,后序遍历二叉树_1. 输入二叉树结点数,先序遍历序列,中序遍历序列2.输出该二叉树的后序遍历序-程序员宅基地

文章浏览阅读2.5k次,点赞2次,收藏17次。1.二叉树的常用性质<1>.在二叉树的第i层上最多有2 i-1 个节点 。(i>=1)<2>.二叉树中如果深度为k(有k层),那么最多有2k-1个节点。(k>=1)<3>.若二叉树按照从上到下从左到右依次编号,则若某节点编号为k,则其左右子树根节点编号分别为2k和2k+1;<4>.二叉树分类:满二叉树,完全二叉树..._1. 输入二叉树结点数,先序遍历序列,中序遍历序列2.输出该二叉树的后序遍历序

微软cl编译器的简单使用_cl编译器tiny模式-程序员宅基地

文章浏览阅读562次。cl的位置:开始 –> 所有程序 -> Microsoft Visual Studio ->Visual Studio Tools -> Developer Command Prompt编译器产生通用对象文件格式 (COFF) 对象 (.obj) 文件。链接器产生可执行文件 (.exe) 或动态链接库文件 (DLL)。注意,所有编译器选项都区分大小写。若要编译但不链接,请使用/_cl编译器tiny模式

设置相机水印字体的大小、位置_平板拍照的水印字体大小-程序员宅基地

文章浏览阅读7.9k次。需求是根据保存的照片的不同分辨率设置不同大小的文字水印,文字需要黑色描边,白底色,位于照片右下角水印描边是非常重要的,两种区别明显的颜色(示例代码中使用的就是黑色和白色)可以有效的提升在不同背景下水印的可识别度。解决方法是获取照片的尺寸,然后根据照片的尺寸进行文字大小的设置;并利用canvas.drawText(test,x,y,paint) 设置文字绘制的位置。根据Bitmap的尺..._平板拍照的水印字体大小

C++ 中的虚:虚基类和虚继承_6-3 沙发床-虚基类-程序员宅基地

文章浏览阅读415次。C++ 中的虚:虚基类和虚继承一、问题由来以沙发床为例:沙发床继承了 沙发 和 床。#include <iostream>#include<string>using namespace std;class Sofa{public: Sofa(float pe = .0, string cr = "black") :price_(pe), color_..._6-3 沙发床-虚基类

UVM——RAL模型基础之一(相关层次、设计流程)_uvm ral-程序员宅基地

文章浏览阅读1.2w次,点赞36次,收藏244次。文章目录一、RAL设计流程二、RAL模型层次相关类三、RAL模型设计实现3.1.利用RAL generator(ralgen)将寄存器描述性文档生成UVM寄存器模型3.1.1.创建寄存器模型类(ralgen自动生成)3.1.2.将寄存器放入register block容器中,并加入到对应的Address Map3.2.创建RAL适配器(adapter)3.3.验证环境中实例化RAL模型并建立连接3..._uvm ral

推荐文章

热门文章

相关标签