很多人在問,自學程式不知該從什麼程式語言開始,這次我們訪問到愛瘋誌 App 的作者 Nick,他也是自學程式出身,分享了他如何自學 Swift,並且只花三個月就打造出可以進入排行榜第一名的愛瘋誌 App。
Q:你好,可以簡短的自我介紹一下嗎?
A:你好,我是愛瘋誌 App 的作者 Nick。愛瘋誌大約是 2013 年上架,進入 iOS 下載排行榜前五名好幾次,甚至達到第一名,累積下載人數超過十萬人以上,每日活躍人數也都有萬人以上,一直到 2018 由於臉書的 API 規則改變,無法再獲取新聞來源,只好下架。這中間五年是個滿有趣的 roller coster ride,也讓我學到很多東西。
Q:當初為何開發這個 App?
A:這算是我的 side project,我喜歡學習新的東西,而當時 iPhone 有各種 app 如雨後春筍冒出來,我也想要寫看看,還可以學一下開發 iOS App 的程式語言 Swift。於是我也沒有想太多,我發現臉書有 API 可以抓資料,這樣不如把臉書各個粉絲團的 po 文「聚合」起來,變成一個新聞 App 吧,於是我就一邊學一邊寫。
Q:一邊學一邊寫?這樣可以嗎?
A:可以啊,我已經會寫程式,學新語言其實滿簡單的。每個程式語言的基本觀念都一樣,就是這些變數、條件式、迴圈,只是語法不同而已,另外就是學習一下不同平台會有不同的函數庫之類的。我從完全不會 Swift 到寫出愛瘋誌 App 的第一個版本,只花三個多月。不過我滿認真的(笑),我可以一天寫十幾個小時的程式也不覺得累,因為是做自己有興趣也很有意義的事情。
Q:如果是程式的初學者也可以嗎?
A:程式初學者學程式本來就要做中學、學中做,先找好你想做出的東西,就可以決定開發平台,決定了開發平台就會決定該使用的程式語言。所以很多想學程式的人都想反了,一直會問該從什麼程式語言開始。
不要一直糾結於從哪個程式語言開始這個問題,因為從哪個程式語言開始不是很重要。重點是先學會第一個程式語言,之後再根據需求學其他程式語言都會變得很簡單,一通百通的概念,時間久了你就會熟悉多個程式語言,哪個是第一個根本不重要。
初學者要學第一個程式語言不會那麼快,至少半年到一年吧,除非是馬斯克(編註:特斯拉執行長),聽說他 12 歲時花 2 天就學會第一個程式語言。
Q:所以愛瘋誌 App 有賺錢嗎?好賺嗎?
A:哈哈,有賺一些些,主要是透過廣告,你只要申請谷歌 Google AdSense 的帳號就可以將廣告放到你的 App 之中。這幾年的經驗,我大概得到一個數據做為參考,一個 App 每天若有 10000 個活躍使用者,一個月下來大概會有 3 萬到 6 萬的收入。愛瘋誌每天活躍人數大概就在一萬人多一點,所以每個月大約可以透過廣告賺 5 萬左右。作為一個 side project 增加的額外收入算不錯了,但是愛瘋誌 App 帶來的卻遠遠不只一個月五萬而已。
Q:什麼意思,為何不只一個月五萬?
A:愛瘋誌 App 做得還不錯,有些公司會主動聯絡詢問,因此產生了許多機會,其中一項促成了一家數位媒體公司,進而帶來更多利潤,真的是無心插柳柳成蔭。所以有時候有個初始的想法就去做,後面會產生很多機會,最後的結果有時是一開始沒想到的。例如臉書當初只是佐伯格在宿舍想要認識女生而做的網站,IG 也是創辦人凱文在下班為了學習程式而作的 side project(後來十億美金賣給臉書),所以不要預設立場,有興趣做就對了,結果往往出人意料。
Q:聽起來真的很不錯,接下來你還有想做哪些 side project?
A:其實有很多,例如我一直很想做一個透過語音辨識來練習英文口語的 App,還有透過程式 AI 來做股票交易,還有公司管理的 App 等等,都是我想要做的。這些想法與靈感都在日常生活之中,你只要注意無論是生活上還是工作上有什麼問題,其中的 solution 就有可能是一個 side project,不但可以解決你所遇到的問題,說不一定以後還衍生出新的商機,何樂而不為。
Q:最後你對於想學程式的人有什麼建議?
A:我真心建議花很多時間玩手機遊戲的人,不要再玩了,這真的很浪費時間,打到很厲害又怎麼樣,得到了什麼?學到了什麼?如果把這些時間用來學習一個新的東西、新的技能,對將來真的是受益無窮。這二十年來我發現,機會隨時會出現,但只有準備好的人才能拿到,雖然有點老生常談,但實際的經驗告訴我這是真的。就像柯文哲說的:「你不能又想懶懶的,又想很有錢,又想很輕鬆,又想很有成就,嘸那種代誌」。
先把程式語言底子打好,多做 side project,自然就會越來越厲害,機會來了才能掌握的住,就算機會沒來,也有能力自己創造機會。每個人都是這樣一步步堆疊上來,不用一直想,做才是重點,不要「晚上想想千條路,早上醒來走原路」,所有成功者都是經歷過他們的「一萬小時」,並沒有捷徑。(編按:任何人做一件事,只要經過一萬小時的錘煉,都能從普通人變為某一領域的頂級人才。)
看清未來趨勢,成為科技搶手人才
從種種的跡象顯示,軟體的確已經成為下個世代的產業主流,例如 AI 人工智慧、App、大數據、物聯網等等的重要趨勢都是建立在軟體設計上面的應用。由於台灣這幾年面臨轉型危機,無論是傳產還是新創公司,對於軟體能力的需求越來越大,薪資福利也都開得很不錯,目前呈現粥多僧少的現象可以好好利用。最後這裡附上三小時線上課程(四選一),可以透過我們合作夥伴聯成電腦的獨家優點來提升自己的軟體能力:
- 深耕教育超過 25 餘年,推動國人的電腦專業不遺餘力,培育上萬人進入電腦軟體產業。
- 首創 168 安心學習服務,透過符合政府評核的一貫式教學,讓學習與就業緊密結合。
- 超過十個就業機會、全國徵才見面會、大型廠商聯合徵才讓結訓學員挑選。