當初為什麼會加入均一?
從新竹科學園區到離開 Mozilla,我一直在思考,在哪一種組織工作會讓我覺得有意義?我的第一個念頭是非營利組織,因為「價值與理念」會是它的優先選擇。
接著我思考要投入什麼議題,在多年以後,仍然會讓我覺得「自己做了人生最有意義的事情」,我認為是「教育」。而且均一做的是全台灣的中小學教育,是一直會被需求的。
所以我想,自己過去的軟體專業,加上這個教育的意義,會是完美結合。
那為什麼我覺得「意義」很重要呢?因為「意義」讓我很踏實,長遠來看,感覺自己走在一條很踏實的路上。當我年老回顧的時候,我會感謝當初的我,做了一件很正確的選擇。
加入均一之後,與先前想像的有何不同?
首先在均一,你做的東西上線了,你知道它是被全台灣這麼多的老師與學生在使用,這是很即時、很實際的回饋,使用者馬上可以感受到。
另外我剛進來的時候,看到了組織一些不成熟的想法,沒有一個好的制衡機制,導致做出一些短視或個人喜好的決策。不過後來有加入一些比較資深、專業的夥伴,改善了這樣的狀況,決策步調更穩健、思考也更全面。
再來是加入之後,比我當初想像得還累(笑)。從我家到均一辦公室通勤要 50 分鐘,剛加入的時候早出晚歸,我媽還問說「非營利組織怎麼那麼累?」本來想說可能是我剛來不熟悉,但後來還覺得也是滿累的,而這讓我想要從根本上優化均一軟體開發的流程與團隊文化,提高開發效率。若能從體質優化,會是長遠影響。
看著均一在各個面向,持續從根本上往更好的方向前進,我大部分的日子都是被自己的熱情叫起床,帶著興奮的心情進辦公室的。
均一軟體團隊有怎麼樣的文化?
平等、透明、持續優化、適性發展。
先說平等,跟我過去待過的組織比起來,均一軟體團隊非常歡迎每個人的想法,做決策的時候比較是尋求「集體智慧」,非全部共識決、也非全部主管決定,而是一起讓團隊往更好的方向前進。
再來是透明,每個人的工作都有在 issue 紀錄,除了溝通效率提升、知識可以累積,透明還可以提升彼此的信任。
另外,均一也很有意識地讓軟體流程落實與優化。均一的 code review 很扎實,不會因為急著上線就跳過 code review,大家會有意識一定要 review,確保 code 的品質。
CI/CD 流程也做的不錯,越做越健全,好處是讓工程師寫出來的 code 的集體智慧能不斷優化與累積,工作效率更加提昇。
均一軟體團隊的工作日常與特色為何?
均一的軟體團隊很扎實地在跑 Scrum,每一個 sprint 會有 planning 決定要做什麼事情,每天有 daily 15 mins,工作日常則用 slack 進行溝通。
每週有一次比較大的 daily,大約一小時,可以有較深入的討論,每一個 sprint 結束後,則有 Retrospective meeting,團隊成員一起回顧哪些做得好的,哪些可以更好,讓我們在前面的基礎上持續優化。
有關軟體實作的事情,會在 GitLab 上開 issue,讓所有事情都可被追蹤,增加整個團隊的透明度,減少溝通成本。
在學習與交流上,我們每 2 到 4 週會有技術分享,夥伴彼此交流技術與學習;每週五中午則有軟體團隊的 quality time,工程師之間可以一起吃飯、分享一些比較生活或內心的事情。
最後,每兩週會有一次 1 on 1,由軟體主管與工程師一對一對談,了解夥伴的工作情況、feedback,以及其他需要協助的地方。
加入均一之後,自己最大的挑戰與學習?
我剛加入均一的時候,發現大家的 coding style 不一致也不夠嚴謹。我當初試著想要推行,但如果團隊沒有從根本觀念改變,就沒辦法真的推行成功。後來我們有 coding style 檢查機制(自動化),讓均一後來的 code 有往好的方向發展。
另外,剛開始我也會覺得很多知識都在人身上,例如解 bug 沒有開 issue,如果遇到相同的 bug 就要從頭來一次,或是需要去問有經驗的夥伴,但當他離開這些知識就沒了,這樣經驗沒有辦法累積。所以我開始讓 bug 透明,讓知識可以累積。
加入均一不久後,我接了 Scrum master ,開始學習 Scrum,我覺得是很棒的學習。(延伸閱讀:軟體組如何善用 Scrum 打造健康的工作文化?)
Scrum master 其中一個核心精神是僕人式領導,跟我自己過去的領導經驗很相符,強調教練角色與原則的重要,這是我很認同的。因為這個角色,讓我有機會把自己的特質在這個角色上有很好的發揮。
最後是紀律,剛進來覺得均一比較沒有紀律,像 daily 是想到才 daily。我覺得紀律很關鍵,才能讓團隊的力量穩定聚焦。
我們隨時可以檢視這個紀律是否可以調整,但如果大家都同意了,我們應該要確實落實,像現在,我們每天都一定會 daily,這是一種承諾,我會希望大家守住這個原則,這樣團隊才會有穩定的力量。
均一軟體夥伴的未來發展性?
因為均一有非常複雜的 code base,加上軟體團隊不大,所以你可以看到全面的系統,有前端、後端、雲端等,只要夠積極,都可以去了解與接觸。
而在一些大公司,你往往只能接觸到某些專精的領域、且長時間都固定在一個領域。在均一,工程師比較有機會看到全面性的架構與系統。
另外,我認為在均一的工程師,因為學習到有品質的軟體開發流程(大概介於園區與外商公司之間,以台灣來說,算是不錯的。)可以把這樣的經驗帶到不同的組織。
均一會以頂尖外商公司的標準為目標,因為均一有複雜的 code base,所以需要很好的軟體文化與流程,讓我們在有限的資源之下,發揮最大的效益。
身為均一軟體團隊的 leader,我的理想是每一位軟體工程師,都可以充分發揮自己的專業與熱情,且同時也 align 公司的目標,讓這兩者 align 最大化。
均一資深前端工程師、軟體工程師招募中!
如果你期待打造高效能的軟體文化和流程,讓技術帶來實質的教育影響力,我們正在招募軟體工程師,馬上到招募頁面,了解職位詳情!
作者|吳致寧(均一平台教育基金會組織發展組組長)
編輯|許晴雯(均一平台教育基金會實習生)