[ 編按 ]本篇文章轉自均一大家長呂冠緯 Ray Lu的 Medium。面對當代複雜的環境,社會、教育生態系,以及均一都面對更加複雜的問題與溝通情境,冠緯指出,我們不但更需要多元的團隊組成,更需要能夠融合多元的團隊文化。均一正在融合多元的過程中跌跌撞撞,但我們清楚自己將要前往何方,如果你不害怕碰撞,期待教育的溫柔轉型,我們正在招募正職夥伴,歡迎加入我們

均一平台裡的多元:跨代、跨專業的職場

我常常在想,我要怎麼帶領均一這樣豐富多元的組織?坦白說,我還沒有所有的答案,但我知道均一必須持續思考這個題目。

在一個執行團隊不到 30 人的組織裡,全職夥伴跨距 30 歲以上,有工程師、教師、設計師、醫師、律師、媒體人、公務員,而且,若擴大一圈,我們團隊年齡層,從 17 歲的志工,一路跨到 70 歲的董事。

每一代人有每一代人的經歷,每一個專業有每一個專業的習慣思維,每一個職場有每一個職場的文化。當你把 Mozilla、Garmin、中央數學輔導團、台大醫院、教育部、親子天下、聖導國際律師事務所、星巴克的人擺在一起工作,到底會發生什麼事?

上面就是均一的現況,每一天,我們都在面對夥伴的觀點差異、價值觀衝突,因為多元,所以要形成共識,總是困難。

(跨領域、跨世代的夥伴,是均一團隊的特色)

為何要多元?教育轉型是交響樂,不是獨奏

因此,有人會問,「冠緯,你幹嘛把自己的團隊搞得這麼複雜?」

我個人認為,多元是教育轉型的必要元素,尤其,當「教育科技」是一個關鍵策略時,多元就更加必要了。

當我們渴望透過教育科技的突破,讓教育回歸「因材施教、自主學習」的本質,我們需要對心理學、教育評量有素養的 AI 工程師與資料科學家;我們需要有軟體素養,能做培訓、能做內容的專案教師;我們需要對教育科技有素養,但熟稔政策,並且知道怎麼與體制與生態系協作的資深夥伴。

我相信教育轉型的突破,本質是需要「科技 X 教育 X 政治」的協力。


這是先祐 ,相信投入具有長遠意義的事情是最踏實的,所以他決定加入均一,將自己的軟體專業結合教育。

當初為什麼會加入均一?

從新竹科學園區到離開 Mozilla,我一直在思考,在哪一種組織工作會讓我覺得有意義?我的第一個念頭是非營利組織,因為「價值與理念」會是它的優先選擇。

接著我思考要投入什麼議題,在多年以後,仍然會讓我覺得「自己做了人生最有意義的事情」,我認為是「教育」。而且均一做的是全台灣的中小學教育,是一直會被需求的。

所以我想,自己過去的軟體專業,加上這個教育的意義,會是完美結合。

那為什麼我覺得「意義」很重要呢?因為「意義」讓我很踏實,長遠來看,感覺自己走在一條很踏實的路上。當我年老回顧的時候,我會感謝當初的我,做了一件很正確的選擇。

加入均一之後,與先前想像的有何不同?

首先在均一,你做的東西上線了,你知道它是被全台灣這麼多的老師與學生在使用,這是很即時、很實際的回饋,使用者馬上可以感受到。

另外我剛進來的時候,看到了組織一些不成熟的想法,沒有一個好的制衡機制,導致做出一些短視或個人喜好的決策。不過後來有加入一些比較資深、專業的夥伴,改善了這樣的狀況,決策步調更穩健、思考也更全面。

再來是加入之後,比我當初想像得還累(笑)。從我家到均一辦公室通勤要 50 分鐘,剛加入的時候早出晚歸,我媽還問說「非營利組織怎麼那麼累?」本來想說可能是我剛來不熟悉,但後來還覺得也是滿累的,而這讓我想要從根本上優化均一軟體開發的流程與團隊文化,提高開發效率。若能從體質優化,會是長遠影響。

