搜尋
首頁頭條奮鬥雞湯:一個32歲入門的70後程式設計師給我的啟示

php中文網裡的朋友們,大家好!我是帥氣小夥,今天為大家帶來一個非常勵志,讓我反思的故事。今天為大家講的是我父親是如何用行動教會我成為程式設計師的。

歲月的錘鍊

奮鬥雞湯:一個32歲入門的70後程式設計師給我的啟示

圓口接口的鍵盤,2003年的

有人問這個鍵盤難道沒有擦過嗎?不是的,是擦不掉的歲月痕跡。如果有註意到細節的朋友會發現,程式設計師什麼鍵位用得最多。除了(ASDW,YUHJ,那是我小時候玩拳王留下的)。這個鍵盤雖然老舊,但是我爸一直不捨得丟。 03年的時候,他從二手市場買會來了這台486Cpu主頻的二手電腦,開始自學彙編。我爸是只有國中文化。但是有超強的動手能力。

零編程基礎入門嵌入式開發

因為當時03年的時候,他剛從一家電子廠辭職,他在電子廠裡看到了單片機這種玩意,他看到了他們工程師的工資和待遇,而當時的他只是一名流水線上的焊錫工,雖然是個組長,但也感覺到了職業的限制。 (這也帶給我們一個啟示,作為男人,如果覺得職業看不到頭,趁早換工作吧,如果不趁早,你會在以後的家庭壓力中選擇妥協,再也看不到頭了。),辭職的第二天,他就買回了這台486奔騰系列的二手電腦,和一台仿真的燒寫機器(把程式寫到晶片的機器),一本彙編語言入門的書,開始了他12年的嵌入式開發之路。 (這裡給我的啟示是,說學就學,不要想著看看怎麼入門,最好的入門技巧就是動手。

圖書館抄書的怪蜀黍

奮鬥雞湯:一個32歲入門的70後程式設計師給我的啟示

這是他當時學C語言的時候在新華書店偷偷抄的

我記得初中的時候每週六我爸都會帶我去新華書店去看書,然後去到那裡,每次都是他叫我看著圖書館裡員有沒有來,然後他就在那裡專心地去抄寫這些程式碼片段(這種學習方法在我看來,現在就是個笑話,隨便打開一個網站,程式碼都是一堆堆的,但是話又說回來,你們在這些原始碼中學到了什麼,記住了嗎?沒有那就趕緊收集!可想而知。但大家的基礎應該比我爸高很多吧,所以不要懷疑自己是否能夠學會編程,是一定能夠學會的。

程式設計師特技—專注

我的親人總是對我說:「你啊,坐久了要多起來走走,看看遠處,這樣子才好」。但我覺得大部分程式設計師都做不到,因為程式設計是根本停不下來的,一旦你入門之後,你就會有種時刻想創造的感覺。這是寫程式寫出來的專注。說到這,我就想問大家:“你能夠專注多少個小時?”,我把這個問題拋給了我爸,我爸笑著跟我說:“用煤氣,把一個裝滿水的平底鍋燒穿需要多少時間?這是他的一次真實的經歷,那是他在用彙編語言編寫一個MP3播放器,在調試的過程中,忘記了自己在燒開水,幸虧煤氣燒完了!說這個故事只想告訴大家一個道理:「寫程式你必要保持高度的專注,但是不能夠疲勞過度地專注。」

程式設計需要的是流程再造

軟體工程跟建築學很像,它們都是基於現實的技術,搭建最好的解決方案。 「鋼筋,混凝土」這些都是做好的,都可以直接拿來用,程式設計也是如此,嵌入式開發也是如此。

奮鬥雞湯:一個32歲入門的70後程式設計師給我的啟示

這是一塊移植了UCOSII系統的STM32實驗板

這塊板嵌入了UCOSII系統,可同時執行多個任務,並可指定任務優先順序。通俗地說,你可以邊聽音樂邊打字。雖然看起來很低級,但是嵌入式就是這樣。很高階吧,但我一問我爸,你是怎麼做來這塊板的,你真的這麼厲害用C語言寫了一個作業系統?

板子是自己畫的,其他的晶片都是買的,CPU程式是自己寫進去的。原來嵌入式開發所做的事就是負責把各個功能模組合理設計,用程式去調度。現在成熟的晶片都是廠商寫好了程序,提供外部呼叫接口,開發人員並不需要了解他裡面的內容就可以開發了。這對我以後學程式設計啟發很大。我的老師曾經說過:「軟體工程師之所以能夠寫出解決實際問題的程序,是因為他們懂得流程再造,用現實的輪子(技術)去實現這個流程」。 想成為一名軟體工程師首要的不是程式語言能力的把握有多麼厲害,而是懂得把現實生活中繁瑣的流程透過電腦科學來簡化,我覺得這才是真正的軟體工程師。我爸的程式設計基礎雖然沒我強,但是流程再造的能力比我強太多了。也許這就是經驗吧。
奮鬥雞湯:一個32歲入門的70後程式設計師給我的啟示

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

我把我爸逼成了偽全棧

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

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

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

而實際上,書本教會的是我們寫字(程式設計)的姿勢(方法),教會我們如何拿筆(寫程式),如何寫好字(好程式),一旦你學會了就能夠寫出一手好字(好程式)。所以有很多人寫不好字(程式),就是在小時候練字(初學程式)急於求成,想著去玩(炫耀)。這是我最深刻的反省,也是對各大初學者最好的忠告,程式必須耐得住寂寞!

程式設計師要時時刻刻認識自己

當時,我是膨脹了,有點自以為是了,就覺得自己行,然後就答應項目了,結果幸虧我爸厲害,不然可是要賠錢的。身為程式設計師,必須了解自己的水平上限。知己知彼(我能做,你不能做),百戰不殆(我就是要這麼多錢)。對的,時刻了解自己水平上限是有助於自身價值的評估的,例如你跳槽了,你對比同行,你的水平在哪裡。決定市場價格的不是企業本身,而是社會必要勞動時間(別的程式設計師要多久才能做出來)。 而最好的認識就是看最新的技術,了解產業的趨勢。這次才能夠讓自己立足於高薪階層。

做一名守信用的程式設計師

我爸當時給我說:」既然你答應了人家,無論你有千百個理由都要給人家完成,完成不了就是你的錯,因為你對人家承諾過「。這不是在講道理規範,而是一個程式設計師的職業操守,因為這樣,我爸能夠接手到很多外包的項目,因為他在別人眼裡只有兩個字:」可靠「。也許這就是程式設計師的個人品牌吧,如果你在企業中能夠有這樣的品牌,你能不升職嗎?

總是有人質疑:“我現在學程式設計晚嗎?”,“我30歲之後還能繼續寫程式嗎?”,“學程式設計難嗎?”看完這篇文章後,我相信你不會再問了,因為如果你真的是熱愛編程,你就應該像我父親那樣,無論現實如何逼迫,初心永遠不忘。雖然,我跟我的父親沒有太多的語言交流,但是這麼多年的耳濡目染,足以讓我發出:「謹遵父訓,不忘初心」。


陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境