讓程序員/技術(shù)主管/項目經(jīng)理最可怕的事情是什么?
到現(xiàn)在我已經(jīng)專業(yè)地構(gòu)建軟件超過10年時間了。我熱愛我的工作,并且我希望能在這一行一直干到成為老程序員的那一天。一路走來,我遇到過很多可怕的事情,讓我覺得我的工作非常之討厭。我希望能有人在我職業(yè)生涯的早期給我一些指引,這樣的話,當(dāng)一些我未曾經(jīng)歷過的不幸的可怕事情降臨的時候,我不會那么孤單和灰心喪氣。
這篇文章旨在提供這樣的指導(dǎo)。我有三個目標(biāo)。
第一個目標(biāo)是回顧過去:總結(jié)我們過去已經(jīng)取得的經(jīng)驗。這些經(jīng)驗是我們理解的基礎(chǔ)。它們將作為判斷其他不熟悉問題的參考點。
第二個目標(biāo)是展望將來:弄清楚沒有經(jīng)歷過的新問題,但可能會在未來的某一天成為你的攔路虎。我希望這些列舉的問題能幫助你做好應(yīng)對的準(zhǔn)備,并決定什么是值得追求的。
第三個目標(biāo)是讓你產(chǎn)生情感共鳴,并互相尊重隊友正在面對的困難。你可能永遠(yuǎn)不會經(jīng)歷許多這些前瞻性的困境,尤其如果你不是技術(shù)主管和經(jīng)理的話。同樣的,如果你是一個技術(shù)主管或經(jīng)理的話,你可能已經(jīng)忘記作為一個獨立貢獻(xiàn)者是什么感覺:你可能會日漸與現(xiàn)實脫節(jié)。
以下列表不按優(yōu)先順序排列。其中包括其他人告訴我的觀察結(jié)果:這些事情并非所有都是我直接經(jīng)歷過的。因此,如果你曾和我共事過,請不要認(rèn)為說的是你而對號入座。事實上,令人驚訝的是,這些故事比比皆是,非常常見。
同樣要注意的是,還有一些其他類別的可怕事情是這篇文章所沒有囊括的:種族歧視,性別歧視,年齡歧視,騷擾,以及許多其他會導(dǎo)致不友好工作環(huán)境的因素。我不打算寫這方面的內(nèi)容,而且這些在其他帖子中已經(jīng)被詳細(xì)分析和描述過了。
我寫這篇文章的目的是列舉在團(tuán)隊中構(gòu)建軟件的本質(zhì)是什么。如果你覺得我有遺漏的地方,請告訴我。我相信,許多要點,尤其是關(guān)于主管和經(jīng)理的那些,也適用于其他行業(yè)。請記住,這些工作職位并非都是不好的:我的下一篇帖子將談?wù)勊鼈兒玫牡胤健?/p>
成為程序員有哪些可怕的地方?
對于編寫代碼和受技術(shù)主管或經(jīng)理指揮的獨立貢獻(xiàn)者:
-
有太多的東西需要學(xué)習(xí),卻沒有足夠的時間
-
代碼寫得很爛
-
當(dāng)前抽象很糟糕
-
我已經(jīng)用不同的方式完成了這個
-
這些注釋沒有任何意義,沒有更新
-
沒有關(guān)于如何構(gòu)建或它為什么這樣工作的文檔
-
構(gòu)建很慢
-
測試很慢
-
測試不切實際
-
沒有測試
-
需要大量樣板文件、復(fù)雜代碼或混淆測試的糟糕框架
-
經(jīng)理要求我為了開發(fā)速度犧牲代碼質(zhì)量
-
沒有通知就更改依賴
-
本地開發(fā)、測試和生產(chǎn)之間的差異
-
陷在一個問題上或調(diào)試了很長一段時間
-
我需要修改破壞了的或不切實際并且不是我初寫的測試
-
我需要和其他導(dǎo)致bug或生產(chǎn)問題的人一起處理,但他們沒有立馬積極修復(fù)的欲望
-
不得不維護(hù)其他人蹩腳的代碼或系統(tǒng),在他們離開之后
-
應(yīng)該自動化的事情卻沒有自動化
-
總是被隊友和經(jīng)理打斷工作
-
上下文切換成本
-
經(jīng)理要求我工作于緊急項目
-
代碼審查時我的隊友們特別混蛋,因為會對我進(jìn)行人身攻擊
-
其他人延遲發(fā)布我在工作中所需要的功能
-
其他工程師構(gòu)建他們的功能或組件太慢
-
大量時間花在了等待上
-
有我不贊同的產(chǎn)品決定
-
剛剛告訴過我要做什么又來說一遍
-
沒有自主權(quán)
-
沒有人尊重我的意見
-
我玩命地完成工作,然后有人告訴我要重做
-
產(chǎn)品經(jīng)理改變了我的要求,因為對批評過于強(qiáng)烈或因為其他人的反饋反應(yīng)
成為技術(shù)主管有哪些可怕的地方?
對于一個寫代碼也領(lǐng)導(dǎo)獨立貢獻(xiàn)者小組設(shè)計和實施工作的軟件工程師而言(同時也被其他人管理):
-
生產(chǎn)中的一切總是被打破
-
太多的電子郵件或文檔需要閱讀和答復(fù)
-
工作中未加檢查就算通過
-
一切都落后于計劃
-
其他人做出了一些我不贊同的技術(shù)設(shè)計決策,但我沒有能力或權(quán)力說服他們改變主意
-
實施馬虎或?qū)嵤┲泻雎粤爽F(xiàn)有的最佳實踐
-
出現(xiàn)了計劃外的事情:打破假設(shè)的遲到的功能需求
-
我真的覺得最后期限和依賴性于我而言壓力山大,以致于當(dāng)我下班回家了以后依然難以放松
-
對每個人的監(jiān)管比我預(yù)想得還要多,不管我如何努力解釋細(xì)節(jié)或文檔化計劃
-
花費很長時間來發(fā)布某個東西卻因為非技術(shù)原因被廢止
-
在時間和質(zhì)量之間做艱難抉擇;故意發(fā)布已知的bug到生產(chǎn)中
-
我要對此負(fù)責(zé),為什么其他人不用?
-
我沒有做到我的責(zé)任,但是也沒有一個人幫助我
-
我不知道我的經(jīng)理一整天都做了什么,但我不認(rèn)為這會有用
-
我不知道產(chǎn)品經(jīng)理一整天都做了什么,但我不認(rèn)為這會增加價值
-
就像是團(tuán)隊中的其他工程師試圖通過不遵循我們已經(jīng)協(xié)商一致的計劃來削弱我;我覺得自己像是一個打小報告的人,當(dāng)我和他們的經(jīng)理談到這個的時候
-
我認(rèn)為會是我負(fù)責(zé)的項目被收回,并且因為一些我無法理解的原因交給了其他人
-
在合理的時間內(nèi)我沒有足夠的工程師完成項目工作
-
當(dāng)我說將會有多么困難的時候,大家聽不進(jìn)去并且不愿意減小規(guī)模
成為項目經(jīng)理有哪些可怕的地方?
對于那些管理一組軟件工程師的人。這個人同時也可以是技術(shù)主管,或管理指導(dǎo)報告的技術(shù)主管。
-
不惡劣一點很難要求或告訴大家去做事情
-
總是感覺所有事情都很緊急
-
感覺一整天每個人都在向我抱怨
-
沒時間看郵件
-
沒有時間閑聊,即使我覺得這樣太不合群
-
每次回到家都有一種精疲力盡的感覺;有時讓人覺得不堪重負(fù);當(dāng)一些對我有意義的人走進(jìn)我想談?wù)勊麄兊膯栴}時,我是如此的疲憊不堪以致于根本聽不進(jìn)他們的問題
-
任何時候,我的報告中呈現(xiàn)一個或多個這樣的狀態(tài):
-
正要放棄
-
厭煩團(tuán)隊中的某個人
-
厭煩其他團(tuán)隊中的某個人
-
厭煩自己
-
被人冒犯但理由很充足
-
被人冒犯并且毫無理由
-
有一個正當(dāng)理由對代碼庫不滿
-
因為完美主義/無效原因而不滿代碼庫
-
對他們的項目不滿,想要工作于別的工作,即使他們正在做的是最重要的事情
-
個人問題正影響著他們的幸福感,并且經(jīng)常導(dǎo)致他們負(fù)面作用于周圍人的士氣
-
無聊;如果有人提供合適工作的話,他們顯然會跳槽
-
-
其他經(jīng)理的工作是安排會議。他們不寫代碼;他們唯一能影響人的途徑就是用嘴巴說話。所以我拉進(jìn)了一堆無用的會議中。一堆浪費時間的會議。
-
少寫代碼;感覺失去了我的優(yōu)勢。有時很難看到我做了什么貢獻(xiàn)。我必須改變我的重心。在幫助他人變得更有效率中尋找滿足感讓人感覺不自然。
-
沒有做重要的技術(shù)決定從而導(dǎo)致事情嚴(yán)重出錯
-
項目將落后或失敗,因為我委托錯了人
-
其他經(jīng)理在政治上暗中陷害我
-
我最大的問題是要保密,因此我不能要求任何支持或建議
-
不知道CTO / VP做什么;他們似乎并不能增加任何價值;他們會問一些無知的問題并且常常目下無人
-
我的一些最好的工程師將他們的時間浪費在那些無關(guān)緊要的項目上,但我不敢去阻止他們,因為我怕這樣會把他們推離團(tuán)隊,并導(dǎo)致他們辭職
-
每個人對我是如何管理團(tuán)隊的至少有某一方面是不同意的
譯文鏈接:http://www.codeceo.com/article/what-awful-be-programmer-leader-pm.html
英文原文: