相信很多學習者來到這個場域,是為了學習軟體開發技術及相關經驗,學習的目的往往是為了個人生存或者興趣。所以每個來到這個場域的,都以為是以技術為主。但是我們幾年的產業經驗,告訴我們,這產業需要的是「學習力」。每個人對於學習力的定義或有不同,但是我們至少有些共識,一個有「學習力」的人,在面臨新任務挑戰時,往往有以下幾個行為的表現:
- 事前搜集與評估
- 利用資源與排程
- 執行
- 事後驗收
- 檢討與回饋,下次變更好。
沒有學習力的人,在職場上表現出來的能力,往往是只有在「執行」上,等待主管或業主的命令,講一動作一動。但是這幾年,資訊的變化實在太快了,一個人沒有展現出「學習力」特質的人,想走這條路,我們會建議他三思。在這個圈子,一個只懂得跟別人要標準答案,但不思考的人,只會越來越難生存,偏偏真實的世界沒有標準答案,唯有依照當時的時空背景,有能力整理資訊,然後解決問題的人,才能面臨接下來的挑戰。
接下來,我們依據實務上常碰到的議題,將它們變成題目。每個題目都有限制完成時間,就像在職場或接案時面臨的狀況。希望能藉由完成題目的過程中,養成你們的學習力習慣,以及在這個產業的基本技能。
另外,我們希望能夠建構良性的學習循環。事實上,工作室的資源很有限,饅頭們都是無償地在花費自己的時間。所以當你學成,有自己的實務經驗時,也歡迎來提供題目,變成其他人的養分。
目前區分個人技能與團隊開發兩種,如果你什麼經驗都沒有,建議從個人技能開始。直到你有能力獨自開發一個完整的功能或專案,再找人組隊。每個題目都有時間限制,在時間限制內,你都應該善用你周遭的所有資源(網路、工作室...etc),來取得答案。
每個 issue 都是一道題目,當你開始要做這道題目時,請在該題目「回覆」一篇「於 yyyy/mm/dd 開始答題」,之後找到完整答案後,回來「修改」這篇屬於你的回覆(用 append 的方式),若是中間有需要延長答題時間,也是回來「修改」這篇屬於你的回覆(用 append 的方式)「因為 xxx 緣故,預計 yyyy/mm/dd 答題完成」。(可延長次數原則上每題僅限一次,超過視為逾期未答題。)
回答的方式有以下形式:
- 直接留言回覆
- 舉辦工作室小型分享,然後上傳簡報檔。
- 學習心得幾句話,加上 url (個人的 gitlab, blog...etc)。
「逾期未答,就會被請離開工作室,避免空間浪費。」 「逾期未答,就會被請離開工作室,避免空間浪費。」 「逾期未答,就會被請離開工作室,避免空間浪費。」
只有回覆,該題才算完成。例外狀況總是有,無法在時間限制內完成該題者,應該提前回覆「因為什麼緣故需要額外多少時間」來延長做題時間,否則將被踢出工作室,避免占用工作室的空間資源。對於規則還不是很清楚,可以從「Q1. [個人技能題組][熱身題] 為什麼想學 backend」看示範答題方式。
如果 Q1 做完,在做 Q2 前,你想要爭取一些時間整理筆記或心得,請在 Q1 下回覆「因為整理筆記需要額外多少時間」來延長時間,否則也是視為浪費工作室資源,會被踢出。
你會發現現實世界的問題,解法往往不是只有單一種。不用害怕給出很蠢的答案,因為你正在學習中。最重要的是,你明天會比今天好,你發現答案不夠好,你會去優化、改良他。隨著你學得越多,你突然發現你的答案是錯的,你就回來重新修改答案就好。
現在,去 issue 那邊尋找你關心的題目吧。學習過程上有問題,請善用 slack backend camp channel。