看著均一在各個面向,持續從根本上往更好的方向前進,我大部分的日子都是被自己的熱情叫起床,帶著興奮的心情進辦公室的。

均一軟體團隊有怎麼樣的文化?

平等、透明、持續優化、適性發展。

先說平等,跟我過去待過的組織比起來,均一軟體團隊非常歡迎每個人的想法,做決策的時候比較是尋求「集體智慧」,非全部共識決、也非全部主管決定,而是一起讓團隊往更好的方向前進。

再來是透明,每個人的工作都有在 issue 紀錄,除了溝通效率提升、知識可以累積,透明還可以提升彼此的信任。

另外,均一也很有意識地讓軟體流程落實與優化。均一的 code review 很扎實,不會因為急著上線就跳過 code review,大家會有意識一定要 review,確保 code 的品質。

CI/CD 流程也做的不錯,越做越健全,好處是讓工程師寫出來的 code 的集體智慧能不斷優化與累積,工作效率更加提昇。

均一軟體團隊的工作日常與特色為何?

均一的軟體團隊很扎實地在跑 Scrum,每一個 sprint 會有 planning 決定要做什麼事情,每天有 daily 15mins,工作日常則用 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 最大化。

均一資深前端工程師、軟體工程師招募中!

如果你期待打造高效能的軟體文化和流程,讓技術帶來實質的教育影響力,我們正在招募資深前端工程師、軟體工程師,想了解職位詳情?馬上到招募頁面

作者|吳致寧(均一平台教育基金會組織發展組組長)
編輯|許晴雯(均一平台教育基金會實習生)


1 個網站套用 5 個 UI 框架

開發前端 APP 的前置作業,不外乎是根據設計師送來的設計圖,從 UI 框架中選擇適用的元件(component)。

但均一團隊從「選擇 UI 框架」這件事開始,就是道複雜的多選題。

在還是好傻好天真的 ES5 時代,均一的網頁大多是套用 Bootstrap,當我們開始 migrate 到 ES6 + React,由於適用於 React 的 UI 框架仍未發展成熟,為了有充足的元件庫可以使用,均一先後引入了 Material-UI(註一)及 React-Bootstrap。

除了前面提到的歷史因素,造成均一 UI 框架混亂的關鍵因素還有維護套件註定要面對的「套件升級」。

當工程師發現現有的 UI 框架無法提供所需的元件,通常會考慮以下幾種解法:

  1. 自己刻出需要的元件
  2. 升級套件,擴充現有套件的元件庫
  3. 引入一個符合需求的新套 …


這是宜陞,對於「教育如何深刻影響一個人的發展」特別有感觸,相信科技的力量也能改變教育。

[編按]就讀生機系研究所半年後,發現這不是自己有興趣的東西,宜陞休學後才開始思考「究竟自己未來要幹嘛?」

開始尋找自己真正想做的事情,抱著嘗試的心態,他決定申請均一的教育組數學科實習,沒想到,後來不但一路做到了正職數學科 PM,甚至在均一轉職成功,從門外漢的身份開啟了在教育界的軟體工程師之路。

怎麼會想加入均一?

跟自己的背景有關係吧,其實我求學過程接收很多社會資源,也在這樣的環境下接觸到蠻多背景和我類似的人,卻因為家庭因素考量而沒辦法繼續升學,導致他們可以有的選擇相對少很多。

成長過程因為我學業表現不錯,所以受社福機構的獎學金幫忙很多。那時候的感觸是很多資源會集中在我身上,然而其他人可能需要花更多時間幫助家裡,這樣的情況會讓他們很難翻轉、沒有那麼多選擇,像是想選工作、轉換跑道時,就會有很多限制。

這樣的成長經歷讓我對「教育深刻影響一個人的發展」特別有感,甚至有時我會想,如果沒有「教育」這塊,我現在可能也不會有大家眼裡看似平順、還不錯的發展。

所以當重新思考自己未來到底要幹嘛時,才會特別想從教育相關產業切入。

