跳至主要內容
Mark Ku's Blog

時空背景

隨著組織想在不同國家擴展,目前帶領的開發小組,開發人員將成長到更多人數,但隨著人變得更多,類似的管理面的事情一再重覆的發生,過去的世代可能靠的是彼此間默契,但如今越來越難,開始意識到一個團隊沒有將運行的默契、運作方式及主管們的期待寫出來,就會延伸很多協作上的問題。

我們想要建立文化

  • 期待我們的成員,不光只有把事情做完,而是把事情做好,如果需要更多的時間,那就提出來。
  • 接受不完美,但每次做完請想想,下次怎麼做會更好,明天做的比今天更好。
  • 我們能夠接納錯誤,只要是人都會犯錯,請再犯錯後,請試著提出下次如何預防或避免組織再犯的方法。
  • 帶著問題來問題時,想一下,請告訴你的夥伴,你試了些什麼,所有的問題都只是起點? 而不是終點。
  • 積極主動,盡可能和你的夥伴同步狀態,且樂於分享你所學到。
  • 鼓勵不同想法,尊重每個夥伴的意見 。
  • 先有團隊績效,才有個人績效。
  • 把手邊的事做好是本份,額外貢獻的才是績效。
  • 覺得現況,不滿意,可以聊聊,更成熟的人,請帶些線索或解決方案來討論更好。
  • 我們的步調很快,除了寫程式,還會有很多額外的事,不會只有寫坐在位置程式這件事,也要從事溝通、釐清需求、分析,因為每個人都很忙,常常會需要將不清楚的問題釐清及提出解決方案,當系統伺服器有問題時,要協助決解決,工作很辛苦,標準很高,主管很嚴格,會直接給你反饋,也有很多挑戰,也可以學到的很多,壓力不小,公司需要這樣的人,如果你不喜歡這樣做事的方式,隨時可以選擇離開或不用接受這份工作。

工作紀律

  • 原則上不鼓勵加班,但也別造成別人加班,但也不希望沒效率,請尊重這個舒服工作的環境,該做什麼時候就做什麼,凡事都不要做的太誇張。
  • 晚到幾分鐘,就晚走幾分鐘,這樣對公司及其他團隊也公平,除非你有特殊狀況,額外和主管提出。
  • 預估工時,大多數情況下,不希望因為時間關係,縮減工程品質,更有彈性去應對很多臨時的狀況,但請珍惜這種制度,其實外面公司的工程師是每天被時間追著跑的,但如果沒有時間及責任概念,預估時間勢必就得回來。
  • 遠端是公司給的彈性,是基於信任及互相的基礎上,但工作績效成效不章或是工作態度不佳,主管可以隨時要求回辦公室上班。
  • 不喜歡微管理,但沒辦法接受把事情或訊息藏著,有事情就直說,事情越透明,越讓別人信任你,就能獲得更高的自由度及空間,反之,則會將獲得更多的觀注。

溝通

各位有沒有想過,職場每個人只要做好自己的事就好,為什麼要和別人溝通?

而今的商業社會己是個打群架的時代,一個人的專業,是很有限的,如果要讓你的專業發揮價值,你也必須爭取更多人的支持協助。 工作中的溝通往往是為了成事的手段,讓彼此了解彼此的難處,達成共識,獲取更多人及資源的支持,進而解決問題。

開放接納其他人的意見

沒有人要針對誰做程式碼或個人的批評或究責,而大多時候 你 / 妳的職業生涯,大概不會有幾個人會告訴你/妳要調整什麼,如果不知道要改善些什麼,就算換了幾份工作還是會遇到一樣問題,團隊也會因為做的不好,造成影響,同時誰也都不希望接手到不好維護的程式碼,或遇到不好溝通的同事,對於別人提出來的看法,別太看重你/妳 的作品或自己,反面來想,同時這也是讓你/妳知道如何變得更好,要更開放的角度去接納別人給的回饋。

如果有人提出類似這樣的回饋,身為一個專業的工作者,採取下面的行動,可能會更好

  • 基於團隊,思考這件事情該不該做
  • 接下來,該採取什麼動作?

提案被拒絕

很多時候提的意見不被採納,或是提案被打槍,往往是方法不正確或準備的不夠充份及想的不夠多,提的時間點對不對,除了提出問題,你也可以幫忙找出可以執行的細節,思考如何減少提案的阻力,試想,如果一間公司,每個人都只提出問題,不找出執行細節,事情有辦法順利推進?

程式碼審查及回顧與重構

無論是誰幫你/妳 Code review,改完記得回過頭去找當初幫妳 Code review 的人,這點很重要。另外,養成每隔一段時間回頭檢視自己曾經寫過的程式碼是一個好習慣,你可以提出重構需求,建立一個票據(Ticket),並與你的主管討論來安排這件事,有時候需求會比較趕,可能會寫出難以維護的程式碼,這種情況下也可以開立一個票據來記錄,之後再回過頭來改進。

認知及配合

