跳到主要內容

發表文章

常聽人說「現在人人都要學會 coding」-- 但到底是要學什麼?從何開始?去哪裡學?

最近換工作,要學很多以前我沒用過的程式語言技術,像是 TypeScript, GraphQL, Relay 等等。於是我上網找了很多免費的、付費的教學影片,像是在 YouTube、 Udemy、PluralSight 等等平台。 但很多教學影片從製作至今已經過了兩三年甚至五六年。在軟體的世界,過一年就人事已非了,何況是現在去看 2016年的教學說明。許多 web packages 的版本在六年間已經從 version 5.x 跳到 18.x 之類的... 因此即便那個教學影片再怎樣的手把手教學都沒有用。資訊已經完全過時。 軟體的世界就是這樣,技術日新月異。圖書館都不願意收舊的 coding 教科書,因為過時的資訊難以幫助到人。 軟體的世界就是這樣,技術日新月異。圖書館都不願意收舊的 coding 教科書,因為過時的資訊難以幫助到人。 許多人常萌生要自學 coding的念頭,但因為不得其門而入,一不小心熱情就會澆熄。身為一個自學 coding轉行當軟體工程師的人,我理解這種感覺。我們身在一個資訊爆炸的時代,但資訊量太大,找到對自己有用的教學資源其實就是自學最困難的一步。 很多人想到要學 coding,會想「課程會不會很貴?」「會不會很難?」「會不會需要花很久的時間?」其實這些問題都問錯了。自學 Coding是個知難行易的學問;如果知道怎麼找自學的資源,不用花多少錢甚至免費就能達成。如果找到對症下藥、適合自己的資源,認真跟著看跟著做也不會難上手。但如何找到那個沒有過時、資訊正確又適合自己的課程?很多人花了大把時間、大把金錢就卡在這個第一步。 我舉一個生活化的例子你就懂了。Ikea 的傢俱你說難組嗎?其實一點都不難,但先決條件是 Ikea的說明文件非常好懂、資訊正確,而 Ikea 家具的品管做得不錯,大部分我們買回家的包裝裡頭零件都正確,因此照著說明書一步一步完成不難還非常有成就感。 但我們也都買過很爛的家具組:說明書沒人看得懂、裡頭的零件缺一大堆,甚至連家具的裁切、材料本身都有問題,大小根本組不起來。不然就是說明書過時了:零件已經改版本了,但說明書沒有更新。如果組一個家具要一直打給客服補貨、換貨,而且甚至問題在哪裡我們都推敲不出來、客服那頭沒人回答我們問題... 我們一定非常洩氣,很快就放棄組家具了。我們一定心想「組家具太難了!」 以網頁開發這塊的 coding來說,
最近的文章

淺讀 AI