為什麼想轉為軟體工程師?

加入均一前,因為自己沒有教育相關背景,完全是個門外漢,也曾猶豫過教育真的是適合我的領域嗎?但後來就抱持先做再說的心態,不畫地自限,期待進來後可以在教育內容、軟體開發上都碰碰看。

進來均一久了漸漸發現,原來自己對教育是真的有熱忱的。只是對我而言,我更想嘗試別的挑戰,用教學以外的工具幫助教育。

又因為均一團隊夥伴背景多元,讓我有機會找不同專業的夥伴聊聊。

和他們對話的過程讓我獲得許多選擇和建議,也發現自己除了希望做的事是有意義之外,也期待可以透過軟體技術來解決教育問題。

因為透過科技,可以達成比較規模化的影響力,例如我曾做過教育內容上架的自動化,過去在教育內容組的經驗讓我熟悉影片、習題的上架流程,因此可以做出關鍵性的自動化,大幅提升了上架效率。

這個途徑對我而言是很想要嘗試的,所以先從自學開始,累積技術底子。

而這個決定的過程也讓我更認識自己要的到底是什麼,對我來說,我希望自己可以做技術的事情,而這件事可以幫助到人或社會,這就是我滿意的發展。

目前手上主要的工作內容?有哪些專案?

目前的工作以前端開發為主,工作內容是和設計師協作,並實作網站上的操作介面,像是新功能的開發、舊功能的維護多由我協助規劃,持續改善使用者的操作體驗。

另外一部分是持續優化前端技術及開發環境,像是在開發過程中,逐步將舊的程式碼更新成 React,優化技術。或是透過訂定 coding style,確保團隊能用一致的原則進行開發,並維護 Eslint 確保訂定的原則可以落實。

還有確保使用者的體驗的部分,如調查並決定均一要支援哪些瀏覽器,善用 Webpack 確保瀏覽器支援度。(延伸閱讀:如何利用 Material-UI 統一 UI framework — — 均一前端工程師宜陞技術分享)

均一可以嘗試的面向有很多,因為團隊內人不多,所以可以發展的空間很大。不過團隊不大的另一面缺點就是組內的思考角度不夠多元,有時做出的決定未必是最好的。

這也是為何軟體組內很鼓勵大家提出自己的想法,也呼應到均一很強調的「誠實透明」的價值,只要可以說出道理,leader 通常都會真心接受,不用因為職位壓力而讓自己的想法有所顧慮。

均一軟體組的團隊文化有何特別之處?

Scrum 的運用是其中一個特色吧,均一這個部分蠻成熟的,每天都會進行 daily 、planning,互相同步狀態,讓資源透明化,幫助夥伴有效率的協作、補位。

我覺得這個「例行 daily」的背後,反映的是軟體組「重視工程師效率」、注重「打造健康的工作文化」的價值,因為比起要求大家狂加班完成任務,均一更在乎如何讓夥伴有效率的朝共同方向前進。

另外也可以感受到均一的夥伴很重視知識、技術上的成長,之前有聽朋友說過在別的公司,聽技術分享時大家都不太有興趣,但這裡可以明確發現大家對學習新知的熱忱和樂於交流的氛圍。

除此之外,夥伴間也蠻有一起朝共同目標前進的感覺,而且是會以互相成長為目標做考量,並非只以自身的利益出發所完成任務而已。

同時,夥伴間也都會互相支援,像跨組間有工作要協作時,大家不會覺得那件事與我無關就撒手不管,反而是只要自己的專案有狀況,大家都很樂意協助、一起討論解法。整體來說這是個非常友善、有團隊感的組織,我覺得這是很可貴的!

現在的自己與剛加入均一時有何不同?

比較大的突破是發現自己從教育的門外漢,到現在因為了解軟體也熟悉教育內容的背景知識,所以可以更快的掌握教材內容開發的需求,更有效的和教育、軟體組的夥伴協作。

另外,我覺得比起剛加入均一時自己多是「問別人」的角色,現在則可以發覺自己在前端這塊更熟悉、更有掌握度。

