跳到主要內容

當java程式設計工程師心得(0)2008-入坑

我是出生成198x年代,一個鄉下三合院裡的赤腳小孩,家裡有三兄弟,我排行老二,小時候5、6歲時,每天醒來就是找附近小孩玩紅綠燈等等遊戲XD,因為沒穿鞋又愛四處亂跑,常常被竹子乾掉的枝刺傷腳==,因為家裡窮,所以我沒讀幼稚園,第一個學會的字就是"幹",哈哈哈~

     其實小時候我家裡窮,買不起玩具跟零食,但是常常看到鄰居的小孩,他們的外婆都會買零食跟玩具,中秋節還買煙火給他們玩,非常羨慕別人,但是小時候什麼也做不到。記得小時候有次,我撿了鄰居小孩玩壞掉的玩具,丟在附近一個橋下,我看到了就爬到橋下去撿上來,結果剛好鄰居小孩就看到,找他外婆過來說我偷他的玩具,當下我非常不知所措,只能站著被罵,壞掉的玩具也被拿回去。

     讀了小一時,因家裡因素,我從鄉下搬到了城市,發現鄰居小孩都會穿鞋,只有我喜歡打赤腳XD,到了新家,也開始了我新的人生,不過家裡窮還是沒改變,記得小時候一直到我國中,家裡永遠有做不完的代工,每天都只能在家裡幫忙做代工,看著外面在打鬧玩遊戲的小孩,自己不能出去玩,一直跟媽媽抱怨,但媽媽總是說沒做沒錢,之後又低著頭繼續做,媽媽常常為了趕工做到半夜二、三點,早上一早又起來載我們三兄弟去上小學,上小學最開心的一件事就是,可以吃媽媽親手做的便當,在當時吃媽媽帶的便當的小孩好少,用手指都數的出來XD,後來小學老師知道我家境不好,小學老師每天都會把中午大家選剩下的營養午餐打包給我帶回家,我每天放學除了書包要背之後,還要還2袋菜尾,小時候我曾經很討厭拿菜回家,因為走回家的路上都會被大家用異樣眼光看著,但是我不拿不行,家裡沒有多的錢可以買菜,為了要幫家裡,久而久之,我對於別人的異樣眼光也不怎麼在乎了。

     到這裡還沒說到重點XDD,大約小五、六時,家裡有買了一台紅白機(忘了怎麼來的),這時奠定了我走上遊戲之路!!當時我超迷忍者貓、忍者龜等等遊戲,到了國中時,出了超任,但家裡不可能買,後來我媽媽在他工作的工廠認識一個叔叔,他有買sega、超任等等遊戲主機,很好心的借給我們三兄弟玩,剛拿到時,根本玩翻了XDD,最記得就是我把太空戰士v玩到破關XDDD,當時還有破的一款叫"魔裝機神",這款也很經典,現在想想很感謝當時借我玩的人,後來記得出了kof94、95,我就開始了玩街機的生活,當時一天一零用錢是10塊(早餐錢),我都存一、二星期然後再偷偷跑出去玩街機==,當時為了要珍惜10塊錢,還把kof練的很強,因為熱門機台都會一堆人挑戰,輸了錢就飛了,說到底也是為了省錢XD。

     高職時期(國立夜校),會讀高職夜校很大的原因是因為愛打電玩又不念書所造成,上了高職之後,我開始思考人生不能這樣,只是一直玩,高職畢業要做什麼都不知道,當時也因為只考上夜校,國中同學都考上日校,我下定決心要認真念書,不過kof還是照樣玩,哈哈...讀高職對我走上工程師之路有50%影嚮,我選讀的是商業經營科但一天到晚學珠算跟會計,其中有一門課叫計算機概論,我學得還不錯,記得當時同學都在討論"世紀帝國"、"星海爭霸"等等電腦遊戲,但聽不懂,也沒興趣,反而當時我開始自學吉他,用掉自己存了很久的積蓄買了第一把吉他(3800),混著混著也畢業了(啊~不,是認真的讀畢業了)。

     科技大學時期(私立夜校)資訊管理系,我曾經重考大學一年,應屆畢業時想考上日四技,但當時只上日二專才重考,重考一年只報夜校,沒報日校,主要是想讀商科,又想離家近(不想多花錢在住宿),接下來要說一件驚人的事實,你可以不相信,但真的是事實,我大學讀了資訊管理系,但我沒錢買電腦(直到大二時,由一群熱心同學捐零件組了一台),我也非本科系的,所以大一就讀的超級痛苦,但我當時尋求任何可行的方式,遇到程式課出的作業,我會先寫在紙上,然後第二天早上去學校電算中心輸入,測試結果對不對,有時太晚去學校會看到一堆學生在打game,當下真的很不爽,但也不能怎樣...,好不容易大一上結束了,我c語言期末考試才4x分,全班只有3個人及格,後來老師幫全班調整分數,印象中好像4x都會加到60分,但還是有一半的人被當,在學期末最後一天上課,我跑去跟程式設計課老師問我要怎樣才可以學會寫程式,大一上學期結束我發現我巢狀for看不懂,陣列不會用,但課程已經結束,老師只跟我說幾句話「上課買的書是比較深,未來會成為你的工具書,看不懂很正常,你可以去書店多買幾本看得懂的書,交叉比對看,你就會懂了」,我照這樣做了,結果真的有效果,漸漸的,我開始會寫一點簡單的程式,但我有更遠大的目標!是的,我想用程式寫遊戲!!我第一個寫的遊戲應該是井字ox遊戲吧~

     在大學四年裡,程式愈寫愈有感覺,但也漸漸的,同學的程度有了很大的差異,有些人完全看不懂程式,有些人很強很會寫,有些人不止會寫又自傲,不肯教不會的人,我一開始的程度只有在中間,大二時,某次遇到一個不懂的程式去請教全班第一名,班上只有他寫出來,我當時緩緩的走過去「同學,請教你一個程式問題」,第一名「我不懂啦,你去找別人」,我當場吃了閉門羹,說真的很悶,有聽過那位第一名同學的性格,沒想到還真的如此,不過很快的,大二下,他不再是第一名了,他掉到第三名,我衝到了第二名,新的第一名是大二上插大的新同學,人不錯,這驗證了人自傲必敗,在大學裡真的認識了很多朋友,雖然大家並非都以寫程式為未來出路,但大家都互相幫忙,程式作業我都特意寫兩種解答,一種給同學參考(也請參考的同學自己修改一些,避免被老師說照抄),一種我自己交XD,想當時我在大學後來還獲得一稱號"compiler",因為當時一些簡單的程式,看一眼就可以知道輸出了(其實這技能後來當了工程師才知道是必備的)

     畢業後,去當了兵,退伍回來,有快一年的時間在當米蟲,這段時間也寫了一些程式,有用到了thread,但當時並不懂為什麼要用thread,就在2008年10月某一天,我接到了大學時同學的電話,電話那頭說「我是xx,我這裡有缺人,你有要來面試嗎?」,他是我大學時期滿好的一個同學,隱約記得我在大二時認識他,他是插大生,在快畢業時有約定,如果他工作的公司在我退伍後有缺人,一定要找我,沒想到他真的打來了,超感動,就這樣我踏入了"java程式設計師"這條不歸路。

      後話,上面雖然寫了一大串,主要是想表達,環境會造就人,但人不要讓環境給限制住了,我一路走來,雖然我親戚與家人,沒有人是寫程式相關,沒辦法求救,因此一切只能靠自己,突破口要自己找,當自己做到了之後,隨之而來的成就感是不可言喻的!現在我工作也穩定了,每一、二個月都會帶家人去吃大餐,現在媽媽也不用像以前那麼拼命工作了,祝福大家能順利的走自己想走的路,共勉之。

