我后十年的技术路

过去一年我是比较地迷茫的,这种迷茫是源于我对过去十年工作的反思,一种无意义的反思。

过去十年,我的主要工作是在Windows系统环境下编写内核驱动,我几乎涉及过80%的驱动类型,并在后四年里专门做图形显示驱动。另一项主要的工作内容是软件调试,在AMD工作时,我每个礼拜要至少完成3个debug任务;我每年都会遇到一两个特别奇怪而紧急的问题,最后通过艰深困苦的汇编调试,证明是微软的代码bug。

时间促使我反思,在长久的埋头苦作后,我灵光一现地抬起头来,发现自己做的所有工作,好像都只是皮毛和外表。我做不到以三言两语来描述通常要长篇大论描述的问题,因为我尚被无数的细节所羁绊,远未能抵达其核心。事物的真实面貌并没有被真实展现,我看到的只是包装过的模样,尚不了解它的骨肉和肌理。

我越深入生活,越领会到大道至简的妙用,无处不在。孔子说,天无言而四时序。宇宙大道在万事万物身上都存了一份拷贝,万物的运行只是不断地在模仿着大道的至理。一切的纷繁复杂都是迷人的外表,核心大多宁静而简洁。

通过这份理解,我感到自己所做工作的价值很低。那么多的设备和软件驱动,各种不同的框架,十数种的设备类型,复杂程度恐怕要穷极一个程序员的整个职业生涯来精通之。而种种不断出现的疑难问题,异常和蓝屏如家常便饭,稳定运行数年之久的驱动忽然出现问题,也是正常之极的。又必须要通过艰苦的调试,日以继夜地战斗,最终发现问题的症结可能微之又微,比如一个粗心的类型错误、栈溢出或死锁,微调几行代码即可解决。

所有的这一切都太复杂了!我做过无数的调试,问题足够复杂,但只有在解决问题的一刹那有巨大快感,延续的时间很短,基本上隔日之后就会被快速忘记,最终只能留下文字记录而已。价值十分有限。

在今后的十年,我还会大步走在技术的道路上。但以前的路已经陈旧,这条旧石子路太过坑坑洼洼,沟坎多得时刻都能让行人跌跟头。现在,我为自己立一个转向标,朝一条更简单的路去走。通过这条简单的道路,我要能发现软件系统的神秘核心,终能有一日,只须通过三言两语,就把复杂的概念拎清。

我仍会继续编写驱动,进行艰深调试,但心情和兴趣却已变化。后十年,我走一条简单宽广的路。

 

45,532 total views, 2 views today

