沒錯,標題就是這麼 real,整件事就跟標題說的一樣。

讀了一封封報名信以後,我真的迷惘了,就跟之前求職一樣,有時候你以為接觸愈多就會愈清楚,但事實卻正好相反。

我還跑回去翻了我以前的文章:如何決定錄取與否?對計畫的反思以及對報名信的建議,看一下以前的自己是怎麼想的。

這一次報名最大的問題是:

以前的標準已經不適用了

而背後的原因是:報名人數暴增。

如果只有 50 幾個,那我當然可以根據我以前的標準去篩,先假設可以篩掉個三成好了,然後其他七成(35 個)全部錄取。

但這一期的報名人數大概 200 個,七成就是 140 個,難道我要把 140 個都收進來嗎?不可能,這樣我負荷不來,也顧不了課程品質。

所以之前寫的那些就不管用了。儘管你有強烈轉職意願而且願意付出時間,也不保證能錄取,因為可能有其他 100 多個人都跟你一樣,站在相同的起跑點。

既然是這樣的話,該怎麼決定要收誰?

按照課程初衷,想要證明自己的教學能力的話,當然就是找張白紙,越白的越好,然後能夠付出一定時間,才能試試看我的課程是否也讓他們聽懂,試著幫助他們轉職成功。

前幾期基本上是這樣想的,但這期人數一多以後,就不太一樣了。很多報名的人都有接觸過一點程式,有些也在信中證明了有相當的自學能力,如果按照我上面說的,這些人的順位好像會被排在白紙後面。

咦,怎麼感覺有些奇怪。

這樣的話他們如果沒有被收進來,就是因為他們比較努力。因為比較努力,所以有學過程式有接觸過,也因為這樣,所以順位被排在白紙後面,就被刷掉了。

怎麼聽都覺得有點奇怪,居然是因為比較努力而被刷掉。

以前聽過很多去申請那種有名額限制的免費培訓班的案例,都說錄取門檻很高。我以前只想到有可能是想增加成效,所以要找比較厲害的或是有潛力的人進去。

但或許我想錯了,那只是結果看起來是這樣,可是原因不是的。不是因為想增加成效而找他們,而是因為本來就比較想錄取他們。理由也滿合理的嘛,因為他們在進去前就證明自己有學習能力。

好,那我就從有學習能力也有學過程式的人開始收?

可是,那些白紙怎麼辦?就算了嗎?可是沒有白紙的話,該怎麼驗證自己的教學?不是說想好找白紙的嗎?

所以我迷惘了。

做這個教學做到第四期,似乎變得不太一樣了。但我不確定是我忘了初衷,還是初衷本來就是一個可以變的東西。畢竟現在跟第一期比起來,本來就不一樣了。能收的人變多了,自然就可以考慮更多元的學生組成。

像是第三期,有收一些本來就會寫程式的人進來,也有收一些設計師或是有設計相關背景的,這算是一個新的嘗試,而且成效出乎意料的好。原因是,那些本來就會寫程式的人可以當作領頭羊,在前面領跑,無形之間帶著大家一起往前進。

這不是需要他們主動做的事情,而是他們的作業、他們的進度,甚至是他們的存在本身,就對這個計畫有幫助。

而後面那些白紙可以看到一個接近的 role model 長什麼樣子,以他為目標來邁進,也能看到他們的作業,知道那個程度的人做出來的東西是什麼樣子。這種化學反應是我之前沒有想過的。

而且除了以上兩種,還有另外一種人,就是這一期開的 B 方案,為付不出太多時間卻又想系統性學習程式的人設計的方案。如果開了這個方案結果卻不收人進來也太靠杯。

話說還有一點是很值得思考的,那就是:「你要怎麼知道這些無基礎的人,是真的有心想學習程式?」,報名信上寫說:「我真的好想學程式」就真的是很想學程式嗎?這當然不一定。

那該怎麼證明你真的有心學程式?很簡單,你之前有碰過程式有寫出心得,而且是持續地在寫心得,我就知道你是真的有在接觸而且不間斷,這是最好的證明方法,不要用說的,要做的。可是如果只往這個方向去思考,就會漏掉一些:「沒碰過程式但真的很有心學習」的人(不過問題又來了,我要怎麼知道你是真的很有心?),而這些人也是我想收進來的。

