標(biāo)題: 歲月在電子工程師身上留下了什么? [打印本頁(yè)]

作者: 黑科技世界    時(shí)間: 2018-5-15 14:59
標(biāo)題: 歲月在電子工程師身上留下了什么?

歲月的錘煉

圓口接口的鍵盤,2003年的

有人問(wèn)這個(gè)鍵盤難道沒有擦過(guò)嗎?不是的,是擦不掉的歲月痕跡。如果有注意到細(xì)節(jié)的朋友會(huì)發(fā)現(xiàn),工程師什么鍵位用得最多。除了(ASDW,YUHJ,那是我小時(shí)候玩拳王留下的)。這個(gè)鍵盤雖然老舊,但是我爸一直不舍得扔。03年的時(shí)候,他從二手市場(chǎng)買會(huì)來(lái)了這臺(tái)486Cpu主頻的二手電腦,開始自學(xué)匯編。我爸是只有初中文化。但是有超強(qiáng)的動(dòng)手能力。

零編程基礎(chǔ)入門嵌入式開發(fā)

因?yàn)楫?dāng)時(shí)03年的時(shí)候,他剛從一家電子廠辭職,他在電子廠里看到了單片機(jī)這種玩意,他看到了他們工程師的工資和待遇,而當(dāng)時(shí)的他只是一名流水線上的焊錫工,雖然是個(gè)組長(zhǎng),但是也感覺到了職業(yè)的局限性。(這也帶給我們一個(gè)啟示,作為男人,如果覺得職業(yè)看不到頭,趁早換工作吧,如果不趁早,你會(huì)在以后的家庭壓力中選擇妥協(xié),再也看不到頭了。),辭職的第二天,他就買回了這臺(tái)486奔騰系列的二手電腦,和一臺(tái)仿真的燒寫機(jī)器(把程序?qū)懙?font style="color:rgb(51, 51, 51)">芯片的機(jī)器),一本匯編語(yǔ)言入門的書,開始了他12年的嵌入式開發(fā)之路。(這里給我的啟示是,說(shuō)學(xué)就學(xué),不要想著看看怎么入門,最好的入門技巧就是動(dòng)手。)

圖書館抄書的怪蜀黍

這是他當(dāng)時(shí)學(xué)C語(yǔ)言的時(shí)候在新華書店偷偷抄的

我記得初中的時(shí)候每周六我爸都會(huì)帶我去新華書店去看書,然后去到那里,每次都是他叫我看著圖書館里員有沒有來(lái),然后他就在那里專心地去抄寫這些代碼片段(這種學(xué)習(xí)方法在我看來(lái),現(xiàn)在就是個(gè)笑話,隨便打開一個(gè)網(wǎng)站,代碼都是一堆堆的,但是話又說(shuō)回來(lái),你們?cè)谶@些源代碼中學(xué)到了什么,記住了嗎?會(huì)靈活運(yùn)用嗎?從前輩的學(xué)習(xí)方法來(lái)看,記錄一些常用的代碼片段還是很用必要的,你的github有一套自己的代碼片段嗎?如果沒有那就趕緊收集!)但是我爸的筆記,我每次問(wèn)他,這是什么項(xiàng)目的,他都能記得很清楚,當(dāng)然他當(dāng)時(shí)入門的時(shí)候是非常痛苦的,一個(gè)英文單詞都不懂,可想而知。可是大家的基礎(chǔ)應(yīng)該比我爸高很多吧,所以不要懷疑自己是否能夠?qū)W會(huì)編程,是一定能夠?qū)W會(huì)的。

工程師的特技——專注