我最近在上一些 AI 的課程,覺得 AI 的理論基礎還頗引人入勝的。 幸運地,公司很鼓勵大家學習 AI 相關知識技術,讓我名正言順地探索 AI 的世界。 寫這篇是想藉由寫作整理一下我目前的學習心得。但畢竟我只是初學者,所以以下講的話可能顯得門外漢,還請大家包涵。 1. 所謂的 AI,就是讓機器可以取代許多傳統上以為人類才能做到的事情。好比:辨識手寫文字、辨識影像圖片做分類、翻譯、口譯、理解文章內容、在大量沒有規則的資料中找出規律....等等等。AI 可以運用的範圍無遠弗屆,包括無人駕駛、幫大量文獻寫摘要、人臉辨識、回答客戶問題、語音回話.... 2. AI 如何能做到以上這些事情?依照我的方式理解與歸納,主要靠這兩件事:(a) pattern recognition  及 (b)大膽地假設、小心地求證。  a. Pattern recognition (規律辨識)     機器要做事,不可能叫他「靠直覺」、「靠本能」。機器是沒有直覺跟本能的。它的直覺跟本能就是你餵一套運算方法給它,輸入什麼 x 它就吐出什麼 y。 Garbage in garbage out — 這是唯一機器能夠運行的方式。      了解 AI 背後的邏輯就會知道,AI 其實沒有什麼魔法,就是純粹的把所有人類平時的行為拆解拆解再無限拆解,變成一條一條命令餵給機器。      這有點像舞蹈老師在教跳舞。老師跳起來是舞林高手、神乎其技。但好的老師能把動作一一拆解,把一個節拍的動作分解成二分之一拍、四分之一拍...每個節拍對到哪個動作,如果能夠講解地清清楚楚、分析地准准確確,學生經過千萬次練習,終能學起來,做到跟老師一樣。     AI  就是我們的學生,而且他是最好的學生,因為他練習千次、萬次、十萬次、十兆次都不會累、不用休息。而我們(工程師與資料科學家們)的工作,就是把我們想要機器學習的事情(說話、翻譯、辨識圖片、寫文獻摘要等等)做拆解。把一個句子拆解成一個一個的單字,把世界上所有的單字分門別類、依照關聯性建模組....把語言分析、分解成有規律的方程式,再教給機器,機器就能學習。     難就難在語言不是完全有規律可循的。語言是活的、是天天受環境、受使用者而演化改變的。所以語言有非常非常多例外,不是簡單的文法就能包羅萬象。AI 這個學生教它什麼它都學得會。挑戰其實是在於我們人類身為老師的工作。如何讓

槓桿

最近會在網路上看一些財經科普,學到了一個概念:槓桿。 阿基米德說:「給我一個支點,我可以舉起整個地球。」槓桿就是以小博大。財務上這個概念就是,假設你有二十萬,你把二十萬投到股票市場有 10%回收,那你就賺了兩萬塊。但如果你用二十萬當頭期款買一百萬的房子,同樣賺10%你就會得到十萬塊。 同樣是手中有二十萬,但第一個例子你賺到了兩萬塊。第二個例子你賺到了五倍的十萬塊。這就是財務槓桿,以小博大。 但首先你得有那二十萬。如果沒有的話,要拿什麼來槓桿?零元的 10%,還是零元。 我最近想起兩件往事,都跟槓桿有關。 第一件是我在馬里蘭大學當 Techinical Writing 講師的時候,班上一個學生在課堂上說的話。 那是一個黑人男學生,是一個平凡中規中矩的孩子,看起來就像來自中產的家庭,行為表現也是中規中矩,不是最好也不是最壞。 我已經不記得前後文是什麼了。某天他有點不悅地抱怨,說以前高中的時候,他去圖書館找 SAT的參考書來讀,但圖書館的參考書都過時了。SAT是美國申請大學必考的學科測驗,所有高中生都得考。 他講這句話不是特別要引人同情或什麼的,就是純發牢騷吧!班上的同學也沒什麼反應,反正這就是人生的現實吧。It sucks, but it is what it is. 我在馬里蘭大學的學生很多都是像這樣的孩子,不是特別有錢也不是特別窮,不是特別出色但也不笨;他們對自己也沒有什麼誇大的自戀,就是腳踏實地知道自己必須有點努力,因為不會有什麼天上掉下來的禮物。 我特別喜歡馬里蘭大學的那些孩子。可能因為我覺得我也是這樣的人吧。托爸媽的福有幸活得還算安逸,但也看得很清楚自己在這社會食物鏈裡的定位:大概就是得一直跑才不會被吃掉吧!那就跑吧。與其躺著一直哀怨自己長得不夠大隻,不是獅子、不是老鷹,不如就接受現實去圖書館看去年出的參考書吧!雖然過時了一年,但總比過時十年的參考書來得強,所以過時一年的參考書還是會很搶手的。如果再有辦法一點,那就找找別的圖書館、找找網路上二手的參考書。窮則變、變則通。人生有一點點的「窮」,才能激發無限的創造力。這種變通力,可能是含著金湯匙出生的孩子很難學會的。 有一點點「窮」的人,可能很早直覺地就知道什麼是槓桿,即使沒人教過他們這個概念。因為沒有全新的參考書,也沒有錢買全新的參考書,那只好用更少的錢當槓桿買別人舊的、畫過線的書來看,或者用自己的時間當槓桿多跑