也因為個人能力的提升,開始能訂定開發原則及帶領技術升級,來改善團隊的開發效率及程式碼的品質。

這些成長和軟體組重視「夥伴與團隊的成長並進」的文化有關,在轉職成為工程師的過程,均一給了我蠻大的空間,讓我從接些 bug 、小專案開始練習 ,這對我來說是很關鍵的機會,幫助我加速掌握到公司做開發的實作能力。

軟體組甚至提供 mentor 和我一起規劃成長階梯,討論我要怎麼樣精進才能達到水準,我覺得這些在一個組織中真的是很難得的機會。

對未來的職涯發展規劃?

希望可以往資深前端工程師邁進!因為在均一目前這條路是蠻暢通的,相對其他組織也很有機會做 0 到 1 的嘗試,所以也有較多空間讓自己做關鍵技術上的決定,透過實作經驗快速成長。

這是這個團隊的特性,所以會希望透過這個機會和磨練過程,持續往專業資深工程師的方向成長。

你敢夢想,均一就敢給你機會,一起用 coding 翻轉教育吧!

均一正在招募軟體工程師、資深前端工程師!如果你也期待找到可以大展身手的空間和機會、跟著一群熱忱與專業兼具的工程師夥伴成長,馬上申請加入均一!

作者|許晴雯(均一平台教育基金會實習生)
編輯|陳又慈(均一平台教育基金會實習生)


Amy 非常相信科技能結合教育,創造深度影響力。

為何會想加入均一?

除了工程師的身份外,我也在生活中扮演不同的角色,像是孩子的媽媽、我先生的太太。家庭與工作的平衡對我來說很重要,因為我認為孩子年幼時的陪伴,是一段父母親不能缺乏的關鍵時期。

而均一的工作為我創造了家庭與工作間雙贏的可能性。讓我能留在工作領域持續精進技術的同時,擁有彈性的上下班時間、自在的遠端工作工作模式,實現了我對自己同時經營專業領域和家庭生活的期許。

另一個很大的理由是在新創團隊,可以挑戰各種有趣的題目,引入前沿技術的自由度也很高。對我來說,技術能力或技術管理的面向都有很多磨練的機會。

在均一看到的團隊文化特色?

我覺得「彈性工時、自由與民主的風氣」是均一很大的特色之一,這裡傾向相信效能、相信夥伴,而這背後反映出組織尊重與信任專業工作者的文化。

均一是個很友善的工作環境,不希望員工加班,追求的「效率」是以每單位小時的成果來衡量。

像我蠻常需要遠距工作,當我跟我們 team 的主管討論時,他會直接回饋「你有沒有在辦公室對我來說不是重點,我只在乎怎麼安排可以增進你的工作效率」。

在這個大前提下,主管對提出的工作安排方案抱著開放態度,同時給予真誠反饋,這給我很大的鼓舞。

另外,在這裡可以提供一個舞台,給工程師空間發揮。有趣的點在於,來這邊可以玩大的,你可以主導很多事情,像是主導產品的走向、擘劃技術願景等等。

我還有個觀察是,這裡沒有一個人可以自己打全場,比較像是個球隊,打的是團隊戰,可以包容、看見不同人的優勢。

我覺得這是很常見的普世價值,但不是每個地方都做得到,所以我覺得言行一致,也是均一內部很大的特色。

覺得均一能為社會帶來什麼影響力?

均一對社會的影響力在這幾個月疫情影響下就特別明顯了吧(苦笑)。非常理性的態度來說,我們就是在「最佳化資源」,到處都有資源,可是效果不好,那就會造成巨大的浪費,而均一站了一個非常好的位置,有效整合生態系中的各方資源。

另一個部分是科技的力量,我認為「科技都已經在生活中帶來那麼多巨大影響了,那在教育面為什麼不?」

有一本我很喜歡的書《 二十一世紀工作論 》裡作者有提到:「我最期待未來的世界是所有人們不愛做的事情都由機器完成,科技幫我們解決掉所有繁瑣、骯髒、危險的工作,讓人們專注在實現自我價值,展現人性光輝的工作。」

