程式設計師 技術領導 管理者各有煩惱,你佔了幾條?

2021-07-13 14:55:58 字數 3449 閱讀 8446

我專業從事軟體開發工作已超過 10 年的時間,我熱愛這份事業,希望有一天我會被人們稱呼為老程式設計師。但這一路走來,我經歷了許多可怕的事情,這些事情讓我討厭我的工作。在職業生涯早期,我曾期望有人能給我乙份職場指南,這樣當遇到之前未曾遇到的事情時,我就不會感到如此的孤單和沮喪。

從某種意義上說,這篇文章就是那樣乙份指南。我寫這篇文章有三個目的。

一、回顧

辨別出我們以往都曾有過的經歷。這些會幫助我們建立一些理解上的共識,可以作為判斷其他不熟悉的問題的參考點。

二、展望

辨別出一些你還未經歷過的新問題,這些問題有可能在你以後的道路上發生。我希望我列舉的這些事項,可以幫助你應對接下來要發生的事情,以及幫助你決定什麼才是值得你自己去追求的。

三、幫助你理解你的團隊夥伴,相互尊重,理解彼此面臨的問題

也許你不具備前瞻性的眼界,尤其當你不是乙個技術領導或管理者的時候。同樣,如果你是技術領導或者管理者,你或許已忘記當乙個程式設計師是什麼感受,無法體會程式設計師日常的工作狀態。我想幫助大家站到同乙個立場來看待事情。

下面列舉的事項不是按優先次序排列的。這其中也包括其他人向我講述的觀察結果,並不都是我自己的親身經歷。所以如果你曾與我共事過,請不要認為某個特例就是關於你。令人感到不可思議的是,大家的經歷都很相似。

需要指出的是,還有一些其他型別但這篇文章沒有提到的可怕的事情:種族主義、性別歧視、年齡歧視,攻擊行為以及許多其他因素導致的敵對的工作環境等。我沒有能力去寫這方面的話題,你們可以從其他地方找到關於這些話題的深刻的描述和分析。

我寫這篇文章的目的是列舉出以下關於團隊軟體開發的特性。如果你認為我遺漏了什麼,請告訴我。我可以想象到,這裡面提及的許多點,特別是在技術領導和管理者方面列舉的事項,也適用於其他職業。請記住這些角色並不都是只有可怕的經歷,我關於這個主題的下篇文章就是講述好的方面。

軟體工程師(程式設計師)的煩惱

程式設計師就是寫**的人,受技術領導或者管理者領導。

有太多東西要學但沒有足夠的時間。

**寫得很爛。

當前的抽象不好。

換做我,我會以不同的方式完成。

注釋沒有任何意義,也從來不會更新。

沒有任何關於這個程式應該如何構建以及它是如何執行的說明。

構建緩慢。

測試緩慢。

測試碎片化。

根本沒有測試。

架構很爛,需要大量樣本檔案、複雜的**或者混亂的測試。

管理者讓我犧牲**質量來趕上開發進度。

在沒有意識到的情況下依賴關係就改變了。

裝置、測試和產品因地域而有差異。

糾結於某個問題或者花費很長時間去除錯bug。

我需要去修正碎片化的測試,這個程式最開始並不是我寫的。

我需要去修正其他人導致的bug或者產品問題,因為他們沒有積極地去馬上修正。

需要在某些人離開後維護他蹩腳的**或者系統。

有些事情應該自動化地完成,但是卻沒能做到這一點。

被我的隊友或者上司打斷。

內容切換成本。

我的上司要求我去處理緊急專案。

**審查時我的隊友表現地很混蛋,我感覺這是人身攻擊。

其他人沒有及時提供乙個功能項但我需要它來完成工作

其他的工程師開發功能或元件太慢。

我總要去等待其他人。

有些產品上的決定我不能認同。

我只能讓幹什麼就幹什麼。

沒有自主權。

沒有人尊重我的觀點。

我非常努力的完成了工作,卻被要求重做。

產品經理們改變了對我的要求因為他們過度聽取了其他人的批評或反饋。

技術領導的煩惱

技術領導:技術領導在自己寫**的同時還要指導乙個小團隊程式設計師的程式設計和實現工作。這些程式設計師同時還受其他人管理(不是只聽技術領導的)

產品的方方面面隨時都會出現問題。

太多的郵件和資訊要去讀和回應。

工作上有疏漏。

一切都落在後面。

其他人正做出我無法認同的技術設計上的決定,但我沒有能力和權力來說服他們改變想法。

實現是草率的或者忽視了現存的最佳實踐。

事情朝我預期之外的方向發展;之後效能上的要求打破了我之前的預設。

