我的職場戰爭--一年來的開發組內戰實錄

一 戰爭準備階段

? 一年前,國內分社派我帶著幾名程序員來到日本,進入一個世界級大公司做項目,這里先期駐在了一個日本總社的社員X。沒有人想到戰爭已經臨近。

二 戰爭醞釀階段
?日本人不會叫你閑著,頭一個月就開始了下馬威。我們開始做一個項目,X作為leader帶領大家做項目A,我也參加了A項目,同時還承擔另一個項目B的設計。結果,預計一個月的項目A,我們做了兩個月,平均每人月加班180小時,結果失敗了,被日本人徹底推翻了。我覺得大家盡力了,可是一點辦法也沒有,因為確實有很多客觀原因。
? 現在回頭來看,失敗是必然的:
?因為這幾個程序員都只有一年不到的Java開發經驗,不會數據庫,而且沒有技術天才,近乎什么都不會。而X可能是個碩士畢業,有近兩年Java工作經驗,也沒有高明到指導新手的地步,而且估計沒有領導項目經驗。而我不會Java,還要擔當兩個項目A,B的數據庫設計和SQL函數開發。
? 這樣的團隊,居然去做一個短工期高強度嚴要求的項目,可笑吧。
? 更可惡的是,北京公司根本沒有把我和X的地位明確,我們這些人不清楚,日本現場方面也不知道,這下就注定了戰爭的不可避免。

三 戰爭的爆發
?日本方面對項目A十分不滿,那么項目B開始后,自然就要想到要換Leader。一是因為我工作經驗豐富且先接觸到項目B,另一個是項目B的基本設計和數據庫設計是我做的。很自然,日本方面就決定我做項目B的開發Leader。也就是說X的地位出現了問題。估計在他眼里,我搶了他的位置。

?導火索終于出現了,為了做好項目B,在無法換人的情況下,只能在項目管理和內部合作上想辦法了,我就在內部會上總結了一些這方面的問題,準備和大家一起討論如何解決問題和加強合作。很遺憾,這些問題顯然都是X的問題,估計X認為我是開他的批判會,長達一年的職場戰爭就此爆發。

?

?

?

四 戰爭初期(項目B開始第一個月)

總社社員X的反應如此劇烈,以至于項目立刻進入了全面戰爭狀態。這是誰都沒有預料到的。

X采取了(不支持,不合作,不執行)的低強度高惡心度的總體戰戰略,我由于準備不足,完全處于束手無策狀態。

在這一時期,我提出的幾乎任何和X相關的建議(都是針對項目A中暴露出的問題)均慘遭失敗。具體如下:

提案1 Java類設計和架構設計先行。
? 目的:優化結構,加快開發速度,便于控制開發狀態,利于以后的升級
? 反應:X沉默無響應。組員表示無能力。
? 結果:放棄。
提案2 Java講座
? 目的:提高編碼水平,掌握目前開發水平,解決當前技術問題
? 反應:X反對。原因:沒有時間。
? 結果:放棄。
提案3 每日例會
? 目的:發現問題及時解決,項目進展及時掌握,鼓舞士氣
? 反應:X反對。原因:沒有時間。
? 結果:放棄。
提案4 代碼Review
? 目的:檢查代碼質量,發現技術問題,解決方法共享
? 反應:X反對。原因:從未聽說過,兼沒有時間,所以沒有必要。
? 結果:放棄。
提案5 安裝通用測試環境
? 目的:了解開發狀況,測試已有程序,提前進入結合測試
? 反應:X反對。原因:等待日方提供測試服務器。
? 結果:放棄。
提案7 引入技術攻關體制
? 目的:通過專人負責,固定時間對應,來內部解決處理技術難點
? 反應:X反對。原因:計劃不好調整。
? 結果:放棄。
提案8 引入Java開發規范
? 目的:提高代碼的可讀性和規范性,避免將來被客戶要求返工
? 反應:X反對。原因:Eclipse已經足夠,時間不足。
? 結果:放棄。
還有向日方現場方面和總公司方面申請Java 技術支援等建議,也由于各種原因擱淺。
很顯然,Java開發方面處于嚴重失控狀態(從設計-開發到質量-測試都無人負責了)。

小組內部氣氛十分險惡,開會時處于雙峰對峙,流水無言狀態。團隊已經崩潰,人人精神緊張,體會到了度日如年的境界。

至于我是如何應對的,項目進展情況究竟如何。下一回分說。

?

?

?

五 帝國反擊戰(1)

? 前文說到,由于項目A的失敗,我們已經處于背水一戰的地步。再失敗就要拍屁股走人了。

