【郭林专刊】过来人的总结
2011年前,開發主要集中在模塊級別。11年后很多獨立開發工作,學習到很多知識,同時也看到非常多的不足。僅談昨天的成就不能指導今天的前進,而深挖不足卻可以讓我們更加清醒。
?不足一:目標不明確
我們開發一個東西,除了功能點知道以外,其他一概不清楚。例如FTP服務器,我們的目標是什么?要支持多少個用戶,要達到怎樣的并發數?是局域網還是公網運行?是否7*24小時運行?
?1 如果僅僅是XXX上的低壓力使用,根本無需采用重量級的編寫邏輯。像intel的UPNP庫就提供了一個非常簡單的HTTP服務器。
2 如果是一個類似Serv-U的使用場景,那我們現在開發的遠遠不夠。
我曾經加入過一個高性能服務器開發的論壇。人家發的帖子,問的問題完全是我未知的,這讓我恐慌。
更為搞笑的是推出一個產品,有沒有問問用戶到底要什么?清不清楚CDN未來是什么發展趨勢?如果人家將來造出了核彈,而我們現在即使開發出更先進的炸彈,最終會輸的。姚總已經在思考是否縮減產品數量的同時,這種產品的推出有沒有經過全面論證?一味模仿CDN,連界面都類似,誰來為后果負責?
?
不足二: 沒有設計,開發方式原始
這個原因是不足一導致的,因為目標是什么都不清楚,當然會沒有設計。然而,很多時候是在具體模塊的研發過程中,我們也沒有設計,沒有方案討論和驗證。而且大部分情況下,時間并非緊迫。
?這個不足導致的后果就是技術沒有積累,開發非常不正規,類似軟件手工作坊。尤其是現在研究院沒有以前項目開發的各種約束。讀研的時候,申請科學基金還有一套正規流程,并需要專家論證,而我們現在作為商業公司卻沒有這個。這可能是整個公司的普遍現狀。
不足三:過于樂觀,學院派氣息濃厚
我們網絡開發水平才處于初期,在極度缺乏經驗,專業人才的情況下,試圖推出所謂的流媒體服務器,匯聚中心,躍躍欲試。請問:
1 這么多中心,每個是干什么的?目標是什么?客戶是誰?開發周期多少?能帶來多大經濟效益?
2 市面上同等服務器的開發,用了多少人力物力?就他們的市場情況,我們有能力打敗他們嗎?
在09年6月的時候,我曾提到了P2P,后來專門集中研究過P2P技術,從此再也沒有提過。因為我覺得以我們現在的水平和能力以及公司給予的支持(例如時間,資源,人力)不可能在1到2年內開發一個商用的P2P出來。(一個商業可用的P2P系統,初期至少需要在IDC部署5000臺機器,才會有一定效益,我們能做到這個嗎?)
我們經常滿足的現狀就是從書上,網上學會了一點知識,驗證一下,就號稱自己掌握了某某技術,甚至想造一個轱轆然后拿去賣錢。這樣有百害無一利。推薦的做法是看看已知的公司或產品花了多少時間和人力,我們只可能比它多,不可能少。
不足四: 步伐太快,缺乏思考
這里體現在兩方面:
1 關于移植。有誰考慮過Win7平臺是否提供了API滿足現有XP平臺下我們費盡功夫開發的某個庫的功能?有誰考慮過Win7平臺下是否現有結構需要重構以獲得更好的性能?尤其是移植到linux平臺,是否有更加符合linux平臺下的設計結構?我們到底要效率還是要統一?我們在XP下設計庫的時候是否又充分考慮到不同平臺的情況了嗎?(我們僅考慮了非常低級的API接口的一致)。MSDN2008指出,vista集成有后臺智能傳輸服務(BITS),P2P服務,UPNP服務,我們是自己造輪子好,還是站在巨人的肩膀上好?
2 關于頭文件,領導精神確實可嘉,值得學習,但做為技術型領導,這個是本職工作,比爾蓋茨都需要不斷鉆研和學習。但問題是,咱們目前所掌握的知識足以指導網絡開發嗎?這種設計的模式是合理的嗎?這種又不是公司首創的技術,我們的設計和其他公司的設計有比較過嗎?設計方案有論證嗎?
不足五:沒有職業規劃的概念
?多年來,公司的員工職業規劃基本沒有。從我角度看,職業的發展不是加官進爵的事情。而是一個擁有更多資源和影響力來領導并帶領團隊成員一起戰斗并取得勝利,因為勝利更大了,自然報酬會增加。而我們目前的狀況是薪水加了,干活更多了,資源卻很少有增加。(就好比考上大學了,按道理能有機會獲得更好的師資,圖書,能得到更多的學習機會等)。
不足六:缺乏反饋機制和通道
從根本上扼殺了給領導展示能從諫如流的氣魄的機會。
?
那么我們該做什么?
1 快速建立工作規范。對于這種積重難返并有現成解決方法的問題,必須采取西醫手術刀方式快刀入手。
2 全面審視現有工作,綜合考慮人力、專業技能等各方面因素,合并資源,合理制定工作計劃。人家一個項目一個研究就涉及幾百號人,研究院50多個人處處開花。
3 加強管理知識、心理學知識培訓。關注技術水平的上升,同時要注重管理水平的上升,否則都是獨孤求敗,成不了氣候。要培養影響力,要能召集到追隨者。
4 挖人。禮賢下士,三顧茅廬怎么可能挖不到人呢?沒有專家,沒有高手,沒有標桿人物,就沒有發展。
5 加強技術積累,例如多核并行程序設計技術,這是緊跟硬件發展的技術,研究院可以開展相關研究,開發公共庫,主要集中在分布式數據結構,分布式內存管理,任務分解與調度。(多機分布式計算,想都不要想了。)要充分認識到難度,當前每一項技術要研究到可以熟練使用甚至小規模創新的程度,都需要1年到數年的時間,還得依賴研究者的水平。
轉載于:https://www.cnblogs.com/javaTest/archive/2011/10/14/2589597.html
總結
以上是生活随笔為你收集整理的【郭林专刊】过来人的总结的全部內容,希望文章能夠幫你解決所遇到的問題。