背景
兩年前,我離開了我的專業,開始投入軟體工程師的行列。一開始我只是以自學的方式學習運用HTML以及CSS來架設一般的網站.
經過幾個月的學習後,我舉定參與一個為期三個月的【網頁架設課程】。在這個課程裡,我有機會跟深入的了解到網頁的運作以及架設的流程。比如說, MVC(Model View Controller)框架以及 Javascript。對我而言,這是一個很有趣的經驗。我能夠與其他的同學進行交流,也能重每一次的作業中看到自己的成長。
課程結束後, 我非常的幸運地得到一家本地的初創公司的青睞,成為該公司的一位初級軟體工程師。在該公司工作了20個月後,我有機會到另一家規模較大也較成熟的公司任職。但無可否認的是,我在在這短短的20個月裡累積的經驗與知識,將成為我在軟體工程的職業生涯裡重要的標竿。接下來,我將與你分享我在這20個月的成長。
你不需要精通才起步,你要勇於起步才能精通
當我剛開始尋找有關軟體工程的工作時,因為自尊心作祟,我總覺得我不夠好。身為以位只學習程序設計不到半年的我,要如何與經過4年專業訓練的本科生競爭?
但我錯了。
我發現到,即便我無法很順利及明瞭的回答所有的面試問題,面試官們都很友善的給予你協助。我曾碰過面試官設置肯花時間向我解釋原理。這讓我對程序設計有更深的了解。也為下一個面試更有準備。
在經過多次的面試與討論後,我越來越有自信,也越來越勇於提問與發言。即使有時我的看法可能不被採納,但我也從中學習到了不少。所以,你不需要精通才起步,你要勇於起步才能精通。
學以致用,勇於嘗試

在我剛開始任職的前三個月裡,我經常因為一些小小的錯誤而鬱鬱寡歡。甚至不敢在原本的程式上進行修改。於是我變成了複製機器人,從原有的程式中尋找類似的部分複製到我需要的程式裡。慶幸的是這個方法有效地減低了初試者的錯誤,但我卻常常覺得愧疚。
不過在我與我的組員熟識了後, 我便開始慢慢地將我從網上教學法與文章學習到的技巧注入到我們的程序裡。在多數的情況下,其他的的組員都非常樂意為你檢驗你的編碼。
更讓我驚訝的是,在不久後,我發現一些同僚們也開始運用我所推薦的模式與想法。這證明了我的想法被認同了,也給了我記強心針, 讓我更有自行地往軟體工程的職業生涯邁進。
學無止盡,不斷練習
編碼挑戰能讓你學到許多新的知識及技術。他讓我懂的如何寫出更好的程式。
在我剛開始學習程序設計時,我常常以讀的方式來學習。我並沒有試著用我學習到的原理來進行編碼。久而久之,我便把我之前說讀過的理論拋至腦後。
後來,我開始花更多的時間上像Codewars以及 HackerRank的編碼挑戰。他能夠讓我我對所學到編碼的原理和邏輯進行練習與運用。讓我的學習事半功倍。
直到現在,我還是會定時地上HankerRank尋找不同的編碼挑戰來激發我的腦力。
總結
經過20個月的洗禮,我真心覺得軟體工程/程序設計是一個非常友善的行業。一般上大多是的公司都很願意招收經驗不足卻肯學習的員工。我做到了,希望你也能成功。
Happy Coding.