把這個願景套到教育現場,蠻像均一在做的事,讓需要重複講述的知識由科技來完成,讓現場的老師發揮不可被取代的價值,回到經營師生關係、教導孩子的品格上。

可能因為自己工程師的職業吧,我非常相信這個時代科技扮演很重要的力量,那就是「讓人類回歸人性更美好的本質」。我覺得科技的優勢在於這裡,也正是均一將科技融入教育所發揮的影響力之處!

主要的工作日常?覺得自己有什麼學習或突破?

主要是在做後端的教材管理跟系統優化,因為隨著均一創立的時間增長,組織發展越來越成熟,產出的影片與外部合作單位也越來越多。

但原本的系統設計無法容納這麼大量的教材,所以現在主要就是在優化、重整整個後台系統,這條路還蠻漫長的,現在大概只完成 10–20% 。(延伸閱讀:微服務絞殺遺留模組 — — 均一後端軟體工程師 Amy 技術分享)

突破的部分是,會不斷逼自己用更聰明的方式做事、逼自己想怎麼做可以更快吧!因為過去在大公司跑專案的經驗是還可以靠人海戰術,但均一明確就是沒有那麼多人力。

有時也有蠻多挫折的,加上我也會希望趕快把事情做好,所以在資源有限的情況下,會讓我不停地思考,軟體工程方面什麼可以做的更好?如何整合資源發揮最好的效益?

這些技術面的管理都是我蠻有興趣且掌握度高的,在這裡也讓我有很大的空間發揮。

用一句話描述現在自己是個怎樣的工程師?對於未來的規劃?

現在的我,是個吹毛求疵、腳踏實地向前走的工程師。

因為就工程面而言,我對品質有蠻高的堅持,然而在業界工作久了會發現,為了效率而犧牲品質是日常,這中間的拉扯,會讓我特別思考要如何在有限的資源內做得更好。

所以未來喔⋯⋯我希望自己可以成為「腳不踏實地也能往前走的工程師」(笑),因為我的目標是成為技術長,我認為管理者的角色不能覺得什麼事都要自己做,要有格局、有品質的抓大放小,找到有效的 check point。

當我把自己的格局放到這個位置時,就會發現其實在均一的日常,都是磨練的過程。

均一軟體團隊招募中!

如果你也跟 Amy 一樣樂於挑戰自己,想用科技的力量為教育帶來改變,均一正在招募軟體工程師,馬上到招募頁面了解職位詳情、投遞履歷加入我們!

作者|許晴雯(均一平台教育基金會實習生)
編輯|陳又慈(均一平台教育基金會實習生)


發現問題

在教室裡,每一個學生學習的起始點都不一樣,因此就算老師上課的進度都一樣,每個學生遇到的困難可能不盡相同,學得比較快的學生已經學完老師指定的內容,學得比較慢的學生可能還卡在前面的學習中。

老師在面對這樣的狀況,總是顯得分身乏術,需要讓學得比較快的學生可以繼續學習什麼或者讓他幫助其他同學,也要去協助遇到困難的學生。但比起學習比較快的學生,遇到困難的學生更需要即時的協助。

因此均一想成為老師的小幫手,分擔老師的負擔,我們希望從「當學生學習時遇到困難時,均一該怎麼協助他」開始嘗試。

向專家取經:在教學現場,老師怎麼協助學生克服困難?

要有好的人工智慧,向專家取經是必經之路,好的專家知識會是人工智慧發展的基石。於是我們到教學現場觀察、訪談現場的老師面對這樣的狀況,是怎麼協助學生的呢?

我們發現,老師看到學生卡住的問題時,會從過往的教學經驗以及對於教材的了解,找出跟這個題目有關的相關知識。

接著,老師會順著題目的解題步驟,一個步驟一個步驟的跟學生解釋,如果有不懂的,馬上針對步驟進行教學。

