澳門銀河賭城網站:倔強的程序員
對于程序員來說,大多數人公司都有技術和管理兩條發展路線,通常在同一家公司,管理路線的發展可能性,要相對廣闊一些;但是技術路線也有技術路線的好處,比如相對而言更依賴于硬實力,因而工作機會豐富。我相信有不少程序員都和我一樣,堅守著技術路線,無論是進還是退,都對管理者的崗位沒有什么興趣。
興許大家都聽到軟實力和硬實力的概念。對于一個技術人來說,硬實力大致上可以認為是計算機和軟件工程相關的技術能力,1 還是 0,是還是非,會不會算法,懂不懂設計,清清楚楚,明明白白; 而軟實力則反過來,聽起來挺抽象,挺模糊,比如溝通能力,自我管理能力,但是卻扮演者重要的角色,甚至隨著職業生涯的發展,它的影響力越來越大。而性格,是軟實力中一個很特別的影響因素。
下面我講的是在程序員技術發展路線中,“倔強”性格的影響這一個窄窄的范圍,而且是就我的認知而言的。顯而易見它不可能是很客觀的。我相信會有很多人持有不同的看法。
我想大家都認可的是,基本上每個團隊里面都有各種脾氣性格的人。記得我剛工作的時候,團隊里面平和和好說話的人更多。多數人性格都比較平和,這可能和資歷、眼界等等因素也有關。以前讀過一篇文章,說一個團隊里面,有各種各樣的角色,有牛、有豬,有狗、有猴子等等等等,分別代表著不同的性格。隨著時間的試煉,大家發展的情況各不相同。在討論方案和問題的時候,肯定有人不同意,但是只要多數人決定了做法,或者是幾個強硬派決定了做法,大多數人也就不再計較,因此 commitment 比較容易做出,且朝著一致的方向。
但是隨著工作年頭的增加,我發現團隊里面個人的性格,普遍是越來越倔了。無論什么時候我們討論問題,觀點不同是司空見慣的。可現在不同的是,要達成一致,并不是那么容易的事情。好吧,大多數人支持方案 A,少數人支持 B,興許幾年前這票支持 B 的就表示愿意按照多數派的 A 來實施了;可是現在呢,少數派一定要爭論下去,技術方案的選擇不是少數服從多數的選舉,為什么要 A,我們來給 A 和 B 做做分析,我們來激烈地爭論吧……
以前我認為,職業生涯的發展,到一定階段,高級別一些的工程師,想必也是性格各異的吧,應該有的人比較強硬,有的人比較容易 pushover 的吧,性格這東西嘛,分布都是有隨機性的。可是如今我接觸到的情況呢,卻恰恰相反。 這些發展比較好的程序員,相對于其年齡和資歷,級別比較高的程序員,居然性格幾乎無一例外的“倔強”。 而那些性格比較“好”的呢,相對來說發展普遍都沒有那么好。看到的案例多了,似乎可以粗略地得到這樣的結論:走技術路線的程序員中,性格倔強的人不一定發展得快,但是性格平和的人肯定不行。
雖然我能看得到的案例數量并不大,但我依然覺得這個現象有一定代表性。我覺得這里有這么幾個因素:
倔強的程序員,往往也是較真的程序員,他們會追求最佳的解決方案,他們會追求最合理的代碼實現,他們可能摳一點某些人看來無足輕重的東西,但是就是這些東西把軟件的質量提高。
倔強的程序員,懂得維護自己認為正確的觀點,而為了維護這個觀點,會反復思考和分析。我沒有見過一個能把 trade-off 做得好的人對維護自己的觀點抱無所謂的態度。
倔強的程序員,遇到困難也不那么容易退縮。這也是顯而易見的,性格軟弱的人,通常也不愿意堅持己見。
倔強的程序員,他們享受爭論的過程,也就更能夠在爭論中得到多樣的視角。
但是,物極必反,倔強的程序員,也可能死得特別慘。我見過一些 被踢出團隊的程序員,大致分為兩類。一類是能力實在不足,績效特別差,比如代碼寫得又慢 bug 又多;還有一類就是這類硬骨頭,倔強到難以維持基本客觀的程度,到處樹敵,太過拖累整個團隊的工作。
再結合程序員工作中的許多具體事情,再進一步談一談這些倔強的程序員們。就說個有趣的事情吧。我們把他們中的其中一個,叫做大 Z(這個字母看著就很霸氣),而相對不那么“難搞”的程序員,叫做小 s。
在一次的設計討論會議上大 Z 說對小 s 說,我認為你的方案不如我的好,理由是 xxxxx,于是大 Z 和小 s 來來回回一番爭論,剛開始還算可控,但是大 Z 說,“我覺得你缺少擴展性的常識”。有經驗的人可能馬上意識到,大 Z 的這句話已經從“對事”變成了“對人”,這明顯是不對的。于是這句話一冒出來,小 s 馬上就不高興了,再不痛不癢辯論幾句以后,沒有繼續爭論下去,顯得很失落。
這個場景看起來是不是很熟悉?哪怕小 s 是更在理的一方,也放棄了繼續爭論下去的欲望,反而落得自己不爽好幾天,每次和大 Z 溝通都會想著當時的場景,甚至覺得大 Z 還會有意無意針對他。有人可能會覺得,那大 Z 會不會事后覺得自己過分呢?我想說,大多數情形下,不會的, 以大 Z 的性格來說,他冒犯了小 s,他也許意識到了,也許沒意識到,可是這樣的事情他根本就不會放在心上 。回到事情本身,誰的方案更合理很難講,但這件事情本身傷害到了團隊中的成員,影響了團隊的氛圍。我們可能見到類似的事情到處都是,甚至在某些溝通強烈的地方尤為嚴重,比如 code review。
多數情況下,我們撇開技術本身的因素,誰的發展更好呢?卻是大 Z。雖然有少數情況并非如此,但是多數情況下,大 Z 卻有著更更為廣泛的影響力,而 某些情況下爭論所顯露出來的 backbone 會蓋過他在爭論和為人上面的“惡霸”屬性 。這也從某種角度說明,為什么到了一定級別的程序員,且不論技術如何,心理承受能力和溝通的技巧,都是有一定造詣的,那些敏感而脆弱的呢,已經掛在晉升的半路上了。
交流和溝通本身就是一個說不清道不明的復雜體,很多人可能會想要安安心心做技術,我相信也有很多公司希望提供這樣環境。可事實是,絕大多數情況下,越是這樣想的人,就越會發現,這只是一種美好的愿望,不可避免地,有很多為人處世上的“屁事”,未必要上升到“職場政治”那么高的程度,卻依然會考驗你的心理,磨煉你的性格。
最后,從團隊管理的角度來說,哪一種人更合適呢?
其實,“合適”這個詞的定位很難講,但是倔強的程序員通常更難管理,這倒是真的。可是,換一個角度想這個問題,為什么要“管”,管理又要做到怎樣的侵入性?理想的狀況是,雖然有一些性格似乎比較“強硬”的程序員,但是他們是講原則,講道理的,如果團隊的成員在總的目標上大致是一致的,團隊就能夠具備一定的兼容性。可理想畢竟是理想,團隊中的磕磕碰碰遇到誰都能喝一壺的。特別是,如果管理者想成為那個決策絕大多數事情的人,碰到這些倔強的“大爺”們,很可能就會碰一鼻子灰。
如需轉載,請注明文章出處和來源網址:http://www.mcowk.com.cn/rumen/yyll/y51400.shtml
我要分享到:
必備CSS教程 Essential CSS Tutorials
- • css height
- • css line-height
- • css width
- • css min-width
- • css max-width
- • css min-height
- • css max-height
- • css border
- • css background
- • css float
- • css clear
- • css display
- • css font
- • css text-transform
- • css英文首字母大寫
- • css font-variant
- • css font-weight
- • css font-style
- • css text-decoration
- • css 刪除線
- • div css 虛線
- • css 注釋
- • html 注釋
- • css padding
- • css margin
- • css 文本
- • css font-size
- • css font-family
- • css color
- • css text-align
- • css text-indent
- • css 超鏈接(css a)
- • css 優化壓縮
- • css id(css #)
- • css class(css .)
- • css ul li列表
- • css 圓角圓邊
- • css 父級子級
- • css 指針概念
- • css cursor
- • css overflow
- • html px em pt網頁單位
- • CSS important
- • CSS position
- • css z-index
- • css white-space
- • css img圖片
- • css class id
- • css link與@import區別
- • css 選擇器
- • css引入html
必備HTML基礎教程 Essential HTML Tutorials
- • html img圖片標簽
- • html em標簽(EM強調標簽)
- • html strong加粗(strong標簽)
- • html B加粗(b加粗標簽)
- • strong與B加粗區別
- • h1 h2 h3 h4標簽(html標題標簽)
- • html A超鏈接錨文本
- • html注釋
- • html head頭部標簽
- • html title標題標簽
- • html meta標簽
- • html link標簽
- • html i斜體標簽
- • html u下劃線標簽
- • html s刪除線標簽
- • html換行br標簽
- • html p段落標簽
- • p標簽與br標簽區別
- • html div標簽元素
- • html span標簽
- • html font標簽
- • html script標簽
- • html px em pt網頁單位
- • html ul li列表
- • ol li列表
- • dl dt dd標簽組
- • table tr td表格
- • table tr th表格
- • html form表單
- • html form input
- • html form textarea文本區域
- • html select下拉與跳轉(Html select)
- • html iframe框架
- • html網頁結構
- • htm html shtml區別用法
- • 網頁編碼charset
- • UTF-8 GBK UTF8 GB2312區別聯系
- • 先寫html還是先寫CSS
- • 顯示擴展名
- • html標簽大全集合
- • html常用標簽
- • 網頁源代碼是什么
如對文章有任何疑問請提交到DIV CSS論壇,或有任何網頁制作CSS問題立即到CSS論壇發貼求解 或 直接DIVCSS5網頁頂部搜索遇到DIVCSS疑問。
CSS教程文章修訂日期:2018-12-19 10:37 原創:DIVCSS5
本文www.mcowk.com.cn DIVCSS5版權所有。
最新文章NEWS
- • 虛擬主機相關知識
- • DIV CSS加載失敗
- • DIV+CSS規范命名大全集合
- • CSS margin屬性與用法教程
- • padding_css padding用法詳解
- • DIV+CSS中讓布局居中_背景圖片居中_文字內容居中
- • html與xhtml的區別規范是什么
- • DIV+CSS與TABLE的網頁優勢何在?
- • 淺談DIV+CSS設計開發的Xhtml網頁對SEO優化的影響
- • 開發DIV+CSS的工具集合
CSS 特效CSS EFFECTS
純DIV+CSS下拉菜單模塊模板
DIV+CSS分頁_CSS翻頁代碼模板
css form實例 用CSS實現表單form布局實例
經典DIV+CSS下拉菜單
div+css不間斷上下滾動模板
向上不間斷滾動div+css+js模板
相關文章RELATED
- • 澳門棋牌官網:一個因@click.stop引發的bug的解決
- • 澳門銀河賭城網站:倔強的程序員
- • 金沙平臺:spring boot添加新模塊的方法教程
- • 輝煌國際網站:關于php unset對json_encode的影響詳解
- • 3u娛樂場:??Vue路由器基本使用和配置教程
- • ??北京黑彩網:與我一步一步學習判斷和選擇的語言
- • a澳門星際娛樂:??HTML實現移動固定浮動半透明搜索框
- • 大家可以在娛樂城學習賭博游戲的具體打法
- • 娛樂城中有很多適合參與賭博游戲的玩家
- • 在娛樂城提高自己的游戲境界