《我后十年的技术路》有25个想法

  1. 晚辈的一点人生思考,虽然我才26岁,但是我知道人生是没有意义的,空虚的,我所有做的一切到最后没有一点意义,我再想我的技术达到一种能上升到哲学的境界,
    但是对我来说好像也是空虚的,我的内心不会因为我的技术得到满足,我仍然是空虚的,我追求音乐,到一定程度,我发现音乐也不能满足我,我追求绿茵场上的刺激,享书足球带给我的激情,但我还是觉得空虚的,我坐在千米长廊的长椅上,两眼放空,问自己“人生的意义是什么?人到底应该是怎么样活才是真正有意义,才是真正人来到世界上应当尽的职责,”这样的疑惑,甚至是使我忧愁,我找不着答案,

    当我打开所罗门的传道书时,最有智慧的王,他的结论:

    你趁着年幼、衰败的日子尚未来到、就是你所说、我毫无喜乐的那些年日未曾临近之先、当记念造你的主.
    不要等到日头、光明、月亮、星宿、变为黑暗、雨后云彩反回、
    看守房屋的发颤、有力的屈身、推磨的稀少就止息、从窗户往外看的都昏暗、
    街门关闭、推磨的响声微小、雀鸟一叫、人就起来、唱歌的女子、也都衰微、
    人怕高处、路上有惊慌、杏树开花、蚱蜢成为重担、人所愿的也都废掉、因为人归他永远的家、吊丧的在街上往来、
    银链折断、金罐破裂、瓶子在泉旁损坏、水轮在井口破烂、
    尘土仍归于地、灵仍归于赐灵的 神。
    传道者说、虚空的虚空、凡事都是虚空。
    再者、传道者因有智慧、仍将知识教训众人.又默想、又考查、又陈说许多箴言。
    传道者专心寻求可喜悦的言语、是凭正直写的诚实话。
    智慧人的言语、好像刺棍.会中之师的言语、又像钉稳的钉子.都是一个牧者所赐的。
    我儿、还有一层、你当受劝戒.著书多、没有穷尽.读书多、身体疲倦。
    这些事都已听见了.总意就是敬畏 神、谨守他的诫命、这是人所当尽的本分。〔或作这是众人的本分〕
    因为人所作的事、连一切隐藏的事、无论是善是恶、 神都必审问。

    《传道书第十二章》

    我明白过来了,

    人总有一天会在造物主面前交差的,不然生命就没有意义了,我们和动物也就没有区别了,动物也吃喝,也交配,也劳动,也为人类贡献自己的劳动成果(比如蜜蜂)……

    所以,我知道 马太福音6:33 所说的 “ 你们要先求他的国和他的义,这些东西都要加给你们了 ” ,

    原来我的次序颠倒了,我转过来了,我应该是为了造物主给我的使命,去努力工作,生活,为了造物主去做的态度生活的时候,我的一切付出才是有价值的,有意义的,我的价值不在乎留在世界上多少,而是我在造物主面前是否忠心,

    当我死后,我的灵魂进入到永恒里的时候,我在永恒里面的产业就是我在世界上生活的时候,我为造物主忠心的态度做了多少的工作,

    真正的宽路,在耶稣基督里面,在耶稣基督里面,我能得到真正的自由,不被世界所辖制,不成为罪恶的世界下的奴隶,

    感谢,朋友,加油,

  2. 前辈,我现在在学习windows api编程,我对windows驱动也是感兴趣,目前工作中使用C#,希望在windows底层开发方面指导指导晚辈。愿上帝赐福与你。

    1. 入门的话,就是看张帆的《Windows驱动开发技术详解》。如果看下来不感兴趣,就不考虑驱动开发了。用VMWare装个xp虚拟机作测试,一步步验证他的demo代码。

      下一步看谭文等人编写的《寒江独钓——WINDOWS内核安全编程》,对哪方面的驱动感兴趣就看哪些章节。

      如果有余力,就买张佩的书看看。

  3. 张工,我来自魅声,想请您帮忙开发ASIO音频驱动,如果您有业余时间和兴趣请加QQ 2556914074

  4. 同样的迷茫,一直在反思,仍然没有找到方向。“微调几行代码即可解决”没当这个时候就感觉好像成就感没有多写一些来的实在,也同样感觉没有把握很核心的东西,路漫漫其修远兮……

  5. 想达到无为的境界,先要无不为,现在达到的高度也是过去的积累。真正的大道不能用言语描述,否则就有规可循了。保持初心很重要。

  6. 人都在追求高度,追求长远的价值,我想,最主要是基于人的自信和一丝贪心,认为自己,认为作为人类的自己总是异于他人,异于其它物种,所以必须做出一些成绩来证明。越成功,越有才能的人,越是在不断地追求着,不计辛苦,不计内心的迷茫。
    个人浅见,追求者,不在于高度,不在于长远,而在于经常的自我满足。做一件事情,有很大的满足感,我就会用心去做。从无知,少知,渐渐有些知识。不急,不用力地去追求。有收获就满足。我走这段路,是因为我在走这段路,而不是急着走完这段路,接着走下段路,因为下段路与这段路并没有分别。在这段路上,看看花草,看看蓝天白云,其实是很不错的。
    技术并不会带来许多的成就感和享受,相反地,艺术和家庭却可以。我宁愿多花些时间在它们身上。技术上的追求,终究能有几何?随缘而已。也不偷懒,也不穷心极力。

  7. 我越深入生活,越领会到大道至简的妙用,无处不在。孔子说,天无言而四时序。宇宙大道在万事万物身上都存了一份拷贝,万物的运行只是不断地在模仿着大道的至理。一切的纷繁复杂都是迷人的外表,核心大多宁静而简洁。

    赞!

  8. 遥想当年自己调试完第一个能用的驱动和dll时,激动不已,以为终于接近win系统了,如今依然如梦呀!

  9. 张老师好:
    看了你的《60分钟理解Windows内核驱动》,想跟你学习Windows内核驱动,希望你能发一份视频给我学习学习。谢谢!

  10. 张老师,你好,在看你写的书-深入浅出windows驱动开发,在书中你提到你有套USB驱动学习开发板,不知道你哪里还有吗?多少钱可以发一套(带这个板子的demo程序)?

  11. windows 就是个坑 如果开源代码 很多事 分分钟就解了。感觉10年投入精力到linux 内核 远比10年投入到window合算,后悔当年选择windows

  12. 其实你已经做得很好了。软件世界和现实世界有共通之处,预见和避免bug几乎不可能,所谓的大道至简很大程度上不过是自欺欺人,如同年老的战士厌倦战争。

  13. 同是姓张,同是82年人,同是1999年9月来宁,同是做技术的,同是在创业的,同是关注GPU的,同样的感触,博主说得就像我一样

发表评论

电子邮件地址不会被公开。