為什麼你不需要「寫程式」補習班?先搞清楚自己有沒有思考能力吧!

在學寫程式之前,除了要學會獨立思考外,還要學會找資料。
評論
評論

本篇原文刊登於「求職天眼通」創辦人 Denny Ku 之 medium ,INSIDE 獲授權後轉載。關於 Denny:是 Denny,不是 Danny,de for debug。 求職天眼通的作者。 正在努力學習如何成為一位專業的軟體工程師,以及發揮影響力,把話語權從奇怪的人身上拿回來。

隨著資訊流通速度更快,知識變得更容易取得是一件好事,但是利用別人的一時迷惘來取得利益,那是另一回事。

  • 我會以自己曾經做傻事、學習以及工作的經驗出發,來說明為什麼不該鼓勵「迷惘」年輕人去寫程式。
  • 如果你正打算花下大把的費用、時間去上課,或是你跟我一樣對這種現象有一些意見,也許這一次在網路上的交流會對我們彼此都很有幫助。

還是一樣先說明我想說的:

真的不要再叫迷惘的年輕人去學寫程式了。

這裡指的「寫程式」並不是指「程式教育」,而是所謂的「程式速成補習班」,(以下簡稱「補習班」)同樣是在做程式教學的,還有另一種根本就是在做良心事業的「教育機構」,看完文章後應該很容易做出判別來。

真的想試試看寫程式,網路上很多資源可以看,看個心裡有底之後再砸錢也不遲。

關於迷惘

要談到為什麼「學程式」會是一個精神鴉片,就得從問題的根源開始說起。

很多人大學一畢業,或是到大四時候會發現自己很迷惘,不知道自己以後能做什麼。這些人大多會以為自己的問題在於:「自己沒有培養一個專業能力」,但實際上是:「大學四年,甚至是人生的這 20 多年來,可能都沒有想過自己到底想做什麼樣的工作、成為什麼樣的人。」

這些東西是書本上找不到,老師也沒辦法教你的,套一句愛因斯坦說過的話:

The value of an education in a liberal arts college is not the learning of many facts, but the training of the mind to think something that cannot be learned from textbooks.

大學教育的價值不在於弄懂許多已知的現象,而是培養你的心去思考那些無法從課本上學到的東西。

講到這裡,明白人應該都知道重點不在於技能,在追求「專業能力」之前,搞清楚自己到底想幹嘛才是更重要的事情。而只有一件事情比沒有獨立思考的能力更可怕,那就是以為自己有。

在臉書上有看到一位朋友,非常喜歡轉貼羅輯思維、李笑來之類的文章,整天都在談論增長「見識」的重要性,可是他的文筆卻奇爛無比,以至於沒有人看得懂他在講三小;這樣的人到底是見識高到大家看不懂,還是單純沒見識,答案很明顯了。

為什麼要想清楚才來學習寫程式?

程式語言專家、大評論家王垠說:

編程不過是一門失傳的藝術的別名,這門藝術的名字叫做“思考”。
—— 王垠 《我為什麼不在乎人工智能》

思考才是寫程式的本質,但盲目的鼓勵從事這一行顯然不是鼓勵思考的行為。

有人會覺得自己至少學到一門專業技能;但也就是因為這樣,低估了去參加這些特訓班所付出的機會成本。可能有人會覺得不過是幾個月的時間?有差嗎?

很久之前投資有一句玩笑話叫做「住套房」,意思就是買完股票之後,股價下跌,不甘願認賠賣出,繼續持有這些股票,意即這些股票「套牢」了。

上完這種「程式補習班」,可能會有以下幾種理由讓你無法放棄(就像在住套房一樣):

  • 「已經花錢投資自己」
  • 「手上已經有一些技術,如果現在放棄就太浪費」
  • 「老師告訴我每個人都可以成的,一定是我還需要一些磨練而已。」

還有一個也很常被拿來當廣告主打的理由就是「學程式可以跟上科技的浪潮」。說真的,一知半解的話還不如不會,平生工作最害怕就是遇到說:「我以前也有寫過程式」、「我以前也有技術背景」的人,了解科技的進展有很多種方式,許多人不需要寫程式也可以跟上科技的浪潮。

總之,到最後浪費的時間絕對不是半年一年就可以解決。

學技能跟買東西很像,只是花的是時間、是你一部分的人生;花錢之前好好想一想,會知道自己根本不需要;消耗你的人生在某些事情上前好好想想,可以讓人生順遂一些。

說到廣告,我認為除了「美的好朋友」之外,應該也要有一個「宅的好朋友」,因為這些廣告的話術並不會比那些誇大效果的化妝品來的好多少。接下來就來看個常見的套路。