留言

這個網誌中的熱門文章

當java程式設計工程師心得(15) 2022-滿14年

 現在是2022年最後一天最後一小時,blog也空了一年沒有撰寫了,來分享這2年我遇到的事情吧,在個人生活部份我完成幾件事情: 1. 2021年底時遇到了非常契合的聰明又漂亮的優秀的另一半。 2. 2022年初買了房子。 3. 2022年創了youtube頻道上傳吉他finger style影片。 4. 2021年開始試著用許多方式自學英文。 工作上也有些轉變及新的嘗試: 1. 2021年將入行多年使用的server、讀寫資料庫程式整理完後以open source方式發佈到maven。 2. 2021年開始參與公司GCP相關專案技術研究。 3. 2022年決定轉型當架構師。 上面每一項都能單獨寫一篇故事來分享給大家,上面每項的故事細節,之後我再回來補上吧 祝大家2023年新年快樂,以及幸福的與身邊的人開心過每一天

當java程式設計工程師心得(16) 2023-2週自學Golang

      距上次發文又超過半年的時間了,這次就來分享學習Golang吧,因應工作需求我要自學Golang,在這轉換過程約1個月的時間我從完全不會寫go、也不懂如何部署程式GCP上,到目前已經有初步成果寫成文章分享給大家,預計會分成3篇: 1. 我如何開始自學Golang? 2. 如何在學習GCP相關知識? 3. 如何從不懂CI/CD到規劃GitOps並在GCP上串接CI/CD? 這篇先分享第1點 我如何開始自學Golang?    我習慣做事會用 Sublime Text 做筆記,因此我初期先列出我要學的幾點 1.詢問很強的Golang大神朋友(很感謝Minchao給了我超多建議) 2.學習Golang的開發工具,我初期有用Visual Studio Code寫了hello world,後來IDE改用 Goland ,它真的太強大了      Visual Studio Code :          優點:免費          缺點:plugin要找適合自己的下載試用     Goland :         優點: 官方 有附詳細的附加功能使用說明,並且你想得到的通通都內建         缺點:試用只有30天,費用訂閱制,月付或年繳 3.了解基本型別、module、function宣告方式、常用package,例如string、array、File I/O等等…可以參考這篇 Golang roadmap 自學再加上網路搜尋大量的文章花1~2星期閱讀加上練習 4.學習 gin web framework 撰寫RESTful API(API文件可使用 Swagger )、 gorm 讀寫資料庫 5.單元測試(go test)、code format(go內建有)、code style、build執行檔相關工具或指令     有關code style其實可以參考 google官方 再加上 Uber go style 6.學習專案程式資料夾框架 project-layout    在學習過程我也發現學習Go千萬不要用JAVA的物件導向去學,反而要把JAVA的觀念拋開讓自己歸零去學習一種新的程式語言會更好吸收,也才不會讓自己觀念會卡住,Go本身的設計讓其彈性很大,對初學者建議掌握下列幾點: Struct Receiver Pointers 基本型別 容器&特