所以呢,到底要收哪一種?白紙還是非白紙?A 方案多還是 B 方案多?

如果是以「驗證教學成效」為主要考量,顯然是白紙 + 方案。如果是以「賺錢」為主要考量,一定就是非白紙 + B 方案,收入可以最大化。

可是一定要這麼極端,這麼二分法嗎?這又不是二值邏輯,只能有 true 跟 false,我可以摻在一起做撒尿牛丸啊(現在的小朋友是不是不懂這句在幹嘛了)!

所以最後決定不要特別控制比例,就按照「我想收進來」的篩選方式去篩,步驟是:

  1. 先按照以前那樣,把那些收到報名信之後就很想錄取的放進一個清單
  2. 如果人數超過預期,再從清單裡面把人挑出來
  3. 如果已經篩到我覺得沒辦法再篩,那就爆人數吧,挑戰極限

這個「我想收進來」就是一個我也不知道該怎麼解釋的標準。

最後的結果是:

202 人報名,120 人錄取,82人淘汰,錄取率大概六成。

我相信最後找進來的人一定會有 false positive,我看你報名信覺得:哇這個人不錯,但實際進來卻跟想像中不一樣。被淘汰的人裡面一定也有 false negative,明明真的很有心而且很有能力卻被淘汰。

但我只能說,這已經是我根據現有的資訊量能做出的最好的決定了,而誤判是一定會發生的。

因此那些被淘汰的朋友們,被刷掉很可能不是你的問題,是我眼光不好,所以千萬不要灰心了。不要因為被我刷掉就覺得一定都是自己的問題。有可能是,也有可能不是。重點是要怎麼把自己變得更好,然後再去迎接下一個挑戰。

最後來講點我覺得以後可以改進的東西。

之前就有稍微提過以後想做的方向了,在這邊整理一下順便跟大家分享,不過先聲明,以下提的東西「都還沒確定要做」,只是有一些雛形而已。

之後我想把程式導師實驗計畫基礎的部分分出來,變成獨立的課程,而且會是免費的(對,我就愛免費)。

基礎指的是:

  1. Command line 基礎
  2. Git 基礎
  3. JavaScript 基礎
  4. HTML + CSS 基礎

既然分出來了,我就可以在課程裡面把這些東西給拿掉,或者是濃縮成兩三週,這樣計劃就有時間可以教一些更深的東西。而以後程式導師實驗計畫的定位也不一樣了,不再是「完全沒有基礎的新手」,而是「修過這些課程的新手」。

為什麼?因為我想把這個視為是一種「工作量證明」(這詞用在這邊不知道會不會怪怪的,但我很想用所以還是用了)。

你要怎麼證明你有心想自學?你要怎麼證明你願意付出時間?

你只要先把我公開出去的那些課程修完,我就認可你是有這個心的,就有資格可以報名下一期的程式導師實驗計畫。那如果沒有呢?沒有的話就去乖乖修完啊,修完再來談。

上面這是一種方向,然後另外一種方向是像 ALPHA Camp 那樣,把課程分成四個學期,第一學期就是我上面說的那些基礎。

分成四個學期的好處是一樣可以有原本計劃中的那些優點,像是社群討論或是改作業之類的,這是前面把課程獨立出來沒有的優點,不過缺點就是我會比較累啦,每次光是處理報名信跟後續加入計畫的事項就花費不少時間了。

兩種方向我還沒有確定是哪一種,只是想先跟大家說之後很有可能會朝這方向邁進。除此之外也有可能開一堂「讓初學者體驗寫程式的樂趣」的課程,這是我以前沒有想過,但現在卻很想做的事。

講到這個,提一下很多人報名信上寫的,那就是原本以為第四期不開了後來卻又開了。有些人可能會覺得這樣很反覆,對,我就反覆。

但這也是沒辦法的事,因為第四期本來就真的不開了,是後來計畫有變才又起了開第四期的念頭。是我沒有想清楚嗎?或許是,也或許不是。畢竟在做決定的當下,我是真的覺得自己想清楚了。

好,最後跟大家總結一下。

  1. 第四期 202 人報名,120 人錄取,82人淘汰
  2. 下一期的程式導師實驗計畫有可能會做些許調整,但方向不確定,總之如果確定了會儘早公告

就是這樣啦,之後有的忙了…