Last Updated on 2021-09-02 by Clay
接案工作邁入第四個月了,老實說我對於『程式教學商品化』的趨勢相當感慨。
為什麼這麼說呢?
這是因為,當我在瀏覽一些網站上的案子評估是否要競標的同時,看到了太多太多、要求提供程式教學內容設計的工作。是的,你沒看錯,不是經典的 Debugging、不是發案做 App,是要求接案者提供程式教學的內容設計。
誰需要這些東西?我想是商人。他們會把程式教學包裝成華美的課程,然後兜售。
程式語言的潮流興起
近年來,社會上所翻炒沸騰的科技議題每年都在改變。
從網際網路、行動裝置 App、嵌入式系統 ...... 一直到近年的無人機、AI、區塊鏈、量子電腦等等,『全民寫程式!』這樣的觀念與議題不斷地被反覆提起、倡導。
越來越多的人被鼓勵要投入學習程式,號稱多這一項技能會升職加薪;就連小朋友也為了要培養『邏輯思考能力』,將學習程式納入了課綱當中。
理所當然地,『程式設計教學課程』成為了商人們趨之若鶩的新戰場。
依稀記得我高中時,跟朋友聊天談到我最近開始學習寫程式,被朋友天外飛來一筆嗆道:「就是有你們這些寫外掛、破解遊戲的傢伙!,我爸才會這麼辛苦!」(我朋友他父親是一名警察)
那時候,學習寫程式是一件『很宅』、『搞破解正版軟體』、『寫外掛』等等帶有負面意味的代名詞。
曾幾何時,寫程式變成了一件『很潮』、『職場加薪必備技能』、『創造更多有趣的產品』這樣的活動。只能說,有包裝真的有差。
但我不樂見那些被隨便包裝的課程
我先講我的結論,我不認同那些被隨便包裝的課程!有些課程是電子書、有些是在個人網站上販售、有些更是直接上傳到 YouTube...... 總之,我見到了各式各樣的盈利管道,當真是百花齊放的資訊爆炸年代。
我不認同商人投機、不認同商人胡吹海吹,比方說什麼『十三堂課你也可以成為資料科學家!』、『三步驟學習能夠幫助職場加薪的程式技能』...... 之類的(書名為筆者個人隨口瞎掰,如有撞名純屬巧合),難道不覺得這些書名很誇張嗎?難道每個人讀完後真的都變成資料科學家、在職場上真的都加薪了嗎?
或許這些誇大名稱的書籍中存在著好書,我不否認;但是我不相信那些外包給接案網站設計的教學課程(或書籍)真的會是好的教學工具!我就來問幾個問題:那些程式教學的內容商人真的會嗎?商人真的會尊重專業不修改任何內容嗎?商人要怎麼做到品質管控?
我的答案是:
- 我覺得許多製作光鮮亮麗課程的商人其實他們不會那些技術
- 我覺得他們會隨意修改內容,將其課程內容效果誇大化、美化優點掩蓋缺點
- 我不覺得商人會做品質管控,我給的 sample code 他們搞不好都不會去嘗試跑跑看
我每年所翻閱到的程式教學書籍品質越來越低落、出書出課程的速度卻越來越快 —— 我不滿意,但那又如何?這些『商品』之所以持續存在,不就是因為這個市場仍然很大很賺嗎?
我同意自由競爭的市場,也相信著『競爭促使進步』—— 然而,我卻厭惡那些外包請人製作教材,然後將其兜售出去的商人。就像我剛才說的:你真的會這些程式嗎?你會尊重專業嗎?你有品質管控嗎?到頭來,你能告訴我為什麼你要選擇販賣程式嗎?
總有一天我相信這些低劣品質的課程會被消滅,但這不能否認目前有很多商人卻因為其華麗的包裝與適度的宣傳而賺得盆滿缽滿。
但仍有真正值得付費的課程
我自己並沒有在兜售課程,也沒有出任何書籍(God,但出書真的是我從小到大的夢想),我想我是有資格這麼說的。
我贊同並欣賞,程式工作者整理自己的筆記作為書籍或課程來販售!
有些課程真的是寶物。
若不是那些辛苦耕耘的開發者/相關經驗者跳出來分享,也許我們一輩子都不會理解那些豐富有趣、精彩絕倫的觀念與創意是怎麼誕生跟運作的。
但這些人的作風是不同的,他們對自己的專業有一份驕傲,我相信在製作課程的那個當下,他們所繳出的每一份範例程式碼通通都可以正常運作;甚至是你寫信去問他們你不懂的地方,大部分只要有空的作者都會很樂意回覆你。
我想,這或許是『匠人』跟『商人』的區別所在。
怎麼區分胡亂製作的課程與真正有價值的課程
剛剛上面筆者隨意閒聊了幾小段,或許大家(假設你是初學者)也會想:那我該怎麼區分有價值跟胡亂製作的書籍/課程?
找書籍跟課程的目的是『學習』,所以我們最後交給『學習成效』來決定。
在那之前,我想先來聊聊怎麼學習一門程式。
我高中時學習了 VB、大學時學習了 C 跟 C++、做專題時又學習了 C# 與 JavaScript、機械研究所時期再次接觸 C++ 與 G-code、資工研究所時期則是 Python、Java、Dart、PHP。
開始接案後,更是有什麼需要就去學什麼。在我眼裡,程式是一種與電腦(或其他硬體)溝通的工具,上課從來就不是最重要的事情,執行、撰寫、修改、試著理解程式碼到底在做什麼...... 才是重點。
而這些年來,我也從來不是靠著書籍或課程來學習程式的。我一直都是靠著『網路上搜尋到的文檔與教學』來入門一門程式語言;剩下的部分,才是看他人的原始碼、看各種教學、甚至到處問人來完善自己的程式。
程式語言的入門從來不應該『直接付費』。
該付費的時間點,是當你真的不懂卻有人可以解釋到你懂時才應該付費。
這就是我的結論:真的讓你學到東西的課程,才值得付費。(這也是個有趣的矛盾點,如果胡亂外包的商人製作出來的課程真的讓你學到東西了呢?)
總之,先去搜尋吧!不要被什麼「你應該要系統化地學習程式才對!......」這樣的話給騙了。什麼是系統化的學習程式?
有些人會說你應該從 C++ 開始學起來理解電腦的底層。
有些人會說你應該從簡單的 Python 開始學起比較不容易失去興趣。
有些人會說你應該從閱讀計算機概論開始讀起才容易有個學習的大概輪廓。
有些人會說你應該從資料結構開始、有些人會說應該從演算法......
讓大家去打一架吧!或是讓支持不同派系的人站在一起,然後來計算大家的平均年薪來決定誰說的話是正確的,如何?
專注於你學習的目的
我覺得學習程式該著重於『目的』才對,你應該先想好你到底想『做什麼』、再來我們才能來談你該『學什麼』。
我曾經被一個來找我學程式的朋友兇了一頓。那時候,我問他說:「你學程式是想要完成什麼東西嗎?比方說一個網頁、一個手機 App、一個遊戲外掛......」
結果似乎戳到他的某種痛點,他頓時暴跳如雷:「為什麼你們老愛問這些問題啊?這就是你們永遠都教不好初學者的原因,初學者根本就不知道自己學這個可以做什麼啊!」
呃,大哥,你今天來找我學我可沒收錢欸?為什麼連這個也不能問啊?還有如果你都不知道你學這個的目的是什麼的話你學這個幹嘛?趕流行嗎?
你不知道你學寫程式能做什麼,那麼其實你就是沒有學習寫程式的需求,我有說錯嗎?
當然,沒有人是天生會寫程式的,但是當你決定開始學習寫程式前,你應該去網路上查查你到底可以透過程式辦到什麼事情,然後才開始學。
不是把你學程式的目的都丟到別人身上,再叫別人告訴你;要不要我順便告訴你晚餐該吃什麼才好?
結論
胡扯瞎扯、隨心所欲地暢所欲言老半天,我來總結個懶人包。
- 很多程式課程的內容是隨便在外包網上外包給別人做的
- 但仍存在真正好的課程
- 多長個心眼,不要看到吹捧很猛的課程魔法小卡就刷下去
- 想要學程式,先去網路上搜尋官方文檔或開源資源,很多是很有幫助的
- 你要先知道自己想要什麼、才開始學
有些地方我可能講得有些過頭,但我真的很厭惡看到那些接案網站上那些發案求程式課程設計的案主,有的還直接寫我是著名的 YouTuber 想擴展市場咧!