於是,我們開始思考如何將這個協助過程重現在均一?

把流程轉換成程式可以處理的問題

如果要把這個協助過程重現在均一的話,這其中最關鍵的是,我們要知道這個題目有哪些步驟?每個步驟牽涉到哪些觀念?

均一教育平台上的每個題目都有提示,而這些提示都是我們的內容製作者用他們的專家知識製作而成的解題步驟,這就是我們的最佳學習對象。

所以,問題就變成了:「我們怎麼將提示對照出學習概念?」

也就是幫提示上標籤?經過討論後,我們決定嘗試自然語言處理,把提示文字轉換成向量,再將這些向量對照回概念。


這是 Gene ,因為認同均一的理念與文化,所以決定投入用科技改變教育的行列。

[編按]曾經任職知名科技公司的 Gene,受到均一工作內容、團隊氛圍的吸引,也期待自己有更大的成長、發揮空間,毅然決然放棄高薪來到均一,經過兩年的均一的生活之後,Gene 如何看待自己在均一的工作和自我成長呢?

當初決定加入均一時有哪些考量?

在還沒加入以前,均一夥伴中有我以前台大電機所的學長,會從臉書上滑到一些均一的訊息,覺得均一在做的事情很棒。

而且均一應該是少數這種教育相關、幫助弱勢的公益組織中,工程師可以幫的上忙的吧。

覺得工作內容很有意義,夥伴跟環境自己也都很喜歡,但我那時最過不去的點是薪水(笑)。均一的薪水跟大公司、外商落差蠻大的,後來是評估自己的存款跟日常消費,覺得經濟壓力並沒有太大,而且自己很想加入這個團隊、做教育相關的題目,當時就想,不來我以後一定會後悔,就決定加入均一。

加入均一之後,覺得哪裡跟大公司工作最不一樣?

很自由,最喜歡要請假、遠端都很自由和彈性,有很大的商量空間,大公司就需要簽公文、跑流程,規定很多,會覺得麻煩。

另外,因為團隊很小,想要做什麼就可以很快去嘗試,主管、同事之間也不會有什麼階級,討論可以就事論事,沒有一定要按照 PM、老闆的想法,更專注在把事情做好。

但反面來說,以前也比較沒有嚴謹的規劃跟 code review,造成我們的 code 現在有些地方有良好的規劃,但有些地方又亂亂的,有時出現一些問題也比較難控管跟追蹤,現在軟體團隊就有慢慢在建立更有效能的開發流程,把這個文化建起來。(延伸閱讀:均一軟體 leader 先祐如何帶領團隊優化開發流程)

在均一特別能訓練到什麼能力?

因為團隊很小,你有機會接觸到的範圍就很大。像在大公司一個案子下來就分很細,什麼軟體啊設計啊硬體啊,你可能就被分配到一個小功能的軟體開發,但很難管到為什麼要開發這個產品背後的故事,就算你千辛萬苦追到這個故事、提出建議,也很可能根本沒有人會理你。

在均一是只要你願意,團隊很願意讓你知道這個需求是怎麼開出來的,你就有機會接觸到整個軟體開發的脈絡。

在開發的時候就不會只侷限於老闆或 PM 給你的指令,而是更專注於為什麼要開發這個東西,實作起來更有意義感。

而且還可以在技術上發揮自己的影響力,比如說反饋讓 PM 知道可以有不同解法、實作起來哪個解法更適合等等。

你現在正在進行的專案是什麼?

現在是在做均一教育平台的內容管理系統優化,其實接近重寫。因為均一教育平台有很多課程,內容製作團隊在上架、排序這個課程的時候,就會應用到這個系統,原本的系統隨著內容越長越多就會遇到瓶頸,穩定性需要改善。

而且現有系統的版本控制機制也需要調整,不然只要一個小錯誤或是手殘,課程的 PM 就要全部重來,甚至會造成使用者有一段時間無法使用平台。改善之後,萬一改壞了什麼可以很快復原回來,最後是 Python 2 停止維護了,我們也順便藉著這個機會把系統使用的語言升級到 Python 3。