?而小組的技術能力卻令人驚訝的低。據日方現場的評價,來做項目的韓國team和中國team都有過幾個,我們屬于最差的。當然,日本人說的是最差的之一,我的理解是最差的。這必須要承認。舉例來說,項目B開始開發一周了,還是兩個組員沒有配好開發環境,以至于每天要系統重啟動3-5次,而且其他人包括X去幫忙,也找不出原因。
?
? 在組員技術水平短期無法大幅提高的情況下,可行的辦法就是管理和溝通上下功夫了,我是這么考慮的。可是沒成想這個思路遭到了X的強烈反彈。內部出現嚴重對峙,幾近崩潰了。很顯然,技術已經不是最重要了,組織成了第一位了。

? 擺在我面前的道路有3條(當然,還有別的選擇,不過可執行性很小):
? 1 擱置爭議,埋頭開發--各掃門前雪
? ? 這個辦法能夠避免組織的進一步破壞,危險是技術問題無法解決,協作也失去了,重蹈項目A的失敗之路。也就意味著項目B之后我們該收拾收拾走人了。
? 2 引進一個Java高手--鯰魚效應
? ? 希望能解決技術問題的同時,將項目內部攪渾,避免崩潰。不過這需要客戶同意,而且我們手頭還要有這樣的人。無論能不能進來還是進來后能不能起作用,都不是可控制的。
? 3 明確我在項目中的領導地位--借勢壓人
? ? 希望公司能明確我和X的主從關系,可避免一些內耗或出了問題時能責任分明。說句實話,不怕項目死最怕死的不明不白,還幫別人背黑鍋。

? 如果是你,你會選哪一條路呢?
估計就是個

?

?

?

六 帝國反擊戰(2)

? 在短短兩周之內,我和X就從淡如水的關系變成了濃如血的關系。現場的日本人都怕了,只要我們兩個在一起說點什么,日本人系長就跑過來插花打岔,調節氣氛,生怕兩個人打起來。
? 日本公司說什么話都十分曖昧,在這種時刻,我更加覺得自己的定位和公司定位的模糊,有些無所適從了。無所作為也是不行的,內部技術不足和組織崩潰,無論如何學鴕鳥假裝不存在,怕是辦不到。如果是X先告一狀,到時候先入為主,我怎么說都有問題了。

?于是,我和手下聯名向北京分公司和東京總公司反映現場情況,主旨寫的是技術力量不足需要Java高手加盟,順便把X的不合作表現反映了上去。這一下,各方面著急了。北京方面立刻來了電話,追問細節。當我提出要么明確我和X的地位要么替換X時,得到了一個意想不到的消息。。。。

?

?

?

7 帝國反擊戰(3)

? 說實在,到日本這一趟,個人并沒有想太多,賺點生活費罷了。可是,人在江湖,身不由己。

?北京公司來電話,苦口婆心,要求我們要和總公司打好交道:姿態要低一點,凡事讓一點,出事兒忍一點。這是我對公司來電的總結。呵呵,說實在,我也很理解。外包公司就是這樣,見到客戶都是小心翼翼,忍氣吞聲的,膽子一個比一個小。和總公司也是這樣小心,卻是我沒有想到的。

?也許這之中還有些門道吧。。。回想一下,自己也是有做事不周的地方,又沒有什么歷史恩怨,和X搞好關系也不是不可接受。于是,我提出:公司按月報銷一定交際費用,用于團隊內部喝喝酒聚一聚,加深了解。公司也爽快的答應了。另外,項目上沒有Java高手的問題,我不得不和公司強調,這個問題不盡快解決,即便大家團結如兄弟,項目也是沒結果的。。。
---------------------------------------
?第二天上午,我修改了基本設計。把數據庫功能全部放在數據庫端用procedure實現。這樣,數據庫的功能就為我一個人承擔了。數據庫設計-外部接口定義-功能實現,還有基本設計一肩挑,感覺自己是個超人。換句話說,我一個人要在3周內為4個界面Java開發者,一個C底層開發者提供一百多個函數。原因很簡單,Java團隊沒有時間和能力來開發數據庫功能了。
? 第二天下午,我邀請X一起去居酒屋喝酒,X痛快接受。

?

?

8 暗流

? 這頓飯還是比較比較順利的。彼此交了交底,天南地北說了一番。最后,在比較融洽的氣氛中,我對前一段的不愉快表示有責任,希望X諒解,并表示希望一起努力把項目B做好。X是如何表示的不是很清晰了,不過應該是很自然地結束了飯局。

? 從這一天起,項目內恢復了平靜。在各方的認同下,雙leader制開始了。

? 因為設計主要是我做的,和各個組員的接口也是我這里定義的,所以基本上項目處在我的管理之下。X埋頭做自己部分開發,積極反對姿態也沒有了。我松了一口氣,這下子精力終于可以放在項目上了。

? 周末,我請同組的一起去吃烤肉。無論如何,也應該放松一下了。

