今天是2023年的第一天,磕磕碰碰也好,收穫滿滿也好,2016已經被翻過。
回首2016,我除了看過以下的書和又掌握了幾項新技能外,最重要的是,我開始思考並體悟哪個困擾很多同行的問題:「大齡程式設計師的出路是什麼?」。但是,我還沒有找到真正屬於自己的答案,所以,2023年只是探索,談不上計畫與展望。
2023年,我在程式設計領域的的最大收穫是系統地學習了一些「作業系統」和「計算機原理」方面的知識。書單如下:
1,《windows驅動開發技術詳解》(張帆著)
本書是我學習windows驅動開發的入門書籍,我也同樣推薦給想要入門windows驅動開發的同學,儘管它講解的是wdm驅動開發模型,但是,作為入門,wdm模型可能更容易讓你了解驅動的原貌。此外,它也包含了一些基本的作業系統和windows驅動開發的常識,比如對inf檔案的介紹。
2,《win7 裝置驅動開發》(ronald d. reeves著)
本書主要介紹現在流行的windows驅動開發模型——wdf模型,包括kmdf和umdf。我主要閱讀了kmdf部分的內容。本書如果結合微軟官方發布的「windows driver samples」,細細研究,絕對是掌握windows驅動開發的最佳途徑之一。
3,《windows 核心程式設計》(jeffrey richter)
這是我本年度讀過的最好的一本技術類書籍,沒有之一。該書通過乙個個設計巧妙的examples,將複雜的作業系統一點點的展示給讀者。該書讓我對程式設計,對作業系統的認識提公升了好幾個level。
4,《組合語言》(王爽)
這是我本年度讀過的另一本好書。《windows核心程式設計》讓我從作業系統的角度重新認識「程式是怎麼執行的」,《匯報語言》則讓我從cpu的角度來看待「程式是怎麼執行的」。該書讓我對計算機原理,程式執行流,中斷,按位運算,程式的編譯和鏈結有了重新的認識。
5,《c expert programming》
學習c語言,不僅是為了程式設計,而是為了更好地理解計算機。所以,美國大學裡,python是非計算機專業入門程式設計的首選課,而c語言是計算機專業的必修課,它是為後面學習作業系統準備的。《c expert programming》更多的是讓我更了解計算機。
2023年我從乙個windows應用程式開發者,轉為了乙個windows驅動開發者。從上面的書單可以看出,我惡補了一番驅動開發所需要的知識。這次小轉型,不只是讓我新增加了一項技能,更大的收穫是讓我認識到「挑戰自己(的過去),進入新領域」也不是多麼困難的事。我是2023年2月份開始接手同事離職後留下的pcie驅動開發工作,到5月份的時候,我已經完全掌握,並做了如下創新:
1)原驅動僅支援win7,我開發的驅動支援win10和win7。
2)制定了新的上下位機通訊協議,拋棄了原來的驅動工程,重新開發了一套更簡潔高效的pcie驅動。
3)引入了vs2015+wdk10,使用了ide替代之前的ddk7600命令列編譯驅動工程。
2023年的另一大收穫是,我發現從網路部落格中也可以系統地學習知識。而且我發現,有些網友的部落格寫的非常淺顯易懂而富有趣味性和新穎,比教科書要更適合快速學習。比如,我2023年系統的學習了如下系列博文:
1,《linux探索之旅》
之前買了兩本linux的入門書籍,一本只看了開頭,另一半堅持學了1/3,但是,我感覺我僅僅是在端午節加班那幾天瀏覽了一下這個系列部落格,學到的就比之前多。
2,《windbg入門》
1,《賈伯斯傳》
雖然我到現在為止,還是不能完全理解賈伯斯,但是,我已開始認同,他說的「你的時間有限,所以不要為別人而活。不要為教條所限,不要活在別人的觀念裡,不要讓別人的意見左右自己內心的聲音。最重要的是勇敢地去追隨自己的心靈和直覺。」
2,《三體》
該書分為三部曲,是我本年度讀過的唯一一本**。我非常珍惜閱讀的過程,它讓我感受到生命的渺小和宇宙的巨集大,我們平日生活中的這些煩惱在宇宙這個大背景下不值一提。所以,我分三次來享受閱讀這三部曲的過程,每次都是在我很煩躁很焦慮的時候開始讀一部分。它讓我的心胸開闊,心態恬靜。
3,《數學的故事》
該書是一本科普書,以故事的形式講述數學史和現代數學的分支。我印象最深的是歐幾里得的《幾何原本》的那章,《幾何原本》從5個公設出發推到出整個歐式幾何的知識體系。它這種推理的過程,對科學的影響非常深。此外,第5公設也是現代幾何學的起點。
以上就是我想分享給大家的,我的2016的學習清單。事實上,2023年我感覺自己(技術上)的進步還是很大的,但是這種進步並沒有更我帶來足夠的快樂和安全感。甚至,技術越進步,內心越恐慌,或許是,技術的進步讓我感覺工作中已經沒有自己搞不定的問題了,即使是之前不曾接觸過的驅動開發也被自己拿下,這種沒有挑戰的重複工作讓我有一種自己將來會被淘汰的恐慌。不是說,驅動開發或軟體開發沒有挑戰,而是我司的這塊工作沒有挑戰。我一度想要換工作,去尋找更大的挑戰。我也想過轉型,去做嵌入式開發,去搞dsp。類似的焦慮和急迫,時不時會出來折磨我一下。
後來,我看到一篇文章《35歲的程式設計師出路在哪》,上面說,年輕的程式設計師無須過早的憂慮不是自己這個年齡階段憂慮的事,而大齡的程式設計師也無須羨慕年輕者,你碰到的困難,他們過不了幾年也會碰到。
是的,焦躁解決不了問題,探索出路才是正道。事實上,我司有個同事就在2023年成功地完成了從純研發人員到專案帶頭人兼市場管理的轉換。他比我大幾歲,但他過得充實而又平和。我也得開始探索出路了,linkedin的創始人說,成功不一定要趁早,失敗一定要趁早。
2017,我把它看作探索的一年,試錯的一年。在這個新年的第一天,我想先寫下將要探索的幾個事情。
1,堅持每天學英語,並在5月份左右參加一次toefl考試,檢驗自己的學習效果。
2,學習演算法,掌握乙個演算法工程師的知識體系。
3,廣泛閱讀。
回首2015,展望2016
2015年已經漸行漸遠,這已經過去了6天了,好快!自從工作後,每年都要寫個總結,來總結過去的這一年,順便展望一下來年吧,不過前兩年都是年底就抽空寫了,今年卻遲遲沒有寫,想來也是懶了很多吧!好在下午上班做了提醒,所以現在來總結下2015,順便展望一下2016吧。2015年最大的事就是換工作了吧!說起來...
回首2015,展望2016
在整理自己2015年的時候,回過頭來看自己的這一路留下的東西,真是各種感慨。曾經認為很難的東西,在不知不覺中也已經都走過來了。看來群眾的力量真的是無窮大的,我只要不掉隊,好好跟著一塊學習那便是勝利。2016年,在生活上我希望自己可以提高自己的免疫力。2016年,我希望在學習上自己能夠自信一點,能夠自...
回首2015,展望2016
此刻已是2016新年,在大多數情況下,大家都是習慣在新年前的最後一天,完成今年的總結與來年的展望,我想此刻的總結也是有意義的。2015年是我畢業後的第乙個整年,在第乙個工作的整年裡。從工作績效上看,還是取得了不錯的成績,在磕磕碰碰中也完成了第乙個專案,完成了需求分析 方案設計 元件聯調工作,產品也成...