很多時候最佳解,並不是最適合的解決方案,官方文件或是只從一個面向來看,可能並沒有沒考量到其他維度,像是舊有的系統、當時的時空背景、 資源限制、團隊協作上、時間、老闆們的期待等,都是一些限制。

由於同事與同事經驗和認知的差異,在不同的時空背景,會有不同的決策,在成長過程中,總會遇到當下聽不太懂為什麼,但隨著時間則越來越了解別人決策為什麼是這樣,如果無法對整體的結果負責,由於在該方面的研究經驗也不太夠,暫時也無法理解別人原由,那麼請先學會放下,試著去配合別人,學會它,再來討論。

主管們會尊重參考大家的意見,但主管的角色是公司指派對團隊整體的結果負責,這點也是需要互相理解,在重大議題,最終對結果負責的人,應該有擁有對關鍵事情有最終的決定權。

任何技能都只是入門磚

在應聘任何公司時,薪資都是依據你能幫忙公司解決什麼問題,還有你的專業度及工作態度,才決定你的薪酬。
剛進入這行業的開始,其實有很多要學,前端、後端、團隊協作、溝通、專案管理、測試、CICD、系統除錯及運維、向上管理,如果只會單一技能,那麼你的職業生涯會很短,發展也會很受限。

例如:公司想有一個新的國家,希望有人能當那個國家的 Owner,可以說不是你的工作,也不想學,那這個昇遷及調薪的機會,可能也不會有機會爭取,學好一個專業很重要,但因為公司也不是只靠單個專業賺錢,單一的專業對你在這家公司的生意影響力有限,當你想做的工作和公司團隊目標脫鉤,同時也限制自己可能性。

軟體開發的需求不確定性

公司是這樣的,越基層則越明確,越高階工作職位,往往都是解決越不清楚的工作,成功率也越低,越成熟的開發人員,都應該要具備釐清解決模糊需求及問題的能力,不會是什麼事都是清清楚楚的,尤其是軟體開發上,很多時候每個人對相同的文字,會有不同的認知。

任何技能都只是入門磚

在應聘任何公司時,薪資都是依據公司需要什麼及你能幫忙公司解決什麼問題,還有專業度及過去工作態度,才決定你的薪酬關鍵。
剛進入這行業的開始,其實有很多要學,前端、後端、團隊協作、溝通、專案管理、測試、CICD、系統除錯及運維、向上管理,如果只會單一技能,那麼你的職業生涯的跑道會很短,發展也會很受限,例如:公司想有一個新的國家,希望有人能當那個國家的 Owner,可以說不是你的工作,也不想學,那這個昇遷及調薪的機會,可能也不會有機會爭取,學好一個專業很重要,但因為公司也不是只靠單個專業賺錢,單一的專業對你在這家公司的生意影響力有限,把自己當成一家公司,只有一個賺錢的商品,同時也限制自己可能性。

績效

Jornior Developer 在工作的要求上,會比較單純,熟悉工作環境,專注把被交辦的工作做的更好,然而更成熟的開發人員,績效不會只有滿足於完成交辦的程式任務。
60% 常態開發 - 日常開發工作(效率、品質、團隊協作、專案負責的事項重要度)。
40% 額外做的 - 溝通、協調、釐清、提案、協助帶領新人、幫助團隊成長、重構、導入新技術並解決問題、識別及解決部門問題 、領導專案、額外的貢獻等。

P.S. 年資資深並不代表能力資深,能力也不限於軟體開發的技術學有專精外,我們更在意的是做事和思考事情上及應對進退,是不是足夠成熟。

團隊定位

團隊缺什麼,或公司有什麼難題 和你想發展相關 ?
很多時候是公司發展到那,就會冒出需要什麼角色,需要時機,重點是時機來了,有沒有看到,抓不抓的住 ?
所有的機會,伴隨著喜歡和不喜歡的工作,和不喜歡的工作,有些時候無法選擇,得付出一些代價,每個人都一樣的上班時間,如果工作時間才學習,那麼基本上是不太夠。

發展

其實機會一直有,而是足夠成熟拿走了嗎?
有沒有辦法解決更多你的主管問題,達成公司的更多的目標?
是否有足夠的信任及配合度,交給你沒問題?

額外的福利及待遇

公司會有一些額外的差別的福利待遇會和你的績效表現及信任有關,不會是一體適用,因為貢獻和信任度的不同,就會不同,這些額外的福利都得用時間證明妳自己來換,當你做一樣優秀時,當然你也可以自己來談。

  • 面試或帶領新人的機會
  • 參與重大議題或方向的會議
  • 帶領專案
  • 根據年度考核給予或是在家工作的天數。
  • 額外的表現或是超出預期的績效,給予額外的假。
  • 重大專案的專案獎金。
  • 美國出差機會,其實不是福利 ,而是責任,請想想 你/妳 去美國能幫上團隊什麼?

P.S. 我們看的是長期持續穩定的表現,而不是看單點的表現。

系統性思考

