AI 來襲,程式教育應該何去何從?一個老派工程師的反省

GAI 2023 年會下午的百人交流,我參與了程式教育討論這一小組,紀錄一些自己的想法。

下午的交流會, Mosky 提出來的題目是關於程式教育,立刻就衝過去這組參與討論,這組裡有很多來自不同教育單位的人,大家討論非常熱絡,收穫超多。

先下個關於我個人、簡單的結論:作為老派工程師的我,得要再重新打斷一次神經、重新連結一次了 😅,要更開放地去接受這個新的世界所帶來的改變。

from Microsoft Image Creator

這真的是一個沒有人知道明天會怎麼樣的影響,也許只剩下 Senior 就可以做到全部的事,不需要雇用 Junior 了,也許只需要用 Junior + ChatGPT 就能做到 Senior 能做到的事,然後還只要付 Junior 的薪資。

在從事教育工作的人,體制內的國小、國中、高中、大學,要思考怎麼去發掘每個人的天賦,引起他們的興趣,後面的路也許他們可以靠著 AI 自己走下去?

體制外的我們,像 ALPHA Camp 或 AppWorks School 這樣的轉職教育,也都需要重新思考跟定義「怎麼樣是一位合格的工程師?」作為資深的我們,又該怎麼去引導對這個行業有興趣的人?

不同的學習目標

我自己把學習程式的目標分為:

  • 目標不是成為工程師,但想要自己可以去自動化一些工作的人
  • 目標是成為工程師的人

這兩者之間的訓練,應該會有所不同?又該有怎麼樣的不同?目標不是成為工程師的人,從 ChatGPT 給的程式碼複製貼下來,可以達成需求就好?但完全不理解內容,會不會就無法發現有「暗黑」的地方?

不同的程度

如果同樣是以成為優秀工程師為目標,那程度上又可以分成:

  • 0 到 1:也就是完全沒有任何基礎,但想要開始學習、成為工程師的人
  • 1 到 10:已經是 Junior 工程師,想要持續精進、想要變得更厲害的人

這兩者又會有什麼區別?討論中有人認為 ChatGPT 對 1–10 的人幫助不大,我個人則是認為,學習方面…好,我還是很老派,我還是習慣 google 或翻閱經典的書籍,但我非常贊同已經是工程師的人,善用 ChatGPT 來增加工作效率,這樣就可以釋放出更多時間去學習更深入、更進階的內容。但無論如何,已經有 1 這樣的基礎了,對於 ChatGPT 就是怎麼用而已,這方面我覺得還好。

那 0 到 1 呢?如果以以往我對於一個合格工程師的條件來看,我覺得 ChatGPT 可能會導致歪路,但我也一直提醒我自己,這會不會是我過於「老派」的想法?我是不是太小瞧學習者了,我總擔心他們無法駕馭 ChatGPT,我總擔心他們無法「鑑別」ChatGPT 產生的內容,我總擔心 ChatGPT 讓學習者喪失那個「的確令人感到挫折但真的有用的摸索過程」。又或是,這個過程其實完全不必要,只是我個人認為需要或是只有舊時代才需要呢?這些擔憂,我想在 google 推出時,我們的老師們已經擔憂過一次了(真的是報應不爽),所以其實是不是真的沒有關係,新時代自然會有新時代的做法?

是不是要回到更根本的問題,在這個新的時代之下,作為一名軟體工程師,應該要會些什麼?又該怎麼定義「一位優秀的軟體工程師」?甚至,市場有需要這麼多「優秀」工程師嗎?

這也是我去參加年會的原因之一,我想知道更好、更恰當的運用方式,未來有許有機會可以反過來分享給學員們?(要再承認一次,現在都是他們教我怎麼用。)我也想要知道,我們應該怎麼重新定義這一些事情。

轉換成程式腦

每個領域都有它的思維方式,要轉換思維的過程往往是痛苦的,這也是我覺得成人轉職會比較辛苦的原因,在經歷過大學跟就業一連串的學習後,如果你做得還不錯,那你在原本的領域上應該會有那個領域的思維模式。在轉職時,就要去克服這個思維模式的轉換,有的人很順利,還可以讓自己原本領域的思維變成助力,但也會有些人變成了阻力。

根據我自己程式上學習的經驗、過去幾年帶新人的經驗,還有近兩年手把手授課式教學、AppWorks School 反轉式教育這些經驗累積起來,我會把學會寫程式這件事分成兩個部分:

  • 可以把需求、商業語言轉換成電腦科學用的語言
  • 可以把電腦科學用的語言用程式實作出來

沒有經歷過的人可能會覺得很奇怪,已經可以轉換成電腦科學用的語言了,那不就等於會寫程式了。事實上並不然,你知道要做什麼,跟真的用程式語言把它做出來,這中間是有很大的距離的。

ChatGPT 在第二點上應該可以給學員們很大的幫助。我會想的就是「這樣真的好嗎?」但又有什麼不好,以終為始,他們就是做了一個符合需求、可以動的作品出來了。但如果需求沒有這麼簡單呢?有一些 non-functional 的需求呢?這部分我真的還沒有答案,也是很擔心我自己過於老派的地方。

至於第一點「把需求、商業語言轉換成電腦科學用的語言」,到目前為止觀察下來,這部分真的是我最可以幫助學員的地方了,也是讓我覺得「原來我過去 20 年經驗真的還是有累積到東西」,反而增強了一點點我的信心。

結論

沒有結論 🤣

原本想用 Microsoft Image Creator 做圖出來,但實在做不出我想要的樣子,先用這張之前收藏的圖片,如果有朋友知道來源,請再讓我知道一下,謝謝。

轉換的過程總是痛苦的(但這不表示不好玩,優秀的工程師都是抖 M),但開放心態是一定要有的,我們這些以往有累積到東西的人,反而更要去打破它,跟我前面提到轉職者辛苦的地方快差不多了,要讓自己原本的累積成為助力,並且可以為他人帶來更好地影響。

祝大家可以在 AI 時代存活下來。

(再次申明,以上內容皆由本人撰寫,非 AI 產生 🤣)

--

--

Azole (小賴)
Azole (小賴)

Written by Azole (小賴)

As a passionate software engineer and dedicated technical instructor, I have a particular fondness for container technologies and AWS.

No responses yet