轉職軟體工程師之旅:程式語言入門
選擇一個程式語言,並且開始學習,是所有軟體工程師的共同入門方式。
如果想成為網頁前端工程師,學習 HTML 和 CSS 以及 JavaScript;若是後端工程師,則可以根據自己的喜好,學習 Java、Python、PHP 等等族繁不及備載;如果是 Android 應用程式,學習 Kotlin;若是 iOS 則學習 Swift。
對於這麼多的領域技術,初心者很容易產生選擇障礙,甚至在某個技術學習一陣子之後,不斷的懷疑當初的選擇。我們總是想投入一個最有前景、最適合自己的領域,然而,又有誰能告訴你答案呢?
技術領域的選擇
我想提供一個清晰的訊息給大家:只要是能被非專業人士認識的程式語言,幾乎都會是在當下的時空背景中,很好的入門選擇。就以 2020 年來說,無論是 Python、JavaScript、C++、Java 都是相當好的語言教材。
就以傳統資工系的教學來看,有些學校大一學的是 C、有些學 Java、有些學 Python 和 JavaScript,然而這些學校教授做的選擇,並非影響學生未來發展的關鍵。
遵循興趣和直覺,選擇之後,無怨無悔的全心投入,就會是最好的方向。初期的程式語言選擇,對於長期的職涯發展沒有絕對的影響力。
學習資源的選擇
在網路上、書店裡、教室中,程式語言入門的教學內容非常非常的豐富。甚至許多優質的教學課程,免費開放給有心的人學習。
常見的問題是:我到底該選擇哪一個教程才是最好的?資深大大們推薦哪一本書?不,你應該選擇最適合的,而不是去探尋別人口中最好的課程。
重點不在教材內容的多寡粗細,而在於對教學方式的接受程度。
程式語言入門內容其實大同小異,不同的單位、不同的導師其實能提供的差異性很有限。因此,找一個主觀感受上最舒服、最喜歡、最能讓你有動力完成整套課程的教學,反而會是影響你學習成效的關鍵。
學習的目標
初期階段,主要的學習目標是:工具和語法的 100% 熟練。
程式語言的學習,在進入複雜的邏輯之前,首要是對工具、語法的熟練。軟體工程師有兩個主要的核心:其一是技藝的打磨;其二是知識的學習,兩者缺一不可。
技藝層面的重要性,很容易被初學者忽略。寫程式就像做木工,看了再多技巧介紹的書籍影片,也無法成為一個手藝精巧的木工師傅,除非大量的親手操作練習。
如果英文打字還有點慢,那就不要期待和其他人有一樣的學習速度;如果對基本語法的運作流程沒有正確的了解、沒有嘗試撰寫程式解決問題,後面所有的學習都像海市蜃樓,靠近就會消失。
許多課程有附帶作業,許多導師會提供每個主題的延伸挑戰。這些額外的、需要你獨立進行的練習,會是初期的學習中,最重要的部份!
保持對細節的耐心,長期打磨練習,才會有所得。
選你所愛,愛你所選,是最好的心理建設!像個木工、像個藝術家,訓練自己重視創作過程中的每個細節,是最好的學習心法。
更多關於軟體工程師轉職的文章