如何知道自己適合、喜愛什麼工作?終極解答

你若看我這個部落格的網址:findcareerpassion.blogspot.com,就能知道我當初開始寫這個部落格的目的:幫助大家尋找自己的職涯熱情、找出自己喜歡的職業。 我從 2018年開始寫這個部落格。 時光回溯六年。地點:美國加州矽谷。那時我剛生完我的第一個孩子,人生第一次當媽媽。在這個節骨眼,我裸辭在 Tesla 當技術寫作員(Technical Writer)的工作,決定要在家靠網路教學影片 自學成為軟體工程師 。 這段時間非常鬱悶。因為我做了一個經濟上非常不理性的決定。沒有軟體工程的基礎、沒時間去外面上課,完全任性地想靠便宜的線上課程轉行....(如果你好奇的話,我最後 花了九個月正式轉行成功 。) 在那段寂寞的日子裡,我靠寫這個部落格自我鼓勵。想說紀錄一下艱辛心酸的日子,也許也能幫助未來的人找出自己究竟喜歡什麼樣的工作。 是的,我一開始寫部落格的目的並非要分享轉行的方法,因為我也不知道我的方法會不會成功。但那時的我知道的是,很多人跟我一樣,想要換工作。很多人跟我一樣,覺得自己的工作不夠有趣、不夠具挑戰、不夠適合自己。 不喜歡自己現任的工作,但也不知道自己到底要什麼。這就是世界上很多、很多、很多人的問題。 我是台灣人,生長在台灣填鴨式的教育環境。我知道很多人會把自己工作上的不快樂推給父母、推給教育環境。「都是被逼的」。「沒有機會探索自己的興趣。」「一生都不知道自己喜歡什麼。」 但外國人就都愛自己的工作嗎? 我最近在聽一本書,書名是 So Good They Can't Ignore You 。這本書探討的就是如何找到一個自己真正喜愛、快樂的職涯。書中說到一個研究,訪問加拿大的年輕人,想得知他們認為他們有熱情的事情是什麼?結果絕大多數的人回答跳舞、曲棍球、藝術等這類比較偏向「興趣」類型的答案。試想,一個社會要如何每個人都把曲棍球、舞蹈當成職業呢? 事實上從總總方面來看, 找不出自己喜歡、有熱情的工作 應當是全球現象,尤其是好發於年輕剛出社會的人。 很久以前我就寫過一篇文章叫做 Why Follow Your Passion Is Not Useful Advice 。這篇文章是歸結「 恆毅力 」這本書裡頭說一個概念:現代人已不像上個世代那樣,盲從父母做出的人生安排。但我們有因此比較快樂嗎?事實上,現代大部分的人太執著於找到「最」適合、「最」有熱

別告訴她