為什麼「OO 小時,成為全端工程師」以及「實戰班」不實際

雖說一定有例外,但可以講一講普遍的情況是怎樣。

爭議點:東西會動就好

如果學習的終極目標只是要讓東西動起來,那絕對沒什麼問題,但這離真正的工作還非常、非常的遠,但補習班會告訴你:「未來基礎可以慢慢補,東西會動比較重要」。

「東西會動就好」這句話沒有錯的前提是有基礎能做好,但時程安排卻不允許所做出的 trade-off;說得誇張一點,選擇「會動就好」其實也是一種基於專業經驗所做出的判斷。

這些經驗並不是由套路所養成,而是實戰之後所累積。真正的教育應該要給予你的是那些能深入了解的知識、以及掌握後能達到什麼程度。不只給你釣竿、教你釣魚,還告訴你很會釣魚之後可以怎樣,才是真正的做「教育」。如果一切都講求實戰的話,還真不需要特別跑去花錢上課。

偏偏這種 OO 小時的時數都不會太長,畢竟要看起來很輕鬆才行,所以能教的都只是一些基本套路;時數雖然不是越長越好,但一些比較優質「教育機構」所開的通常都不強調時數,而是強調其內容。

另一個爭議點:「全端」

補習班所謂「全端」指的通常是「網頁前端」、「網頁後端」。

這些補習班有個很取巧的部分,就是他們通常會教一個網頁框架,叫做 Rails(Ruby on Rails)。如果你不知道什麼是「框架」,可以把「框架」想像成一個神奇工具箱,只要輸入幾個指令,就能夠快速生出一個網站來。

我不否認學習這套框架的話能夠「簡單」地生出一個包含前端跟後端的網頁來,但使用跟活用是兩回事。事實上他們只是會用這個工具箱,對於網頁的「前端」跟「後端」幾乎是完全不了解,只要需求一變動,往往就被殺了個措手不及,而這樣的情況只是被框架所框住,而不是真正的在運用框架。

那需求到底多會變動呢?看到這句話不知道為什麼笑著笑著就哭了⋯⋯嗚嗚

Few things are guaranteed to increase all the time: Distance between stars, Entropy in the visible universe, and Fucking business requirements
-- Modern Software Over-Engineering Mistakes
少數幾個東西是一定會隨著時間流逝而持續增加的:
星星間的距離、可觀測宇宙中的熵⋯⋯還有幹他 X 的商業需求。

更不用提部署、測試,以及各種運維的事務都是要有實際的環境才能養成。

總之這些技能都沒有好或不好,但「OO 小時成為全端工程師」的課程單純就「內容」上,以過去自學的經驗來說,真的是看文件、google 大概一周內能解決的事情。

補習班所謂的「實戰」,跟羅胖的那種「知識付費」其實有一點像,都是讓你感覺有在思考,感覺好像很上進、努力,仔細思忖卻會發現自己其實沒有任何長進的虛耗。

總之,稍微瞭解之後會明白自己到底需不需要花這麼多錢和時間去「上課」,唯有明白自己的「需要」後,去「上課」才會有收穫。

薪水

不避諱地說,其實很多人選擇轉職工程師的原因就是薪水。

之前在 ptt 上看到 Dr.Tech 寫下影響薪水的因素,可以供參考一下:

地區 >>>>>> 產業 >>>> 公司 > 個人能力

如果這是唯一的考量,我完全覺得沒有問題,不是每個人都能夠把興趣跟工作結合,但其實軟體工程師跟其他職業並沒有那麼大的不同。而且如果認為本來就是平庸的人,只是換個職業薪水就要三級跳,那真的就是癡人說夢。

這裡不說豬屎屋或是高級大外商,只說普通的純軟,而且限縮在程式補習班最盛產的網頁前後端。

講白一點,大部分公司做的事情都沒有任何技術上的挑戰性,只是需要便宜的人力來把事情做完而已。(這不是一種批評,真的是這樣!)而這些剛從程式補習班畢業,需要地方「實戰」的人自然就被盯上了,薪水大概就是 30,000 到 50,000 之間(中南部可能更低一些)。

聽起來好像比服務業或其他職位薪水高一點,發展性呢?

前述的那種經驗其實就是在撿屎而已,撿屎雖然辛苦,但放在履歷表上還是屎,除非你撿的是有名氣的屎,否則並不會加分;還有這一行並不是年資越久就代表資深,技術的東西迭代的速度可能超乎你的想像,「套路」這種東西,一年前學的東西,現在可能就已經過時不能用了。

所以,想要投機地能有一個不錯的職涯,隨著技術不斷演進、隨時有可能被淘汰的工程師顯然不會是一個好選擇。