隨著時間越久,越是大型的系統,常常會發現上次解的bug 又回來了,實際上是沒解決根本上的問題,但往往解決根本問題的成本都很高,因此更成熟的開發人員,我們會希望在思考問題上,能夠多花一點時間,使期中間長不在發生,針對複雜問題的提案,可以提出至少兩種的解決方案(短期、中期、長期)。

短解 - 只解決眼前問題,暫時的解法,投入成本小,很有機會重覆發生。
槓桿解 - 在每次做時多花點時間,讓其在中長期不在發生。
根因解 - 投入的成本高,不容易達到。

工作的急迫性

依據任務種類

影響生意的 Bug > 需求 > 一般的 Bug > 優化

依據任務的性質

急迫性的工作

影響到不能下單或帳務誤錯誤,可能造成損失,大老闆特別交代的,一定要立刻完成的,立刻做。

重要的工作(排定的計劃)

light house、黑五頁面,照規劃著做。

不重要又不急的工作

如重構、優化、利用空檔做。

不重要又不急

不用做,或有閒在做。

公平

團隊協作上,很多時候,會遇到不公平的事,但如果,只想著公平的話,很多事情是做不下去的,只能打帶跑,做到哪就到哪,環境總有限制,若無法用各種方法技巧Push 他人,就只能依據現況,選擇做能做的,這時就得看誰更在意這件事的結果,公平會不會比創造這價值更重要。

P.S.如果敵不動,我不動,友軍不動,我也不動,大家不就僵持在那邊了。

工作紀律

  • 原則上不鼓勵加班,但也別造成別人加班,但也不希望沒效率,請尊重這個舒服工作的環境,該做什麼時候就做什麼,不要做的太誇張,基本上不會太管。

  • 晚到幾分鐘,就晚走幾分鐘,這樣對大家及其他團隊也公平,除非你有特殊狀況,額外和主管提出。

  • 預估工時,大多數情況下,不希望因為時間關係,縮減工程品質,更有彈性去應對很多臨時的狀況,但請珍惜這種制度,其實外面公司的工程師是每天被時間追著跑的,但如果沒有時間及責任概念,預估時間勢必就得回來。

  • 遠端是公司給的彈性,是基於信任及互相理解的基礎上,如果工作績效成效不章或是工作態度不佳,主管可以隨時要求回辦公室上班。

  • 不喜歡微管理,但沒辦法接受把事情或訊息藏著,有事情就直說,事情越透明,越讓別人信任你,就能獲得更高的自由度及空間,反之,則會將獲得更多的觀注。

不適任淘汰

  • 當我們找一個人進入團隊都是期待能夠分攤工作,一起有共識,並一起成長,但難免遇到消極不願接納其他人意見,或是經溝通後,態度消極的人, 又看不到改善結果,就會評估員工適不適任,那麼將會進入績效改善計劃,收到警告信或績效改善計劃者,該年度的年終為零,並且取消WFH,直到表現良好。

作者

Mark Ku

10 年以上的軟體工程師,做過北美電商與 AI SaaS 訂閱收費系統。閱讀更多

覺得這篇有幫助?

作者做的免費工具、每日 Podcast 與電子報,都在這裡。

Mark Ku · 本文採用 CC BY 4.0 授權,轉載請註明作者並附上原文連結。

留言

訂閱電子報

訂閱後即時收到新文章通知,不錯過任何技術分享。

提交即表示同意接收電子報,隨時可。

熱門文章

View all
Mark Ku
··648

Oracle Cloud 永久免費方案 Linux 主機及固定 IP :0 元打造雲端解決方案

Oracle Cloud 永久免費方案 Linux 主機及固定 IP :0 元打造雲端解決方案
Mark Ku
··465

告別 Postman 收費陷阱!開源 Git 原生 API 測試神器 Bruno 實戰指南

告別 Postman 收費陷阱!開源 Git 原生 API 測試神器 Bruno 實戰指南
Mark Ku
··278

一款免費開源類似於 Notion 類知識庫系統 — Outline Wiki 佈署與備份全攻略

一款免費開源類似於 Notion 類知識庫系統 — Outline Wiki 佈署與備份全攻略
Mark Ku
··218

打造高效 API 管理平台:從 0 開始部署 Kong Gateway - Part 1

打造高效 API 管理平台:從 0 開始部署 Kong Gateway - Part 1
Mark Ku
··210

訓練自己的 AI 語音:硬體門檻、開源模型比較與 LoRA 微調

訓練自己的 AI 語音:硬體門檻、開源模型比較與 LoRA 微調
Mark Ku
··210

在 Ubuntu 上設置 Samba 來共享資料夾,讓 Windows 11 用戶可以存取

在 Ubuntu 上設置 Samba 來共享資料夾,讓 Windows 11 用戶可以存取

讀者也在看

團隊因應頻繁請假成員之策略

Mark Ku

·2 min read·59

職場中的績效與信任

Mark Ku

·3 min read·30

帶人心路歷程

Mark Ku

·10 min read·37

淺談安靜離職

Mark Ku

·5 min read

帶人 - 溝通僵局

Mark Ku

·1 min read