最近看了這部片,意外地很感動。Awkwafina 演得很好。 Awkwafina 飾演一位在中國出生、十歲搬到美國的女孩。如今她三十歲了,因為奶奶得了癌症末期,跟全家人回中國探親。片中講了很多文化隔閡,以及「待在中國的子女」及「搬到國外的子女」之間的矛盾、嫉妒、競爭。 美國有很多故事講的是 ABC 的身分認同問題。看起來是黃種人,但從小生長於美國的小孩,覺得自己既不是黃種人也不是白人;這類電影小說很多。 至於像 The Farewell 這種,主角是十歲才來美國,對於中國有更多感情,卻又因為時間距離語言隔閡而跟老家漸行漸遠的故事,那就比較少了。這樣成長環境的孩子的身分認同又有點不一樣。她的童年跨越了兩個國家、兩種文化,但她不全然屬於任何一邊。這樣的孩子一般稱作 third culture kid,第三文化小孩。 Third culture kid 有很多寂寞是很難被外人理解的。就像片中主角跟她媽媽說的: 「我小時候最美好的回憶就是暑假到爺爺奶奶家住、在他們的花園裡玩。但十歲我們搬到了美國,我就再也沒法去爺爺奶奶家了。後來雖然回中國玩,但爺爺過世了、他們的老家拆遷了、花園消失了。一切都跟記憶中不同了。」 這段話講得真是很好。 我也算是一種 third culture kid 吧!我是出生波多黎各,小學四年級搬到台灣。後來雖然時常回到波多黎各玩,但我的感覺就是每次回去,這個我記憶中的「家」已經 move on 了,就只有我沒有move on。那個城市的人事物,大家有了新面貌、新朋友、新人生。對於住在那裡的人來說,這些改變是微小、一天一天一點一滴的累積,所以大家沒有感覺。住在同一個地方的一群人,他們的改變都是相互影響的:你改變、我也改變,大家一起改變就沒有誰適應不了而落單的問題。 當一直待在同一個地方時,一座花園消失了,可能會傷心一下,但隨即而來的會有其他花園取代心中的缺口。這就像是每天你都對失去的小東西說 bye bye,但因為每天捨棄一點,不會需要累積到某一天變成一個 Farewell。 但對於離開的人來說,心中的花園永遠是十年前、二十年前、三十年前那座花園。不管回去多少次,就算明知花園已經被拆走了,你都還在找那片不存在的花園。因為除了那記憶中寥寥的幾個東西:花園、奶奶、爺爺,不然還能找什麼? 你想要的是,讓你想念的童年能有一個圓滿的 farewell,一個 clos

價格低、品質高的線上 coding 課程

