Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7303845
  • 博文数量: 159
  • 博客积分: 10424
  • 博客等级: 少将
  • 技术积分: 14605
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-14 12:45
个人简介

啦啦啦~~~

文章分类
文章存档

2015年(5)

2014年(1)

2013年(5)

2012年(10)

2011年(116)

2010年(22)

分类: LINUX

2012-01-05 07:08:31

作者:gfree.wind@gmail.com
博客:blog.focus-linux.net   linuxfocus.blog.chinaunix.net
 
 
本文的copyleft归gfree.wind@gmail.com所有,使用GPL发布,可以自由拷贝,转载。但转载请保持文档的完整性,注明原作者及原链接,严禁用于任何商业用途。
======================================================================================================

说到年终总结,首先让我想到了我深恶痛绝的国企和政府部门,那种装腔作势,官僚主义的态度。不过看到CU的新年征文,也就这个契机,好好总结一下吧。君子一日三省其身。只有好好的总结过往的经验和教训,才能够成长。

这次的题目姑且叫做“学会取舍”吧。

按照一个固定的套路,要先回顾过去。记得在11年3月份的时候,我发了一篇博文《终于确定了自己的技术发展方向》 
当时自毕业以来,一直比较迷茫于自己的发展方向,终于那天在回家的路上,确定自己还是往网络开发这个方向发展。这样,这个目标也算我11年的一个计划吧。

下面看看11年最后我自己到底都干了些什么:
1. 开始阅读Linux Kernel的TCP/IP部分的源代码,也写了50篇左右良莠不齐的笔记吧——只能算得上笔记呵;这个还是有一些收获的。这样对于数据包接收——从网卡到socket,和发送——从socket到网卡,大体的流程基本清楚了。
2. Linux的APP开发的一些文章,则是我平常解决的一些bug和帮助同事解决问题时的总结。不过由于现在基本上很少写真正的app了。所以后面就很少写这样的文章。现在对于app的兴趣就在于一些API的实现,有时候可能会去看一下Linux的API的实现。
3. 写了几篇关于如何编写安全代码的博文。现在我对于自己代码的健壮性还是很有自信的。一般来说,除非是typo,我基本上不会有代码上的错误。也就是说。在代码风格和C的细节上,兄弟是很有自信的。但是在工作中,在改Bug的时候,可能调了半天,发现是一些同事犯了很低级的错误。大部分都是由于代码风格不好,或者对于C的细节不了解造成的。这时候,真是让我郁闷到极点。其实一个好的代码风格和了解C的细节,是一个程序员的必修课。当你还不了解你的工具时,就开始使用它,能不犯错?
4. 11年我还萌生过换工作的念头,原因是多方面的。也借了这个契机,决定好好的补一下自己的短板,算法。所以11年对算法也学习了一段时间,并且有了一些收获,有了自己的体会——学习算法,重要的不是学会那个算法本身,是学会那个算法的思路。
5. 11年末的时候,又再次想到一些大师的经验。对于一个程序员,最好多学会几种语言,尤其是有着不同语义的,这样可以开阔个人的视野。所以我选择了从未接触过的面向函数的编程语言。最早是想学习Lisp,但是不喜欢它的语法,后来看中了haskell,目前还在学习中。希望可以把它学好。这样我对于面向过程,面向对象和面向函数的编程语言就都有了了解。
6. 前面关于说自己对于C的细节的了解,说得有点自负了。今年我读了一遍C99标准,感觉对于C这样一个简洁的语言,就有如此多的细节,说自己了解C的细节,真是太大言不惭了呵。谦虚使人进步,一定要记住这点。

说了半天,一定没有说到主题,“要学会取舍”。下面开始。
1. 技术方面:作为爱好者,难免会爱好广泛,这是一定要学会取舍,贪多嚼不烂。尽管我对kernel很感兴趣,但是某些时候一定要压抑自己,过多的去关注暂时用不上的东西,对自己目前的帮助并不是很大。这时还是那句话,要找到自己兴趣和工作的契合点。对于我来说,还是kernel的网络模块,这部分既满足了我对于kernel的好奇,也和工作很好的结合起来。
2. 职业发展方面:今年在萌生找工作念头的时候,只去面了一家企业,就是Nokia。顺利拿到offer,当时还真是想去啊。待遇和福利都不错,而且离家特别的近。可是最后还是放弃了那个offer。一个是因为不舍得当前熟悉的环境,熟悉的技术和熟悉的工作环境,二是因为目前的公司还真的有可能上市。如果IPO成功的话,个人的收益还是不错的。对于我这个选择,我舍掉了一个大公司的工作经历,舍掉了舒适的环境,而看中的是熟悉的环境和方向,以及潜在的个人收益。

11年过去了,对比五年前初出茅庐的我,感觉自己成熟了很多。不仅在技术方面,还有一些人生经验。对于全新的12年来说,目前定几个小目标吧:
1. 熟悉haskell,领会函数式编程语言的精髓;
2. 继续学习Linux的TCP/IP源代码;
3. 继续提高自己的算法;

我想起一本书来,名字叫做《coder at work》。忘了是网易的云风,还是刘未鹏了,给这本书起了个中文译名为《我编程,我快乐》。虽然有些调侃,但是却显示了英文名字背后的意思。不过对我来说,这个译名还是不满意,我也找不到更合适的翻译。还是让我们直接领会英文的含义吧,coder at work。

有的感觉是无法翻译的。

对于我来讲,做个coder,很快乐:)


阅读(22448) | 评论(31) | 转发(6) |
给主人留下些什么吧!~~

GFree_Wind2012-03-21 16:43:26

alexhak2004: 看来我们差不多大啊,我是2000年本.....
我也是2K年本科入学。

alexhak20042012-03-21 15:21:08

看来我们差不多大啊,我是2000年本

GFree_Wind2012-03-20 17:51:31

alexhak2004: 哈哈,我也是我们学校第一届两年的.....
也算幸福的一代呵。

alexhak20042012-03-20 17:50:15

GFree_Wind: 对。现在云风自己去创业了啊。潇洒的人生啊。

我是我们学校第一届2年的,后来国家好像又不让2年毕业了。.....
哈哈,我也是我们学校第一届两年的

GFree_Wind2012-03-17 21:43:20

eclipse_2: 楼主如何学习内核的网络模块啊? 能给点意见吗? 我现在也在学习这个 但是不知道如何下手 比较迷茫.....
1. 了解TCP/IP协议本身;
2. 了解网络开发的应用;
3. 了解kernel本身的基本结构;
4. 从上到下——从应用开始,或者从下往上——从驱动开始,找一个自己熟悉的开始研究