小时候看到很厉害的人物时,总会想,我将来也要成为他那么厉害的人,每个人都有似曾相识的时刻吧。凡是总有个但是,但是,毕业后才发现,我们太容易成为社会这个大机器的一个个小小螺丝钉,那么的不起眼,那么的容易被忽视。于是,我们的目标一降再降,直到将自己归为“屌丝”为止,有种硬生生被从天上拍下来的感觉。
没有谁注定要成为什么人,注定要做什么行业,我们总是很容易被别人的鼓动慢慢诱导上一个道上。就像小时候有人夸你跑的比较快,在有跑的机会时你总是刻意的想证明自己确实跑的不慢,倘若你确实跑的还行,那么你就认为自己确实有个“擅跑”的特长了。好像我走向程序员这个道路也是这种情况,本身是个“穷矮挫”,弹不了吉他,走不了舞步,突然某天有人说:哇,你编程好厉害啊。然后我就认为我有编程的天赋了,工作快两年了,整体感觉还行,工作总体比读书充实些,偶尔感觉累点。
所谓干一行爱一行,既然选择了程序员这行,就踏踏实实干好。但是,有想法做好什么事和是否有这个能力,这两者本身没有关系,就像我想成为一个科学家,但我恐怕真没有这个能力。本身从事的是嵌入式行业,扩大一点点叫做“系统程序员”,不知道是不是准确,姑且自己这么界定一下。常常在想,那些业界的大牛是如何一步步走到功成名就的那一步的,它们经历了哪些过程,如何办到的?为了成为那样的人,我该学习什么,我的方向在哪里?每每想来总是一团乱麻,自己零零散散接触的知识也比较杂,经过经半个月的有针对性的阅读、总结,结合自己的实际情况,大概给自己确定这些方向,它们形成一个网状结构,如下图(wps的绘图能力太差了,和word真是不能比)
就是自己的一点点感想,鉴于图的问题,有些内容没有展开说明,如果有读者想吐槽一下,请嘴下留情。下面分别解释一下:
linux/vxworks:操作系统及应用能力。这本是个非常大的内容,想想看APUE以及《UNIX网络编程,卷一》、《UNIX网络编程,卷二》,就知道这块内容的含量,还不包括驱动、BSP开发方面的内容,但这也是每个系统程序员赖以生存的技能。通过这两年的工作、学习,对于vxworks下各种RTP开发基本上了熟于胸了,linux可能稍微欠缺些,但是作为同根同源的系统,快速学习应该不是难事;其实我更喜欢BSP、驱动方向的开发,感觉操作硬件的感觉很棒,这方面能力薄弱些,理论倒是知道许多,但是操作经验不足,需要在vxworks和linux方向同时加强,vxworks在工作上多找机会锻炼,linux在自己的开发板上多多实践实践。
语言:语言方向我只列举了c和python,其实对c++、java、c#也有些了解,特别是后两者,有几个项目的经验。但是,我认为我的目标要主要放在c和python上,c语言没得选择,没有哪个系统程序员可以不掌握c,况且我个人还是非常喜欢c语言这种一切都在掌握中的感觉的;python是我不久前开始使用的,用上了就觉得这个语言的强大,其库的强大令人乍舌,很简短的代码可以完成非常丰富的功能。另外,我信奉一条原则,我们应该尽量少的手写代码,而让代码自动写代码,我认为python是我在这个方面最好的工具。
数据结构和算法:这个最没有什么可说的,基本的数据结构和基本算法是每个程序必备的技能。同时,了解这些基本就可以了,更复杂的算法我们应该留在具体问题时再钻研,光搞算法也是件特别无聊的事情。
调试能力:这个成一个方向是有切身的体会的,我们开发过程中,调试时间占据了四分之三以上的时间,调试能力的强弱直接决定了解决问题的速度。当IDE很强大时这个能力还显得没有那么重要,在vxworks平台上,workbench的调试方便性已经被业界认可了;但linux平台上,目前我也没有发现特别方便的,所以gdb、shell是我需要加强的部分。对于gdb和shell,也不是一无所知,但是总是缺乏系统的掌握,遇到真正的问题时还要查资料,着实很让人抓狂。
系统架构能力:这个方向是个难以捉摸的部分,架构本就是一个综合能力的体现,没有足够多的项目经验,很难说自己能够做出多么稳定、高效的架构。但是,平常注意各个项目多多积累,有针对性的学习一下一些经典的架构案例,对这方面的能力应该也是大有帮助。最近在读《unix编程艺术》,觉得很赞,很多原则在实际项目中有那么点领悟,但是朦朦胧胧的没法用言语表示出来,在这本书上看到了,觉得真的很惊奇。
领域专长:什么都会等于什么都不会,我们既要知识的广度,同时也要在特别行业上有镇得住场的撒手锏。驱动和通信是我比较喜欢的,这个分类可能不伦不类,但是大概意思还是可以表达清楚的。驱动方向主要增加实践动手经验,要在实践中检验自己学的理论知识,一味的看理论效果太弱了;通信方向比较大,希望什么时候能够换到一个类似这样的公司,进行些底层协议方向的工作。
团队管理:所谓活到老、学多老,但是人老了总是很多不足的,比如我现在就比30岁左右同时反应能力好许多,我到了30岁肯定也是这种情况的。未雨绸缪的考虑下,一辈子编码总是不可能的,到了一定年纪,反应能力就差多了,系统设计、团队管理是大多数人的选择,我想这也是我的方向了。
表达能力很一般,文档能力也是一般,这需要以后多多实践、多多提高,所以上面提的一些内容可能逻辑不清晰或前后矛盾,等有时间再慢慢润色、慢慢修改吧。话糙理不糙吧,总的来说表达清楚了自己的意思,下一步再想表达更好。
突然一下子想到王国维先生的《人间词话》,想想我们一步步走过来的,恰恰是《人间词话》里描述的。
一、昨夜西风凋碧树,独上高楼,望尽天涯路
我们总是有年少轻狂的时候,只想仗剑走天涯。
二、衣带渐宽终不悔,为伊消得人憔悴
当发现理想很丰满、现实很骨感后,我们开始深思苦虑,孜孜以求。
三、众里寻他千百度,蓦然回首,那人却在,灯火阑珊处
当某一天,我们“功成名就”之时,我们才发现,原来家人的陪伴、儿时的梦想,才是我们最希望得到的。
想想,人生真是够无聊的,都知道结果会怎样,但有几个人有那个勇气去走他人没走的路呢?我们身上有太多的责任,这些责任让我们没法洒脱的去走自己真心想走的路,特别喜欢《血色浪漫》里的钟跃民,可以义无反顾的做自己喜欢做的事情,可是我没有这个勇气,等我暮然回首时再考虑,再后悔吧。