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