? 回想起來,那時的確是太忙了,每天都要干到晚上10點,而且是背水一戰,人人都是精神壓力巨大。

? X的Java技術應該說還可以,而且原來考慮到他還要擔當一部分管理和Java輔導職責,所以他負責的部分相對來說最簡單。所以他比計劃提前一天就完成了開發任務,應該說還在等我的procedure.

?而我,緊趕慢趕還是比計劃遲了一天才做完所有的procedure,應該說萬幸的是,除了X,其他人都還沒有到達調試SQL的階段。可是我無法高興起來---因為就這前后2-3天,X已經向日本現場方面反映了3次,由于我沒有及時提供procedure,影響了Java方面的開發進度。
?
?不過,我已經無法把注意放在這上面了。因為有兩個Java組員的進展明顯滯后,而且看不出有能完成的可能。一周后,日本方面終于認清了現實,從總公司調來一個Java高手,他將在一周后來現場替換了其中一位,該組員將于兩周后離開日本。另一位組員則被調去做測試,他的程序由X接手。

?

?

?

9 心得

現在想起來,對于這些新人,心理壓力的確是巨大的。
-來到一個陌生的工作環境
-語言不通完全沒辦法交流
-連續3個月,每天加班到晚上十點,周末還要加一天班
-項目A的徹底失敗,也失去了對技術的信心
-兩個leader的爭執,導致沒有人關懷和舒緩他們的焦慮。

這種種情形,叫他們完全失去了斗志。沒有精力和勁頭的隊伍,打勝仗談何容易啊!!


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/453336.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/453336.shtml
英文地址,請注明出處:http://en.pswp.cn/news/453336.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

linux8重啟服務代碼,linux(centos8):安裝分布式事務服務seata(seata 1.3.0/centos 8.2)

一,什么是seata?Seata:Simpe Extensible Autonomous Transcaction Architecture,是阿里中間件,開源的分布式事務解決方案。前身是阿里的Fescar官方站:http://seata.io/zh-cn/官方代碼地址:https://github.com/seata/seata官方文檔站:http://seata.io/zh…

數組與矩陣的區別

數組中的元素可以是字符等 矩陣中的只能是數 這是二者最直觀的區別。 因為矩陣是一個數學概念(線性代數里的),數組是個計算機上的概念。 《精通MATLAB6.5版》(張志涌編著,北京航空航天大學出版社)中說&…

android自定義view(自定義數字鍵盤)

序言:在上周的項目中,需要做一個密碼鎖的功能,然后密碼下面還得有鍵盤,就類似支付寶支付的時候那樣: 當然了,我們項目的需求簡單點,純數字的就可以了,然后上周就百度了自定義鍵盤&am…

linux環境部署ltmj,Linux系統安裝與簡單配置 圖文.docx

