發布成功
贊賞金額:
支付金額:5元
支付方式:
贊賞成功!
你的贊賞是對作者最大的肯定~?
歲月如梭,光陰似箭,參加工作至今十年。彈指一揮間,昔日“恰同學少年,風華正茂”的毛頭小伙,轉眼成為“多情應笑我,早生華發”的中年漢子。回首往事,別有一番滋味在心頭。
從當初的初出茅廬,一步步地走到了今天。在成長的路上,遇到了數個貴人,有過很多次的當頭棒喝,也有過很多的徘徊、很多的無奈和很多的感悟。
我的收獲可以總結成下面三句話:
步步深入,水到渠成;
舉一反三,觸類旁通;
整合資源,提升自我。
步步深入,水到渠成
很多的初學電子工程師在面對新技術的時候總希望找到登堂入室的捷徑。但電子技術是門很嚴謹的科學,靠捷徑和技巧最終都會是無果而返,折騰了半天又回到了起點。
2001年的時候,公司的一個產品準備使用USB端口通信,我和幾位同事自發開始學習USB的相關知識。
我好幾次計劃仔細把USB協議從頭看到尾,但每次都是看了前三章,就缺乏耐性,抑或因為其他專職工作的時間安排而中斷。
自此之后,至少10次,我一次又一次啟動學USB設計的計劃,但每次都是從閱讀USB協議開始,然后閱讀到第三章就停掉了,甚至只看了十幾頁。
雖然花費了時間,但沒有絲毫進展,所掌握的知識比當初從科普文章中得到的也沒有增加多少。
直到2003年的一天,部門來了一位對USB小有所成的新同事。一次偶爾的聊天中,他提到,“USB協議熟讀第九章,再看些sample程序,就入門了”。
于是,找來Cypress的USBHID的例子程序,對照USB協議的第九章來學習。那一周我不僅對USB開發入了門,而且頓悟了不少東西。
我一直后悔沒有早些仔細研讀Cypress提供的USB例子程序,因為只要硬著頭皮去讀,就能發現里面的代碼很清楚的說明是由CH9協議實現的。
我花了斷斷續續3年的時間學USB,最大的收獲不是技術層面的,而是這曲折的學習之路讓我領悟了——做技術,要扎實才行。只要步步深入,自然水到渠成。試圖走捷徑,實際卻是在原地踏步。
舉一反三,觸類旁通
我一直認為,作為一個工程師,尤其是電子工程師,“照貓畫虎”的類推能力是非常重要的。
如果我們用舉一反三的交叉方式去思考不同的技術,就會發現很多技術是有內在關聯的。
技術領域上較廣泛的涉獵給我的感觸是,很多技術是作為一個體系出現的,靠架構來組成的。而架構的存在,也使中間件的開發更有效率。
我曾有機會做WindowsMedia的編程開發,這是WindwsXP平臺上一個視頻特別處理,當然用到了DirectShow技術。
我當初就感覺DS的架構怎么這么面熟,就是一時認不出來。原來DS使用了COM技術,變得神秘了。
但透過COM這個接口技術看架構,原來又是跟WDM那么的相似,只是表現形式由Device變成了Filter而已。
一個內核層的架構居然在應用層也能找到它的影子。
做Windows通信程序的時候,希望收到數據時才響應,例如向主窗口發個消息。這是APP級的,怎么做呢?
對了,就用FILE_FLAG_OVERLAPPED這個屬性,我們只要以這個屬性打開設備,如串口或者USB等,以后讀取設備數據的時候,這個函數會立即Return,我們隨后就可以等待事件(Read完成了或者Timeout了或者是某故障發生了)。
配合多線程編程,很容易做成消息驅動型的,而不必用死循環浪費額外的CPU時間片。這里就借助了操作系統給我們提供的消息機制。
在開發嵌入式設備的時候,我們會遇到類似的問題,想節約額外的CPU時間片以達到節電的目的,甚至更迫切,這就可以用到消息機制。
其實,嵌入式設備即使不用EmbeddedOS也可以利用OS的某些特性來設計,這使得代碼的可維護性大大增強。
所以做過WindowsSDK開發的人,轉做消息驅動的嵌入式系統,很多概念是非常容易接受的。
其實,很多嵌入式系統的設計者,也確實參考了Windows的消息機制的實現方式。
所以,我面試嵌入式工程師的時候,一般都會順便問一下有沒有Windows PC編程的經驗。
整合資源,提升自我
很多人覺得整合資源,是管理上的術語。實際上,工程師也需要把已經掌握的資源進行整合,以得到最大程度的自我提升。
就像我們總質疑為何某同事的技術能力不如我,卻做上了部門經理的位子。
如果我們仔細觀察,就會發現是自身的某些因素導致了我們的很多能力無法得到最大機會的表現,或者,要充分整合我們已經掌握的資源,才能使得我們的能力最大程度的展示。
我在工作7年之后辭職準備創業,同很多工程師都有的艱苦創業經歷一樣,單單一個角色轉化就非常令人痛苦。
以前只需專注技術就足夠了,現在卻需要面對成本、工期、工廠等N多的因素,整天在工程師、業務員、售后服務之間角色轉換。
另外,創業之初,各類文檔的撰寫就是個不小的門檻,包括合作意向書、NDA協議、產品規格書、報價書,都需要較好的文字表達能力。
拜訪重點客戶之前,還要制作PPT的演示投影。創業之初雖然辛苦,但可預見的勝利果實的誘惑力太大了,加班、熬夜,都是家常便飯。
因為起步稍微有點基礎,所以開始就抓到了客戶,直接進入創業過程中“為他人做嫁妝”的階段。總結起來,我的創業經歷就是整合自身資源,充分提升自己的一個過程。
接下來,我想給在工程師路上努力拼搏的小伙伴們幾天我自己認為不錯的建議,讓我們一起并肩前行!
精致時間 Time Savvyee:我們沒有時間去看書,我們沒有時間去見見我們的老朋友,我們沒有時間去鍛煉,我們沒有時間去思考,我們沒有時間同父母聊天。
精致效率 Savvy Efficiency:工作如果不能高效進行,將有很大危害:老任務不按時完成,一拖再拖;新任務在執行過程中,不斷有舊任務摻合進來,不斷中斷新任務,導致新任務多次停滯,造成惡性循環。
精致思維 Savvy Thinking:不斷的 international mindset,更新自己的思維方式,思考問題的方式。形成自己對問題看法分析的思維方法。培養自己獨立的人格,獨立的系統思維方式,troubleshooting, Problem resolving 的能力,這樣我們以后才能有更大的發展空間。