相信大家都知道,網路上能夠自學 coding 的課程很多。但就是因為太多了,讓人不知從何選起;光是過濾這些課程本身就是一件耗時的難事。以下我列出一些選擇供大家參考: Udemy: HTML and CSS for Beginners - Build a Website & Launch ONLINE 再附上幾門我在 Udemy 上過的課;我自學轉行的知識來源就是靠這幾門課。這些課程的特色是價格低(特價期間看過低於 $20鎂)、內容充實(30小時以上的教學影片)及注重實作。 The Complete Web Developer in 2020: Zero to Mastery (這門課原本在 Udemy 上,現在換平台了) Master the Coding Interview: Data Structures + Algorithms The Complete Junior to Senior Web Developer Roadmap (2020) Complete Python Developer in 2020: Zero to Mastery The Complete 2024 Web Development Bootcamp 免費 Udemy 課程 《讓我自學轉行成為矽谷軟體工程師的唯一一堂線上課程》 直接講結論。那唯一一堂課就是 The Complete Web Developer in 2024: Zero to Mastery (當時上的是 2019 版本,但它每年都更新)。 七折折扣碼 PPP_30 九折折扣碼 FRIENDS10 追蹤我的粉絲頁一段時間的朋友,就知道我一直很推崇一位線上課程的老師 Andrei Neagoie。 我 2019年上的是他這門 The Complete Web Developer: Zero to Mastery。我那時小孩才剛出生幾個月,我沒時間去上程式語言特訓班 bootcamp(光每天要搭地鐵進舊金山這點我就不大可能達成),所以我選擇在家看線上課程。而這門課就是我自學期間 60% 的資訊來源,讓我用九個月的時間轉行找到矽谷軟體工程師的工作。 這門 Zero To Mastery 的課後來Udemy 已經沒有了。原因是 Andrei 自己創業搞自己的平台了。因為他的課程夠多(現有 76門

No one's gonna hold your hand

在我來美國讀 Creative Writing 碩士班之前,我聯絡了當時在 program 裡就讀的學姐,想了解這個碩士值得讀嗎?等等問題。 學姐很詳細地跟我解釋 program 的各個面向、有什麼資源等等。最後她寫了一句話 “But no one's gonna hold your hand, you know what I mean? The resources are there and everyone is there to help you, but it's kind of up to ourselves to reach out and make things happen."(沒有人會牽著你的手喔,知道嗎?資源都在那裡,大家也很樂意幫你,但還是要靠自己主動去尋求幫助、推動自己想要的事情發生。) 那時我跟美國文化不熟,聽到這句話覺得莫名地冷酷呀!怎麼會說這樣一句話呢?在台灣就算仇人也會表面功夫講幾句圓場的話,不至於這麼直白啦! 這幾年常聽到網路上的一句話叫做「手把手教學」,彷彿前方有個前輩會牽起你的小手,你所有會的、不會的都沒有關係,只要牽好前輩的手,他就會帶著你從出發抵達終點。這句話豈不是跟當初學姐說的那句 no one's gonna hold your hand 完全相反? 在美國多年後發現,美國是蠻不喜歡這種「手把手」的做事方法。不只是「前輩」會跟你說出 nobody's gonna hold your hand 這種話,「後輩新人」也不想要被牽著小手做事。有問題當然可以發問,身邊的人提供的幫助也會比想像中的熱情,但前提是你要先自己動手嘗試過後知道「問題是什麼」、「你需要什麼」,然後開口、提問,別人才能給你你需要的東西。你自己都不知道自己需要什麼、也沒有開口求助的話,別人又如何幫你呢? 多年前我在特斯拉上班,我的年輕同事跟老闆抱怨她要完成一個 project,但每個同事都要三催四請才叫得動,大家都在敷衍她。我的老闆是典型的美國白人,講話也是很直白,他就說「永遠不會有人比妳自己更在意妳自己的 project。每個人都最在意自己的事,所以妳自己的事,除了妳自己去 push 之外,那還能靠誰?」 這句話我一直記著,在職場上受用無窮。受用的點就在於,同事如果不好好幫我的時候,我覺得也沒什麼好玻璃心的,因為這就

我該去讀 Creative Writing MFA 嗎?

今日收到讀者來信,問了一個我很有興趣回答的問題,於是我徵詢她的同意,在板上作答,這樣或許也能幫到其他對 Creative Writing MFA 學位有興趣的讀者們。 先前情提要一下:我曾在美國讀過一個 Creative Writing Master of Fine Arts 碩士學位。這種學位目前在台灣就我所知,應該是沒有的。或者至少在我九年前畢業時是沒有的。何謂 Master of Fine Arts? 顧名思義它不是文科碩士也不是理科碩士,而是屬於藝術碩士。這個學位並非以就業為取向,跟資工系碩士一出來就可以開始寫 code 賺大錢有天壤之別。Creative Writing Master of Fine Arts program 通常是一個兩年的學位,畢業論文是一本書長度的作品集,看你要寫小說、新詩、自傳、散文之類都可以。而就學期間則以和老師、同學們之間互相切磋、陶冶藝術敏銳度為目的,幫助你在兩三年期間內完成作品。 以下就先放上讀者的問題(為保護讀者身分以及精簡篇幅稍作刪減) : 「我是一名來自台灣的文字工作者,過去在台灣跑財金與政治新聞,後來登出體制全職製作報導文學、小說、漫畫編劇、代筆書籍等各種內容,目前與先生居住在美東。 我經拜讀過您的《文藝少女的矽谷進擊》,很喜歡這本書與您的理念,尤其是您在馬里蘭大學攻讀 Creative writing 的 Master of Fine Arts 學位的歷程,非常激勵人心。 今年我先生申請到教職,即將前往美國研究型大學任教,預期會在一個地方常駐五年起跳,我的目標是從寫非虛構 (non-fiction) 的作家漸漸往小說家(fiction writer) 邁進,想透過 MFA 進修取得在地連結與學位,目標是申請 University of XXXX 的 Creative Writing 碩士班。 目標的這間大學可以申請全額獎學金,大家最有疑慮的「未來找不到工作」,我的現況是「不必拿學位就能專業以中文寫作」,也意味著不念這個學位,就是宅在家裡努力從台灣找接案賺錢,讀書、寫自己的作品投獎項或向出版社提案。 取得 Creative Writing 的 MFA 對我在職涯領域的幫助是:一是能念完起碼證明語言能力。二來是不管它的就業實用性,它依舊是一個正統的學歷資格。三是台灣目前沒有CW類的研究所,CW在 北美已存在數十年,有明