印度人是怎樣開發軟件的?

 我在工做中,接觸到印度軟件公司開發出來的軟件:整個體系架構很是清晰,按照咱們的要求實現了所有功能,並且至關穩定。可是打開具體的代碼一看,拖沓冗長,水平不咋樣。咱們本身的一些程序員就有怪話了,說他們水平真低。可是,印度人可以把軟件總體把握得很好,可以完成軟件,並獲得至關好的設計文檔。而中國人在那裏琢磨數據結構、算法,界面人員就還沒編碼就想着是Outlook式的仍是VisualStudio式的界面。到最後就成爲Code高手,對某些特定的開發工具精通,可是就是不能保證可以把一個軟件妥當、完整的開發出來。程序員

  舉個簡單的例子:算法

  軟件中須要一個列表,用來表示咱們處理的事務,該類表在業務繁忙的時候將變得很大。中國人就用雙向鏈表,抱着《數據結構》書在那裏寫鏈表的類。印度人開了一個大數組,而後就開始幹。爲何印度人不用鏈表,他們說:編程

  一、大家給出的設備(小型機),最少具有512M內存,浪費一些沒有什麼;數組

  二、數組方式訪問方便、效率高。數據結構

  看出了一拿到東西就吭哧吭哧做Code,和好好進行軟件分析的不一樣了嗎?架構

  正好前幾天我有幾個同事從印度回來和咱們交流,那家公司是CMM4級公司。我感覺的幾點:函數

  一、流程重於項目;工具

  二、QC(就是QA)獨立於研發部門,專門檢查研發部門的開發流程是否是按照既定流程走。若是QC以爲流程不對,他會直接上報高層,項目確定就此中止;學習

  三、所謂的項目經理通常也是從編碼人員升上來的,並非所謂的不懂技術,通常都至少有四年以上的經驗;開發工具

  四、項目經理主要就是制定開發計劃,負責協調,填寫各類表格;

  五、全部的東西(包括草稿)都有文檔;

  六、詳細文檔要求達到只有這個文檔就能夠編碼的程度,通常寫文檔時間佔60%,編碼時間極少;

  七、有各類詳細的Review(同行評審),項目組內的,項目組之間的,客戶的;

  八、計劃很詳細,的確能達到小時級,可是實際狀況仍是偏差比較大,因此他們也有加班。

  先學習UML和Rose以及RUP,不要老是要找着證據。在中國的軟件開發水平下,很難給你一個好的例子,OK?中國人老是要看到一個東西有了試驗田,並且稻子長得好,才換稻種。要知道在國外上述的軟件開發模式的應用,大能夠看看Rational網頁上的story。Justdoit一句話:中國的軟件開發水平低得很。趕不上印度人,印度的軟件公司可讓高中生編代碼,它的軟件工程水平可想而知。固然,你若是是個很牛的程序員。估計夠嗆,由於中國的氣氛中,很牛的程序員都很難接受軟件工程的。

  你能夠測試一下本身,看看本身適不適合如今學習軟件工程:

  一、你是否是不能忍受一個編程序不如你的人作你的項目經理?

  二、你是否是以爲你的老闆對客戶吹牛皮、誇大本身而感到不舒服?

  三、你是否是一個拿到一個需求腦殼裏第一念頭就是如何實現的人?

  四、你是否是很崇拜Stallman,Linus,很討厭Microsoft?

  五、你是否是曾經在深夜編碼的時候,忽然感受到一種乏味,對Code的生涯感到一種無趣?

  以管窺豹──印度神話做者:"Kino"咱們如今處於深深的自卑當中,感到中國的軟件工程水平的低下已是牽涉到民族劣根性的問題了。

  一、他們的軟件教育水平:咱們招聘印度人,給應聘者出了一份與國內差很少的試卷,有基礎概念和編程題目。等到他們完成後,咱們這些中國的自認高手驚呆了!他們的編程題目簡直象是抄襲的,程序結構,註釋,變量命名就不說了吧,所有都是極其相似!反觀中國的牛人、高手,每一個人有本身的一套。到了新的崗位,先把前任的程序貶損一通,而後本身再開發更多的問題的代碼來代替。個人公司統計,一個軟件中有4個以上CSocket版本,每一個人都以爲別人作得差,本身再搞一套。中國人,就是這個樣子,還會辯解說「咱們這樣有創造性」。其實軟件發展,早就走過了求伯君那個編碼英雄的年代,程序員已是個坐辦公室的藍領了。你具有擰好一個螺絲釘的能力就能夠了,Code是最低級的事情了。

  二、他們許多公司的項目經理根本就不懂技術。中國的項目經理若是不能在技術上壓服下屬,那麼下屬將與他搞鬼,越是高手越喜歡搞鬼,根本不知道做軟件的終極目的是從別人兜裏掏錢,而在內部搞不團結。技術高手都會糾集一些對他技術上崇拜的菜鳥,與管理層做對。而印度的軟件經理根本就不懂正在作的東西,許多甚至直接就是MBA,或者是領域專家(工業設計、地理專家等),而不是編碼的專家。可是卻可以領導大羣素質良好的程序員把工做作好,沒有內部不團結的狀況。許多印度的程序員加入一個公司很長時間,都不知道本身成天編的代碼是幹什麼用的,給他們的任務可能就是一個函數的聲明以及該函數要實現的功能。咱們呢?

  三、他們的編程人員流動率(包括內部項目之間的流動)高達30%,能夠想見他們的文檔水平如何。他們的產品不依賴任何一我的,誰均可以當即辭職,產品的開發仍是會正常進行。而中國,是老闆怕總工。技術骨幹擁兵自重,抗拒管理。任何制定好的計劃,都有可能被技術人員推翻或者跟你消極怠工。

  四、他們的開發計劃可以作到小時級別。若是一個印度公司的項目經理沒有上班,那麼他的下屬將可能不知道做什麼。他們的計劃通常都定到天,每一個基層開發人員天天的工做量就是8小時。而咱們可以給出月度計劃的公司就不多,而給出的月度計劃要麼不可能實現,要麼就可能被取消。開發人員被初略的給個任務,他在月初,能夠慢慢琢磨是作成什麼樣子,而後上上網,聊聊天。到了月中和月末,就開始熬夜編碼。

  看到每一年,從各大高校不盡牛人滾滾來,咱們是不得不要召人,同時又是不抱但願。我公司如今有意之後將核心軟件開發外包給印度公司,中國人?作作界面吧,中國人作界面會極盡奇技淫巧,搞得花裏胡哨的。BTW,我公司非外企,你們不要誤會咱們有什麼種族歧視。可是咱們如今就是對本身歧視,自卑得很。中科院那麼多研究院,連個能用的操做系統都搞不定。北大開發一些東西,好比什麼青鳥CASE,就是給一幫人評職稱的。楊芙清院士成天搞來搞去,搞出了什麼東西?B大,T大的人最難管理,牛得看不見人。中國的程序員罵微軟,追Linux是全世界最狠的,但是咱們除了漢化Linux,作了什麼東西出來。CDE是瑞典人寫的,Linus是芬蘭的,GNome是墨西哥人寫的。哎,咱們曾經是多麼的瞧不起印度人。

相關文章
相關標籤/搜索