4.2.1 獨立完成一個項目的經驗是什麼經驗
清華大學出版社《Java程式員,上班那點事兒》作者:鐘聲——第4章《第4章 換位思考,項目主管的招聘技巧》部分節選。
但是,很多應聘者都沒有明白這個獨立完成一個項目經驗有什麼用?什麼是獨立的項目開發?以及為什麼問這個問題?
我們在面試中經常聽到下面這樣的對話:
考官:“你有獨立完成一個項目的經曆嗎?”
A君:“有”
考官:“請描述一下這個項目”
A君:“我獨立做了一個權限系統”
考官:(喜)“權限系統?是一個獨立項目?”
A君:“對,就是一個圖書管理系統中的權限系統”
考官:(暈)……
B君:“沒有,因為一個軟體系統不可能一個人完成”
考官:(無語)……
C君:“咱們公司那麼大,難道是讓一個人負責一個項目?”
考官:(?)……
顯然,當面試時問及這個問題時,這幾個應聘者都有些不解。A君是不明白的是獨立完成一個項目的意思是指什麼,B君是不明白的為什麼需要這個經驗,而C君甚至對考官的這個問題提出了質疑。
給A、B、C君解釋一下,什麼是獨立完成一個項目的經驗?
一個任務,開發一個人事檔案與工資管理系統,要求可以列印工資條,能有查詢每月各個員工的工資發放記錄,并且可以做各種統計,如,按部門統計,按性别統計,按職位統計等等。最好可以出人力成本報表,當然如果可能的話可以和财務軟體之間建立接口。
然後,做完以後給你獎金3000元,做得不符合使用者要求将領不到獎金。
好,去做吧,1個月内做完。
Ok,拿到了3000元獎金的時候,就有了一個獨立完成項目的經驗。但是,如果沒有拿到獎金那麼意味着你還沒有這個經驗。不過,一般情況下一定會想盡一切辦法拿到這個獎金的。
為了拿到獎金會怎麼做?
為了做出的東西符合使用者要求,需要和使用者溝通,并寫出大概的項目計劃讓使用者确認
需要根據項目計劃和功能結構設計資料庫表結構
采用最熟悉的技術迅速的搭建程式架構
開發的每一個階段都需要和使用者溝通,聽取改進意見,并針對意見做有效的修改,修改的工作量要控制在有限時間内的同時還需要符合使用者要求
整個程式開發完成需要給使用者示範整個程式的使用方法,并可以給使用者其他相關人員教育訓練
要寫出使用手冊和教育訓練PPT等文檔
和使用者負責人商讨驗收事宜并驗收
想辦法讓使用者遵守他之前的承諾把獎金要回來
怎麼樣,獨立的完成一個項目還真不是一個簡單的開發那麼簡單吧?這是在開發過程中需要不斷的和使用者溝通并設計與調整自己的開發方案,并使出渾身解數來完成這個項目。
在這個過程中學習到了什麼呢?
開發一個軟體所應該具備的全局觀
對軟體的開發效率和應用滿足程度的權衡能力
軟體技術掌握更全面,從資料庫到界面幾乎面面俱到
對使用者想法的了解,并将使用者需求轉化成軟體的能力
和使用者溝通,進而挖掘使用者真實想法的能力
方案的編寫以及文檔的編寫能力
做教育訓練的演講能力
取得使用者認可的談判技巧
4.2.2 沒有獨立生存的能力不能有最佳團隊合作
我們99.9%的程式員都會參與一個團隊進行開發工作,而并不是單打獨鬥,但是,沒有獨立生存的能力是不可能有好的團隊合作工作的。說得誇張些,原因就是某人的其中某些短闆會成為這個團隊的累贅,那麼,這時候就需要在不斷的項目進展中給予教育訓練和輔導,以使其跟上大家的步伐。從這一點上來說,一個團隊的主管是不願意看到的,他總是希望新加入的人員來了就可以融入整體團隊,而不是花一個月甚至更長的時間給予教育訓練。
團隊合作的理想狀态是這樣的,如所示。
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiInBnauYDN2EDM5gTM5ADNyEDOyQDM5ADMy8CX0ATOwAjMvwFduVWboNWY0RXYvwVbvNmLvR3YxUjL4M3Lc9CX6MHc0RHaiojIsJye.jpg)
盡管真正做到上圖的這種情況那确實是一種理想,在某些事情的合作方面仍然需要大家取長補短,但是,最好的情況還是你具備了A、B、C、D這些能力之後和團隊其他人員進行合作才會更順暢。
因為,你對這些工作内容都很了解的情況下,會少一些内部溝通多一些工作的默契。
4.2.4 鍛煉攻略:需要主動尋找獨立工作的機會
在成為正式程式員之前,找到一個獨立開發項目的機會真的不容易,能找到可以獲得收入的項目更難。如果這樣的工作機會不能找到你,那麼你就自己去尋找,甚至自己去創造這個工作機會。
所謂,自己創造一個工作的機會,就是自己開發一個系統,想辦法送給别人甚至賣給别人。在這個過程中你會知道自己設計的軟體水準的不足之處的。
尋找與創造機會的目的就是真真正正的做一個軟體系統,在系統開發過程中不斷的提升自己的業務水準,以滿足更多用人機關的需求。
《Java程式員,上班那點事兒》,前言,目錄
卓越網銷售連結
China-pub銷售連結
當當網銷售連結
《Java程式員,上班那點事》紀念帖