進行這個專案的主要目的,是協助內部上架課程更快速、更方便,對內容製作組的 PM 來說非常重要,長遠來說,也能讓孩子在均一教育平台上的學習體驗更好。

現在的自己跟兩年前比,最大的成長在哪裡?

第一個是技術上,整個網站的開發經驗多蠻多,然後最大的不一樣應該是專案管理經驗多很多,像是時程啊、工作項目等專案規劃,然後要去談規格。

因為可以接觸到需求背後的脈絡,開發上會想得比較多、比較遠一點,會去思考我現在要做的東西想達到的目的是什麼,多想未來可能會有怎樣的發展,如果希望未來在現有的基礎上有別的嘗試,現在規劃就要多一些彈性,讓未來更容易調整等等。

你認為均一團隊有什麼樣的文化?如何影響你呢?

每個人都很追求成長。像我們組內就有人對技術非常有熱情,會去看很多技術相關的書、文章,或是會去學比較新的技術跟開發流程,試著把這些學習帶到工作上。

影響我的話應該就是會想去看看書吧。以前很少看書,要看也是看技術類的書,現在就會去書櫃看看有哪些奇怪(?)的書,像是商管書籍,我以前就一定不會想要去看,但現在覺得書名看起來很有趣,就會拿來翻翻看。

另外一個讓我覺得蠻特別的是均一的同事之間也都是很好的朋友,平常聚餐、一起出去玩、員工旅遊等,都很像是跟朋友一起出去玩。

軟體工程組內還有一個「quality time」,是組內同事自己發起的活動,因為想要更認識團隊夥伴,所以那個時間會蠻深入交流一些內心話,跟平常講幹話不一樣,夥伴會準備活動,每個人都會分享一些比較深層的、平常不會特別講的心裡話,會覺得更認識坐在隔壁的同事們。

用一句話描述「你是一個怎樣的工程師」?對自己未來職涯的期許?

應該是很萬用的工程師吧?就是我對前端或後端沒有很明顯的偏好,雖然現在主要是後端,但如果前端需要幫忙,我也是很樂意去試試看。

工程師的職涯發展其實就是兩條路,一條是技術,一條就是往管理發展,目前比較確定自己對技術這一塊很有興趣,不會想要去做管理職,未來應該會想要成為類似技術 leader 的角色,發展一套開發流程跟溝通方法,讓整個團隊的效能提升,希望可以在技術上發揮更多影響力!

均一正在招募軟體工程師!

均一正在招募軟體工程師、資深前端工程師,如果你也很在意軟體實作背後的脈絡、重視技術的實質影響力,馬上到招募頁面了解職位詳情、投遞履歷,跟 Gene 一起發揮技術影響力!

作者|陳又慈(均一平台教育基金會實習生)
編輯|許晴雯(均一平台教育基金會實習生)


[前言]均一的程式碼基礎 junyiacademy 從 2013 年 fork Khan Academy 原始碼,一直發展到現在,程式碼的複雜度不可同日而語,開發和維護的難度越來越高,很根本而且不好償還的技術債逐漸浮上檯面,有些甚至成為新功能開發的巨大阻力。

於是,我們在去年三月決定從簡化程式碼下手,具體作為是從原本的單體式應用拆出一個負責內容管理的微服務,並將內容管理的邏輯逐步遷移到此服務,直到完全絞殺原始的內容管理模組。

Why we do this: 技術債

均一後端由 Python 撰寫而成,Python 有簡單清晰,語法優雅的優點,但因為極大的自由,例如動態型別與缺乏存取修飾(沒有 private),還有一些腳本語言的特性,例如容許 cycling import,專案長大容易變成一頭無法駕馭的巨獸。

筆者以為,尤其在大型專案, …

均一 JunyiAcademy

均一相信,每個孩子都學得會,而且是用自己的步調學習!用科技打造線上學校,提供優質免費的線上資源;用智慧助教陪伴家長老師、更省時省力陪伴每個孩子用自己的步調學習。

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store