想「轉行」靠寫程式吃飯嗎?一個自學程式語言幾乎將自己逼瘋的軟體工程師親身經歷

2015-04-20 11:12

? 人氣

前幾個星期對我而言非常的難熬,並不只是因為我要學習一個全新的程式語言、熟悉一個全新的開發環境 RubyMine(整合開發環境,IDE)、而且跟一個陌生的團隊合作,真正讓我覺得痛苦難熬的是:

[啟動LINE推播] 每日重大新聞通知

我發現過去是我自己選了一條特別艱難的路來折磨自己。

在自學的那段時間,我花了幾個月獨自坐在圖書館跟咖啡廳裡專研如何在命令列環境下安裝工具、debug Linux 系統問題,有時因為一個漏寫的括號、分號而卡了老半天,我修了無數個 MOOC 課程,但一直到了第五個月我才真正有點「作品」可以放到網路上,這些過程讓我相信程式開發是個永無止境的掙扎之路。

結果看看我身邊的同事們,他們幾乎很少因為語法錯誤、打錯字、漏了個符號這種小事而卡關,因為他們的 IDE 都先把這些錯誤抓出來了;當遇到問題掙扎幾分鐘還解不出來時,他們會直接把問題丟給朋友,互相幫忙 debug;在開發程式時,他們總是在對方的位子隨性的來來去去互通有無。

我的隊友他們十分忠於「自己的一套工具」,當然在許多場合(例如駭客松)裡他們應該都曾玩過許多不同語言、不同框架,但他們主要專注於精進自己現有的工具技能,對於能夠允許進入他們腦中「程式庫」的知識,他們的態度相對保守。

就跟 ThoughtBot 等平台一樣,開發者只固定用少數但有效率的工具鏈(在這個例子裡,Rails, Vim, Postgres 跟 Redis),當開發者們只要全心全意的「用好」幾種關鍵工具時,他們全都成了可以互相合作溝通無障礙的專家。

所以我真正的問題是,如果限制一個團隊的軟體工程師使用同樣幾種固定工具可以讓他們擁有超高生產力,那學習寫程式的新手不也是在只學固定幾樣工具的時候能夠學得最好嗎?

其實線上的各種程式語言學習平台、程式營也是這樣教的,雖然聽起來理所當然,但是當你是一個人去面對這麼多的選項時,真的很難選擇該學哪一樣!我懂,因為我就是這樣經歷過來的,像是小狗在十字路口追逐來來往往車子一樣,追著一台又去追另一台,不斷的在原地漫無目的地橫衝直撞。

一名真正優秀的軟體工程師,他的知識領域應該是「T」字型的 —— 對任何領域都稍有涉獵但至少在某一方面專精到底。

結果在幾個月的埋頭苦幹之下,我發現我自己是條底線「 _ 」...。

在我遇過跟我一樣情形的程式自學者們(我遇到非常多),其中大概多數人都在這樣的過程中喪失信心、迷失方向,甚至放棄了成為軟體工程師的目標,我不希望這些情況發生在你們身上。

關鍵字:
風傳媒歡迎各界分享發聲,來稿請寄至 opinion@storm.mg

本週最多人贊助文章