當java程式設計工程師心得(14) 2020-滿12年

今年我想分享兩件事 第一件事:       推薦最近看完的三本書的心得,書的內容對於想加強自身軟體開發能力以及朝架構師前進有些幫助 第一本 Code Complete 2: 有些章節適合project manager閱讀,可了解好的軟體開發集結的人、方法、工具,更推薦有2年以上開發經驗的軟體工程師閱讀,加強自身軟體開發觀念且功力大增,書裡寫了許多累積10年以上工程師經驗的做事方法 我個人覺得這書太晚讀到了,否則能少走好幾年的路,對我來說這本書裡提到90%以上都會了,但是這書還有一個功用,就是拿來用書裡提的數據打臉一些code亂寫的工程師🤣 第二本 無瑕的程式碼 書裡面提到許多設計原則,有些於軟體設計模式裡要應用,有些則是在系統架構上應用,也有用硬體面去套入原則,如果有碰系統架構也有寫軟體的工程師可以買來閱讀,這書能讓自己理清一些盲點。 第三本 Working Effectively with Legacy Code中文版:管理、修改、重構遺留程式碼的藝術 強烈推薦軟體工程師看這本書,內容講解如何對既有系統的code進行重構後可被測試,進而加新功能或提高程式的閱讀性及維護性,並且始終確保程式原功能不被破壞,書內介紹許多重構code高超技術,有讀有保佑,沒讀會出事🤣!裡面附的範例code為JAVA80%及C++20%,強力推薦大家閱讀來增強程式功力 第二件事:       我在google上搜尋"java吉他手"意外搜尋到一篇文章提到我,點進文章看原來是5年前曾來我網誌向我詢問過問題的網友寫的,我印象中有個網友向我詢問他想轉職相關的問題,最後我有給些建議,沒想到這位網友已經轉職且與我同行都是做後端,看文章內容也已經經歷了軟體業的洗禮了,在此一樣祝福他能工作更順利,朝自己的目標前進並加油努力,也對於還有這位網友記得我的網誌,我非常開心,我經營網誌撒出去的種子終於開花結果了(拉人入坑軟體業),哈哈哈。             最後聊聊今年心得,在工作上我也經歷了自身單內的部門對立、惡鬥、也曾深信一個人的人性,變成被這個人抺黑、我被拱成該部門共同敵人,對於這些事一開始會無法接受並讓自己陷入負面情緒狀態,慢慢的學會人要放下,不隨波逐流、也不被陷入對方的圈套或操弄而起舞,每個人進入這行追求的目標都不一樣: 有人追求薪水普通、工作不求質不求快、上班時上網網購