我的親人總是對(duì)我說(shuō):“你啊,坐久了要多起來(lái)走走,看看遠(yuǎn)處,這樣子才好”?墒俏矣X得大部分程序員都做不到,因?yàn)榫幊淌歉就2幌聛?lái)的,一旦你入門之后,你就會(huì)有種時(shí)刻想創(chuàng)造的感覺。這是寫程序?qū)懗鰜?lái)的專注。說(shuō)到這,我就想問(wèn)問(wèn)大家:“你能夠?qū)W⒍嗌賯(gè)小時(shí)?”,我把這個(gè)問(wèn)題拋給了我爸,我爸笑著跟我說(shuō):“用煤氣,把一個(gè)裝滿水的平底鍋燒穿需要多少時(shí)間?”。這是他的一次真實(shí)的經(jīng)歷,那是他在用匯編語(yǔ)言編寫一個(gè)MP3播放器,在調(diào)試的過(guò)程中,忘記了自己在燒開水,幸虧煤氣燒完了!說(shuō)這個(gè)故事只想告訴大家一個(gè)道理:“寫程序你必要保持高度的專注,但是不能夠疲勞過(guò)度地專注。”

編程需要的是流程再造

軟件工程跟建筑學(xué)很像,它們都是基于現(xiàn)實(shí)的技術(shù),搭建最好的解決方案!颁摻睿炷痢边@些都是做好的,都可以直接拿來(lái)用,編程也是如此,嵌入式開發(fā)也是如此。

這是一塊移植了UCOSII系統(tǒng)的STM32實(shí)驗(yàn)板

這塊板嵌入了UCOSII系統(tǒng),可同時(shí)執(zhí)行多個(gè)任務(wù),并可指定任務(wù)優(yōu)先級(jí)。通俗地說(shuō),你可以邊聽音樂邊打字。雖然看起來(lái)很低級(jí),但是嵌入式就是這樣。很高端吧,但是我一問(wèn)我爸,你是怎么做出來(lái)這塊板的,你真的這么厲害用C語(yǔ)言寫了一個(gè)操作系統(tǒng)?

板子是自己畫的,其他的芯片都是買的,CPU程序是自己寫進(jìn)去的。原來(lái)嵌入式開發(fā)所做的事就是負(fù)責(zé)把各個(gè)功能模塊合理設(shè)計(jì),用程序去調(diào)度,F(xiàn)在成熟的芯片都是廠商寫好了程序,提供外部調(diào)用接口,開發(fā)人員并不需要了解他里面的內(nèi)容就可以開發(fā)了。這對(duì)我以后學(xué)編程啟發(fā)很大。我的老師曾經(jīng)說(shuō)過(guò):“軟件工程師之所以能夠?qū)懗鼋鉀Q實(shí)際問(wèn)題的程序,是因?yàn)樗麄兌昧鞒淘僭,用現(xiàn)實(shí)的輪子(技術(shù))去實(shí)現(xiàn)這個(gè)流程”。想成為一名軟件工程師首要的不是編程語(yǔ)言能力的把握有多么厲害,而是懂得把現(xiàn)實(shí)生活中繁瑣的流程通過(guò)計(jì)算機(jī)科學(xué)來(lái)簡(jiǎn)化,我覺得這才是真正的軟件工程師。我爸的編程基礎(chǔ)雖然沒我強(qiáng),但是流程再造的能力比我強(qiáng)太多了。也許這就是經(jīng)驗(yàn)吧。


我把我爸逼成了偽全棧

大二時(shí)候的我,學(xué)了C#,會(huì)做一下簡(jiǎn)單的winform程序,然后就開始飄飄然了,跟我爸吹牛了,當(dāng)時(shí)我爸高興壞了,直接就給我接了一個(gè)真實(shí)的項(xiàng)目,真金白銀啊,我當(dāng)時(shí)還傻傻地答應(yīng)了。由于是真實(shí)的項(xiàng)目,程序的容錯(cuò)必須很高,你不能夠點(diǎn)幾下就throwexception吧,但是我做的項(xiàng)目都是校園里面的實(shí)驗(yàn),過(guò)家家玩的而已,雖然老師給了好評(píng),這都是大學(xué)里面的花拳繡腿。真正派上用場(chǎng)的時(shí)候,確顯得蒼白無(wú)力。理所當(dāng)然,我的程序終將不能按時(shí)完成。我爸意識(shí)到了,他笑著跟我說(shuō):“你教我學(xué)C#吧,我們一起探討這個(gè)程序!,沒辦法啊,只能讓我爸去學(xué)吧,一個(gè)星期后,他開始于我并行開發(fā),這是我跟我爸同臺(tái)工作最好的回憶;為什么我爸能夠在一個(gè)星期學(xué)會(huì)C#(只有C語(yǔ)音基礎(chǔ))?