最後一個角度是「出國工作」,「寫程式」相較之下不需要那麼多「語言能力」。想想是還不錯,走向國際又有競爭力。

除非你超厲害或是超便宜,不然為什麼要找一個不太會講當地語言的?前者值得驕傲,後者的話就點到這裡為止好了 QQ

那我們需要課程嗎?

需要,好的老師絕對能讓你事半功倍。至少我在實習時,就因為遇到幾位貴人(顆顆、陳楷、潘大、 Ethen 的指導),讓我在學習上能進展的快速很多。

前面提到的許多「程式補習班」其實都有優秀的師資,但被這種「行銷」手法吸引進來的人,往往在掌握套路上就已經花光力氣,根本用不到這些師資。

所以在學寫程式之前,除了要學會獨立思考外,還要學會找資料。

至少在「寫程式」之前,先弄清楚「寫程式」到底指的是什麼?學會後能達成什麼?否則你根本無法判斷自己到底是不是應該把人生投資在上面。

推薦我很喜歡的一本書:「How to design programs」,看個幾章會對於寫程式的思維蠻有幫助。

如果真的要去上 Rails 相關的課程,可以先跟著這本書(為你自己學 Rails)做一次試試看。

人工智慧

最後,很多人喜歡講說人工智慧的時代來臨,很多工作會被取代⋯⋯(中間不知道略過多少字),結論居然是每個人要有寫程式的能力?幹!第一個被取代的明明就是完全不懂思考的人好嗎?

叫每個人都去寫程式,而不去探索自己的價值,完全是在害大家被取代啊!

補充資料

這是我在網路上找到一篇不錯的參考,比起各種奇怪網路媒體所建議的路線,這條路顯然踏實得多。不是一定要唸 CS 才能當軟體工程師,但要理解他們在大學裡付出的努力,以及他們掌握的是什麼樣的知識,才能更有方向的探索這個產業。

這其實是一門課程的教材,從環境架設到更深入的理解都有。敢把教材放出來足見教學者仍然對收費課程很有信心,就算把這個教材公佈出來也不減課程本身的價值。

哈佛的 CS 入門課程。不是一門輕鬆的入門課,從理念到實作,以及我前面所說「學會這樣知識之後能做到什麼事情」都包含在裡面。


上雲猶如太空探險之旅,iKala Cloud AIOps Services協助企業輕鬆穿梭多雲環境

人類從上個世紀積極探索外太空,為了將太空人送上天際必須克服各式挑戰,而現代企業要從「地端」飛向「雲端」,困難程度有過之而無不及。iKala Cloud AIOps Services 提供多項關鍵服務,幫助 IT 團隊輕鬆悠遊多雲環境。
評論
評論

探索外太空,曾經是國際間的科技競賽,近年 Tesla 創辦人馬斯克更準備把太空旅行當成商業服務,預計 2026 年要帶著人類登陸火星。完成一趟星際旅行,需仰賴嶄新的科技及跨科學精密計算,但你知道嗎?現代企業要從「地端」飛上「雲端」,其實挑戰程度不亞於飛向太空。

對企業資訊管理者來說,有限的 IT 資源無法應付繁重的維運項目,加上同時管理公私有雲架構更顯困難、資安管理複雜,例如需要人工執行過濾警示,各種大大小小挑戰不勝枚舉。換言之,企業想航行雲端,就像打造火箭需要龐大資源及人力。不過,現在有更輕鬆穿梭雲端的方式,就是使用雲端技術服務商 iKala 所提供的 AIOps Services(自動化雲端託管服務)

火箭升空前的全盤規劃:iKala AIOps 擬定系統架構規劃、教育訓練

完成一趟太空之旅,必須做足各種研究,例如精準計算飛行軌道、降落定位點、燃料耗用數、與地球通訊設定…等。

對沒有雲端架構經驗的企業來說,就如同當時的科學家,必須用土法煉鋼的方式檢查數據是否有誤。換言之,企業 IT 在升級之前,就需要有經驗的「雲端顧問」來釐清需求、協助規劃「升雲」之旅。而 iKala 就是企業的最佳雲端顧問,旗下 iKala Cloud AIOps Services 會搭配一位專責的技術客戶經理,協助企業提供即時的技術服務與專業建議。

究竟 IT 升級之前,iKala Cloud AIOps Services 有哪些服務?首先是「系統設計規劃」,涵蓋系統架構規劃書、系統上線/遷移計畫書,可因應客戶產業需求,提供對應的解決方案以及顧問服務。而越來越多企業會使用到 Google 的雲端資源,iKala 也有提供 Google 雲端平台訓練服務。