合肥師范學院實驗報告姓名:課程名稱:Linux院(系:計算機學院 專業/年級:實於Lin^系繚公裝與苗瑕肚卅1.占克If Jf VVVork51at>un ?- If -JpMHIWortsktKia^2.?JGJiIjxiS4CLM.lt 1H. iuFI?H?*vW ?tVirtujl Machine Wisa rdGimm Oprraimv加薊aBMkonA …

矩陣的壓縮存儲

5.3 矩陣的壓縮存儲 矩陣是很多科學與工程計算問題中研究的數學對象,在此,我們討論如何存儲矩陣的元,從而使矩陣的各種運算能有效第進行。對于一個矩陣結構顯然用一個二維數組來表示是非常恰當的,但在有些情況下,比如常…

網絡工程師還要學linux嗎,網絡工程師要學什么

想成為一個優秀的網絡工程師,要學什么,怎么學呢?今天小編帶你了解一下網絡工程師到底要學什么。上篇我們講到了“網絡工程師發展方向”,列舉了許多技術方向,那么我們該如何根據自己的定位選擇學習哪些技術。重點是哪些&#xff0…

利用FormData對象實現AJAX文件上傳功能及后端實現

包括HTML基礎設置、CSS界面優化、JS利用FormData對象和AJAX進行上傳、后端接收文件并存儲到指定路徑以及刪除文件操作。FE HTML 基礎的設置&#xff1a; <form enctype"multipart/form-data"><input id"file" type"file" multiple"…

第 6 章 —— 裝飾模式

6.6 裝扮模式總結 裝飾模式把每個要裝飾的功能放在單獨的類中&#xff0c;并讓這個類包裝它所要裝飾的對象&#xff0c;因此&#xff0c;當需要執行特殊行為時&#xff0c;客戶端代碼就可以在運行時根據需要有選擇地、按順序地使用裝飾功能包裝對象了。 裝扮模式是為已有功能動…

廣義表及其存儲方式簡介

廣義表&#xff08;Lists&#xff0c;又稱列表&#xff09;是線性表的推廣。線性表定義為n>0個元素a1,a2,a3,…,an的有限序列。線性表的元素僅限于原子項&#xff0c;原子是作為結構上不可分割的成分&#xff0c;它可以是一個數或一個結構&#xff0c;若放松對表元素的這種限…

Vue.js:路由

ylbtech-Vue.js&#xff1a;路由1.返回頂部 1、Vue.js 路由 本章節我們將為大家介紹 Vue.js 路由。 Vue.js 路由允許我們通過不同的 URL 訪問不同的內容。 通過 Vue.js 可以實現多視圖的單頁Web應用&#xff08;single page web application&#xff0c;SPA&#xff09;。 Vue.…

圖片轉excel:“保留數字格式”在什么場景下該勾

保留數字格式是什么意思呢&#xff1f;顧名思義&#xff0c;就是將轉出來的數字保留為數字格式&#xff0c;而不是文本格式。我們知道&#xff0c;OCR程序將圖片上的文字識別為電腦可編輯的文字后&#xff0c;如果導入到excel不加處理&#xff0c;則單個數字過長的文字就會被ex…

html概述和基本結構

html概述 HTML是 HyperText Mark-up Language 的首字母簡寫&#xff0c;意思是超文本標記語言&#xff0c;超文本指的是超鏈接&#xff0c;標記指的是標簽&#xff0c;是一種用來制作網頁的語言&#xff0c;這種語言由一個個的標簽組成&#xff0c;用這種語言制作的文件保存的是…

linux添加三權,基于SELinux的三權分離技術的研究

目前&#xff0c;Linux操作系統已廣泛應用于各種設備和產品中&#xff0c;如服務器、PC機、機頂盒及路由器等。隨著Linux系統的不斷發展和廣泛應用&#xff0c;Linux系統的安全問題也引起越來越多的關注。在Linux操作系統中&#xff0c;存在一個超級用戶即root用戶。root也稱為…

二叉樹、樹和有序樹的區別

樹&#xff1a;子樹沒有左右之分 二叉樹、有序樹:左右有序 二叉樹與有序樹&#xff1a;在只有一棵樹的情況下&#xff0c;二叉樹有左右之分、有序樹無左右之分 另外&#xff1a;二叉樹是有序的&#xff0c;可以為空或一個根節點以及兩個分別稱為左子樹和右子樹的互不相交的二叉…

高效程序員

軟件開發人員的作戰手冊 - 讓程序員活的久一點 1. 程序員的職業準則是&#xff1a;誠實&#xff08;如實的報告你的狀態&#xff0c;風險和出現的問題&#xff09;&#xff0c;守信&#xff08;承諾完成的任務就要按時完成&#xff09;&#xff0c;尊重&#xff08;尊重給你的代…

PHP學習筆記1

1.什么是PHP&#xff1f; Hypertext Preprocessor(超文本預處理語言)。 是腳本語言。 是最流行的網站開發語言。 2.PHP能做什么&#xff1f; 可以生成動態頁面內容。 可以創建、打開、讀取、寫入、關閉服務器上的文件。 可以手機表單數據。 可以發送和接收cookies。&#xf…

Redis在windows下的配置

原文:Redis在windows下的配置 Redis在windows下的配置&#xff08;在windows-64下安裝redis&#xff0c;請參考微軟redis的github&#xff1a;https://github.com/MSOpenTech/redis/releases&#xff09;下面是windows32的配置 下載地址http://files.cnblogs.com/files/cuiweny…

linux磁盤符變化autofs,Linux基礎教程學習筆記之Autofs自動掛載

Linux基礎教程學習筆記之Autofs自動掛載Autofs自動掛載&#xff1a;yum -y install autofsvim /etc/auto.master 在文件中添加下面行/home/guests /etc/auto.tianyunvim /etc/auto.tianyun 子掛載點監控ldapuser0 -rw,sync classroom:/home/guests/ldapuser0systemctl enable …

二叉樹的遞歸遍歷(先序,中序,后序)

#include "stdio.h" #include "malloc.h" #define M 100 typedef struct node { /* 采用二叉鏈表存儲結構 */char data;struct node *lchild,*rchild; }BTnode; BTnode *create()/*利用先序遍歷的過程創建二叉樹*/ {BTnode *t;char ch;scanf("%c&quo…

DOM-動態操作心得

這個知識點都是之前看過的,就當是復習了 一、創建元素的三種方法 第一種: document.write() 識別標簽但會覆蓋之前內容第二種: 用元素自身的innerHTML方法 不識別標簽但可以不覆蓋之前內容 ul.innerHTML "<li></li>"; 第三種:利用DOM自身api創建元素 …