臉紅!初中文化0基礎(chǔ) 70后父親如何自學(xué)成為程序員

來看看這個圓口接口的鍵盤,2003的

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

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

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

圖書館抄書的怪蜀黍

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

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

程序員特技—專注

我的親人總是對我說:“你啊,坐久了要多起來走走,看看遠(yuǎn)處,這樣子才好”。可是我覺得大部分程序員都做不到,因為編程是根本停不下來的,一旦你入門之后,你就會有種時刻想創(chuàng)造的感覺。這是寫程序?qū)懗鰜淼膶WⅰUf到這,我就想問問大家:“你能夠?qū)W⒍嗌賯€小時?”,我把這個問題拋給了我爸,我爸笑著跟我說:“用煤氣,把一個裝滿水的平底鍋燒穿需要多少時間?”。這是他的一次真實的經(jīng)歷,那是他在用匯編語言編寫一個MP3播放器,在調(diào)試的過程中,忘記了自己在燒開水,幸虧煤氣燒完了!說這個故事只想告訴大家一個道理:“寫程序你必要保持高度的專注,但是不能夠疲勞過度地專注。”

編程需要的是流程再造

軟件工程跟建筑學(xué)很像,它們都是基于現(xiàn)實的技術(shù),搭建最好的解決方案。“鋼筋,混凝土”這些都是做好的,都可以直接拿來用,編程也是如此,嵌入式開發(fā)也是如此。

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

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

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

這是它給我提供的串口應(yīng)答式發(fā)送的流程(可能有錯)

我把我爸逼成了偽全棧

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

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

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

而實際上,書本教會的是我們寫字(編程)的姿勢(方法),教會我們?nèi)绾文霉P(寫程序),如何寫好字(好程序),一旦你學(xué)會了就能夠?qū)懗鲆皇趾米郑ê贸绦颍K杂泻芏嗳藢懖缓米郑ǔ绦颍蔷褪窃谛r候練字(初學(xué)編程)急于求成,想著去玩(炫耀)。這是我最深刻的反省,也是對各大初學(xué)者最好的忠告,編程必須耐得住寂寞!

程序員要時刻認(rèn)識自己

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

做一名守信用的程序員

我爸當(dāng)時給我說:”既然你答應(yīng)了人家,無論你有千百個理由都要給人家完成,完成不了就是你的錯,因為你對人家承諾過“。這不是在講道理規(guī)范,而是一個程序員的職業(yè)操守,因為這樣,我爸能夠接手到很多外包的項目,因為他在別人眼里只有兩個字:”可靠“。也許這就是程序員的個人品牌吧,如果你在企業(yè)中能夠有這樣的品牌,能不升職嗎?

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,247評論 6 543
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,520評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,362評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,805評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 72,541評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,896評論 1 328
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,887評論 3 447
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 43,062評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,608評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 41,356評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,555評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,077評論 5 364
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,769評論 3 349
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,175評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,489評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,289評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 48,516評論 2 379

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,734評論 25 708
  • 本文把程序員所需掌握的關(guān)鍵知識總結(jié)為三大類19個關(guān)鍵概念,然后給出了掌握每個關(guān)鍵概念所需的入門書籍,必讀書籍,以及...
    dle_oxio閱讀 11,177評論 6 244
  • 大家好,我是帥氣小伙,今天為大家?guī)硪粋€非常勵志,讓我反思的故事。今天為大家講的是我父親是如何用行動教會我成為程序...
    帥氣小伙閱讀 33,850評論 115 195
  • 最幸福的就是我了,今天請假在家陪小家伙趕作業(yè),上午到11點的時候,以為中午飯肯定沒著落了,小家伙生著病,好多東西都...
    漂亮地活著閱讀 154評論 0 1
  • 一、 你可以從假裝熱愛生活開始,裝著裝著你就會發(fā)現(xiàn),生活是值得熱愛的。 前段時間,后臺有留言問我,王先森,為什么你...
    王先森Beckham閱讀 1,062評論 0 2