GCP 教育訓練課程多元,包含 GCP 基礎架構(網路設定規劃、權限控管、計算資源等)、大數據與機器學習(大數據分析 Pipeline、BigQuery、ML 模型訓練與應用)、軟體開發技術與流程(容器化、CI/CD、DevOps)等。因為 iKala 團隊取得 10 多項 Google 專業技術證照,才能在企業規劃雲端轉型的前期就一步到位,規劃出整體藍圖,提供更全面的解決方案建議。

火箭升空中的精密操作:iKala AIOps 輔助即時技術維運、資安管理

當火箭準備就緒、升空倒數之際便是決定這趟太空之旅能否成功的關鍵時刻。從太空人的行前訓練與身體檢查,到火箭的引擎測試完成,如果有靜電或一點火花都可能引發爆炸事故。光是在升空階段,太空總部就要有結構、熱控、姿態控制、資料處理、電能、遙傳指令、推進以及飛行軟體等龐大的系統工程師在旁待命。

換言之,企業 IT 移轉雲端過程就像火箭發射的當下,需要有專業、經驗足夠的工程師,才能即時協助企業順利上雲,甚至快速排除緊急的狀況。對此,iKala Cloud AIOps Services 提供兩大關鍵的幫助:技術維運、資訊安全管理。

iKala Cloud AIOps Services 的技術維運服務內容,提供 7 x 24 的 Help Desk,像是緊急 GCP 問題報修、產品使用技術諮詢;或是事故管理,如搭建監控系統、設定規劃告警政策、規劃日誌收集與留存。每月也會提供企業維運報告,報告書有營運效率檢討、流程優化、新服務項目、營運系統建議等。

至於資訊安全管理方面,除了基本的 GCP 專案權限控管掃描、應用程式 OWASP(Open Web Application Security Project)前 10 大項目資安弱點掃描,同時也針對近年相當受重視的 DDoS 防護,iKala 可協助企業導入 GCP 平台的 DDOS 防禦機制。iKala 掌握多年軟體開發和雲端管理經驗,可分享給客戶 DevOps、AI 第一手實務的作法與經驗。

火箭升空後啟動自動導航:iKala AIOps 提供 AI 自動化監控、帳務管理

當火箭成功升空後,太空人為了執行下一階段任務,這時候火箭就需要轉換成自動駕駛模式,或在探索其他星球時,出動機器人來協助執行人力無法負荷的任務,讓太空人專心處理更關鍵的工作。換言之,上雲後的 IT 架構就像升空後的火箭,應該減少 IT 人員的負擔,甚至不需浪費例行時間,就能夠快速掌握整體資訊系統的運作狀況。

不過要讓 IT 架構像火箭具備自動駕駛功能,勢必需要相當高的技術門檻,而 iKala Cloud AIOps Services 正好有相對應的服務。如此一來,IT 人員的生產力就能投入在更具商業價值的研發專案,讓 IT 部門轉型成可創造產值的單位,而非單純的後勤支援角色。

盤點 iKala Cloud AIOps Services 在此環節共有三大類服務。其中一項是 AI 自動化監控與通報服務,幫助 IT 成員主動監控系統,掌握是否有異常操作狀況。其二是帳務方面的管理,幫助企業產出雲端服務月用量帳務分析報告,針對軟體授權需求,整合出帳至  Marketplace 與第三方服務商,自動化做到 License 採購管理。

第三項則是針對服務級別協定(SLA)iKala Cloud AIOps Services 提供 24 x 7、5 x 8 兩種模式,在重大 GCP 服務異常中斷服務時,提供電話、e-mail 聯繫。而且每月會舉辦 1 次月會(以 on-site 或遠端視訊會議方式)提交書面報告。目前 iKala 的企業客戶服務超過 400 多家、涵蓋數 10 種產業,可說是企業成功上雲,最能安心託付的合作夥伴。 

事實上,雲端託管服務(CMS)是目前最夯的新趨勢,根據市調公司 MarketsandMarkets Research 報告指出,全球雲端託管服務的市場規模,預計從 2020 年的 624 億美元,到 2025 年成長至 1,162 億美元,複合年增長率(CAGR)為 13.3%。代表未來有大量企業採用 CMS,以降低 IT 基礎設施的投資成本及風險,藉此提升企業營運的競爭力。

由此看來,企業的數位轉型,就像上個世紀的太空軍備競賽一樣。「時間就是決勝點」,越晚起步的公司與其他數位能力領先群的企業相比,差距只會越來越大。現在就攜手 iKala 嘗試 iKala Cloud AIOps Services,打造穩定的 IT 系統、邁向數據驅動的商業模式,讓企業在數位世代站穩腳步,輕鬆穿梭多雲之間。

了解更多 iKala Cloud AIOps Services