語(yǔ)言都是通的,變的只是表達(dá)方式,思維和流程是不會(huì)變的

我們的老師從一開始就教我們畫一些簡(jiǎn)單的流程圖,但是我們很多人都覺得他太簡(jiǎn)單了,沒什么意思,于是就開始去追求那些表面華麗的界面,去滿足自己好奇而又虛榮的心,但是他們錯(cuò)過(guò)的是真正的編程技術(shù),這就是當(dāng)時(shí)的我。有很多人都覺得大學(xué)的課程很基礎(chǔ),實(shí)際用到項(xiàng)目的很少,是根本不能拿來(lái)做項(xiàng)目,書本上學(xué)的都過(guò)時(shí)了。

而實(shí)際上,書本教會(huì)的是我們寫字(編程)的姿勢(shì)(方法),教會(huì)我們?nèi)绾文霉P(寫程序),如何寫好字(好程序),一旦你學(xué)會(huì)了就能夠?qū)懗鲆皇趾米?好程序)。所以有很多人寫不好字(程序),那就是在小時(shí)候練字(初學(xué)編程)急于求成,想著去玩(炫耀)。這是我最深刻的反省,也是對(duì)各大初學(xué)者最好的忠告,編程必須耐得住寂寞!

電子工程師要時(shí)刻認(rèn)識(shí)自己

當(dāng)時(shí),我是膨脹了,有點(diǎn)自以為是了,就覺得自己行,然后就答應(yīng)項(xiàng)目了,結(jié)果幸虧我爸厲害,不然可是要賠錢的。作為電子工程師,必須了解自己的水平上限。知己知彼(我能做,你不能做),百戰(zhàn)不殆(我就是要這么多錢)。對(duì)的,時(shí)刻了解自己水平上限是有助于自身價(jià)值的評(píng)估的,例如你跳槽了,你對(duì)比同行,你的水平在哪里。決定市場(chǎng)價(jià)格的并不是企業(yè)本身,而是社會(huì)必要?jiǎng)趧?dòng)時(shí)間(別的電子工程師要多久才能夠做出來(lái))。而最好的認(rèn)識(shí)就是看最新的技術(shù),了解行業(yè)的趨勢(shì)。這次才能夠讓自己立足于高薪階層。

做一名守信用的電子工程師

我爸當(dāng)時(shí)給我說(shuō):”既然你答應(yīng)了人家,無(wú)論你有千百個(gè)理由都要給人家完成,完成不了就是你的錯(cuò),因?yàn)槟銓?duì)人家承諾過(guò)“。這不是在講道理規(guī)范,而是一個(gè)程序員的職業(yè)操守,因?yàn)檫@樣,我爸能夠接手到很多外包的項(xiàng)目,因?yàn)樗趧e人眼里只有兩個(gè)字:”可靠“。也許這就是程序員的個(gè)人品牌吧,如果你在企業(yè)中能夠有這樣的品牌,能不升職嗎?

總有人質(zhì)問(wèn):“我現(xiàn)在學(xué)編程晚嗎?”,“我30歲之后還能繼續(xù)寫程序嗎?”,“學(xué)編程難嗎?”看完這篇文章后,我相信你不會(huì)再問(wèn)了,因?yàn)槿绻阏娴氖菬釔劬幊,你就?yīng)該像我父親那樣,無(wú)論現(xiàn)實(shí)如何逼迫,初心永遠(yuǎn)不忘。雖然,我跟我的父親沒有太多的語(yǔ)言交流,但是這么多年的耳濡目染,足以讓我發(fā)出:“謹(jǐn)遵父訓(xùn),不忘初心”。






歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1