我深切地感受到來自截止日期和從屬關係的壓力,即使下班在家我都沒法放鬆。

每個人都需要比我預期要多的監督,不管我多努力嘗試去解釋這個計畫的細節和文件。

公開發起乙個計畫總是遙遙無期,它總被一些非技術性的原因阻撓。

在時間和質量之間做著艱難的抉擇。

我很負責任,為什麼其他人不能和我一樣?

我落後於我職責上的進度,沒人有幫我。

我不理解我的上司整天在幹什麼,但是我覺得他在瞎忙活。

我不理解產品經理整天在幹嘛,但是我覺得他在瞎忙活。

我感覺我團隊的其他工程師嘗試通過不執行我們之前協定好的計畫來打擊我。當我向他們的管理者談及此事時感覺自己像是在打小報告。

我認為是我負責的專案被移交給了別人,但我不理解其中的原因。

我的專案團隊中沒有足夠的工程師,以至於這個專案沒法以合理的時間完成。

當我說到某件事多難完成時,人們並不聽我的,也不願降低標準。

管理者的煩惱

管理者:管理者管理乙個團隊的軟體工程師,這個人也有可能是乙個技術領導,或者技術管理直接向他報告(管理技術領導)

如果不成為乙個讓人討厭的人,就很難調動其他人。

似乎隨時都處於緊急狀態。

每個人都在向我抱怨。

沒時間應對郵件。

沒時間瞎扯,即使我因為沒時間社交而感覺自己像乙個讓人討厭的人。

當我回到家我感覺自己很失敗,經常有這種想法。當對我很重要的人或者我親近的人想跟我談論事情,而我正要去工作,我沒時間聽他們傾訴,這時我總有深深的挫敗感。

在任何時候,我的下屬工程師或技術領導總是至少佔下面情況中的一條:

想放棄。

對團隊中的某人很惱火。

對其他團隊的某人很惱火。

對自己很惱火。

以某個理由被某人冒犯。

無理由被冒犯。

因為合理的理由對**庫不滿意。

因為吹毛求疵或者無根據的理由對**庫不滿意。

對他們的專案不滿意,想去做別的,即使他們正做的事情是最重要的。

私人問題影響他們的表現,經常導致他們有消極的反應。

厭倦,很顯然如果有合適的機會他們肯定會跳槽。

其他的管理人員的工作就是安排會議。他們不寫**,他們就是靠說來影響事情。所以我被拉進了一堆沒用的會議。參加這些會議看起來就是在浪費時間。

**寫得少感覺很差勁。我感覺我正慢慢失去稜角。有時我很難做出成績。我不得不改變我的價值觀。從幫助他們變得更富創造性上尋求滿足感感覺很做作。

我將失去做重要決策的機會,事情將朝不好的方向發展。

這個專案就要落後或者失敗了因為我把它委託給了錯誤的人選。

我感覺其他管理者嘗試用政策打擊我。

我面臨的最大問題是信任危機,我無法從其他人那裡得到支援和建議。

工程的cto/vp不知道在幹嘛。他們似乎沒有貢獻任何價值。他們問些無知的問題而且通常很無禮。

我的下屬工程師把時間浪費在無關緊要的事情,但是我不敢去阻止他們因為我怕把他們推開,導致他們放棄。

每個人都或多或少不認同我管理團隊上的做法。

從程式設計師到專案管理者

一 初接大專案前的恐懼 2006年2 月17 號,我接到我大學同學的 他現在是 公司軟體外包事業部的負責人。本來是一次非常輕鬆的同學之間的聊天,無意中說起了最近接了乙個比較大的專案,而且是用 net 開發的,我就在更無意中說起我以前參與過乙個關於門戶 的專案。這一聊就顯得特別投機。我在2003 20...

程式設計師如何成長為專業技術管理者?

相信很多同學在邁入it行業的時候想的不僅僅是能夠高薪就業,更希望自己的職涯有發展。不僅僅侷限於成為乙個程式設計師,更多的是能夠成為乙個管理層人員,成為公司的骨幹那麼程式設計師如何成長為專業技術管理者?需要具備哪些技能?精通技術 精通技術是技術人員的根本要求,也是技術人員人生發展的必經之路,只有首先精...

自卑的程式設計師和愚蠢的管理者

吳旻泰巖網路工作室 公司最近半年做了很大的調整,相應地人員也有很大的流動,我的團隊也在所難免。好在我平時還是有人員儲備的,所以工作交接也很順利。有乙個程式我已經知道它 很差有很長一段時間了,苦於我自己要優先考慮其它工作,就一直等到那個程式設計師離開團隊都未做像樣的複查。我當時給自己的理由是,好在功能...