嵌入式工程師的自我修養(yǎng)?
來源:科巖成果前言
公眾號的第一篇文章,算是一個開頭,這篇文章總結(jié)了我做嵌入式工程師這幾年的一些經(jīng)驗,分享給剛?cè)胄谢驕?zhǔn)備入行的新手們!
首先我想說的是不問出身,做嵌入式的同學(xué),基本都是計算機科學(xué)、電子信息、通信類專業(yè)。剛畢業(yè)的本科生,就學(xué)到的知識,名校與非名校在起點上相差不多,大家在校園里學(xué)的都是那幾科,看的書也都差不多,如果不是很小就接觸計算機寫代碼,那畢業(yè)時的代碼量也都差不多。
而對于工程作業(yè)來說,對學(xué)術(shù)能力的要求沒那么高,只要有一定的學(xué)習(xí)能力,技術(shù)是很容易掌握的,大可不必對自己的學(xué)歷不夠自信。
對于嵌入式軟件工程師,一般是分成兩類,嵌入式Linux、嵌入式單片機,我這里只講單片機的部分,Linux的部分有機會再聊。
一. 認(rèn)知的四個階段
1. 不知不知
在剛工作的第一年,基本是一個學(xué)習(xí)的過程,很難有有效的產(chǎn)出,這個階段是完成從一個生澀畢業(yè)生到企業(yè)員工的身份轉(zhuǎn)換,如果校園里接觸過比較多的代碼,看過類似Linux源碼那種級別的代碼,對你快速學(xué)習(xí)還是很有用的。這時你寫的代碼,也能正確的點亮一個led燈,能實現(xiàn)老板的需求,可日后來看,肯定是慘不忍睹的,說難聽點,就是“像屎一樣”。但這時你還不知道這些,你甚至“不知道自己不知道”,你覺得自己表現(xiàn)的還不錯,可能偶爾會冒出“這個代碼這樣寫會不會更好”之類的念頭。
每個人都可能冒出這樣的念頭,不同的是,有的人念頭一過就去干別的了,刷刷劇玩玩手機也是一天;有些人,沒有讓念頭溜走,順著念頭走了下去,去找“這個代碼換一種寫法會不會更好”的答案。
2. 知道不知
找答案無非3個方式:問其他人(包括搜索引擎)、看書、看源碼。你當(dāng)然可以問其他人,但你不能總問其他人,而且其他人不一定什么都能解決。
你開始看源碼,你會發(fā)現(xiàn),源碼看不懂,隨便打開個開源項目,一行都看不懂。
你一定會嚇到,你想找本書來壓壓驚,隨便翻一翻,竟然發(fā)現(xiàn)自己“這個也不知道”,“那個也不知道”。
這也是好事,至少你已經(jīng)“知道自己不知道”了。
問人是最快最具體的;看源碼不能一蹴而就,大師的代碼我等凡人剛開始都是看不懂的,沒關(guān)系慢慢來,多看幾遍;看書是最系統(tǒng)的,如果你能帶著問題去看書中的具體章節(jié)當(dāng)然就更好啦。
現(xiàn)在,你有了學(xué)習(xí)的動力,你要做的,是開始填補知識空白,還等什么,快開始吧!
3. 知道己知
上面列舉的三種方式,最系統(tǒng)也最有效的,當(dāng)屬看書了,我這里推薦幾本書。對于語言層面,當(dāng)然最多用的是C語言,學(xué)校學(xué)的教材比如譚本《C程序設(shè)計》只介紹語法不說,還有很多誤導(dǎo),堅決不要看了。我推薦你讀K