色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

創(chuàng)業(yè)編程七個錯誤認(rèn)識

  本文是從 What’s Your Start-up’s “Bus Count”? 7 Myths of Entrepreneurship and Programming 這篇文章翻譯而來。

  多少年來,人們普遍有一種看法,認(rèn)為軟件工程應(yīng)該和其它種類的工程一樣:仔細(xì)的設(shè)計,精確的規(guī)劃,然后進(jìn)行開發(fā) —— 嚴(yán)格按照設(shè)計說明書。就像修建一座橋梁,不是嗎?這種開發(fā)方式的問題在于:軟件,它是“軟”的。它可以無限的延展。任何需要的時候你都可以大幅度的修改你的軟件,人們也都是這么干的。還有,因為軟件可以被拿來對任何事物進(jìn)行模型造型,你能要求軟件開發(fā)人員去實現(xiàn)的可能的東西幾乎是無窮無盡。想要在軟件里模擬集成電路嗎?干吧。想管理銀行?沒問題。讓五億人和他們的朋友保持聯(lián)系?為什么不呢?小菜一碟。不僅如此,在開發(fā)的中途我們還能要求程序員去做各種修改,這種事情經(jīng)常的以一種不可預(yù)期的形式出現(xiàn)。

  這可不是像修橋那樣。

  由于漠視這種需求不斷變化的現(xiàn)實,多年來,無數(shù)的項目要么慘遭失敗,要么巨額超出預(yù)算。所以,在各種證據(jù)面前,整個行業(yè)為什么還要堅守這種錯誤的認(rèn)識?很難說為什么。不過,最終,行業(yè)里開始出現(xiàn)一種新的認(rèn)識:軟件開發(fā)工作應(yīng)該更好的響應(yīng)需求的變化。事實上,為了適應(yīng)這種需求上的變化,我們應(yīng)該改進(jìn)軟件開發(fā)過程。沒有比如今的web創(chuàng)業(yè)開發(fā)社區(qū)更歡迎這種趨勢的了。所謂的敏捷開發(fā)方法已經(jīng)開始流行,“lean start-up”運動號召對運行中的系統(tǒng)進(jìn)行自動的或依據(jù)經(jīng)驗的超常快速變更響應(yīng)。

  所以,我們都是好樣的,不是嗎?雖然行動的不是那么快。盡管有越來越多的敏捷開發(fā)方法被人們接受,仍然有大量的傳統(tǒng)錯誤認(rèn)識游蕩在我們周圍…這些認(rèn)識大部分都該丟到腦后。

  1. 誤解:你應(yīng)該招聘一些“日本忍者”式的程序員。

  對編程超人的迷信是硅谷創(chuàng)業(yè)公司中最普遍的一種病癥:一個孤僻的程序員,以匹薩和咖啡因為能量,頭戴耳麥,通宵不倦的開發(fā)一個復(fù)雜的系統(tǒng),所有的東西都自己一個人來干。時過境遷了。軟件開發(fā)已經(jīng)發(fā)展成一種團(tuán)體運動。所有的創(chuàng)業(yè)公司只要獲得了任何有意義的成功,都會成長起來。一個編程獨俠客能夠勝任的情況放到一個10人的公司里后就不可行了。而且,更糟糕的是,鼓勵逞英雄的行為會在開發(fā)團(tuán)隊里產(chǎn)生腐蝕性的機(jī)能障礙。始終如一的朝九晚五、日復(fù)一日編寫出公司賴以生存的穩(wěn)固功能代碼的程序員,輸給了能以通宵加班(通常只是一晚)來期望獲得慷慨的褒獎的精明極端利己主義者。與其獎勵這種英雄,不如培養(yǎng)出真正具有團(tuán)隊精神的員工。

  2. 誤解: 程序員需要安靜的工作,避免打攪。

  讓人們獨自的干活,這個聽起來很有道理。每一次的打擾都是切實的中斷你的思緒,而且你需要花很久才能重新找回那種“狀態(tài)”。有些著名的軟件公司甚至堅持要為每個程序員安排獨立的辦公室。他們這樣就不會被打攪了,是嗎?除非現(xiàn)代新形式的干擾并不會像一個真人拍你的肩頭時引起你的分心,比如即時聊天工具,移動手機(jī),F(xiàn)acebook,Twitter,電子郵件,以及從程序員頭上戴的耳麥里傳出的用于幫助集中精神的音樂。現(xiàn)實情況是,大多數(shù)的獨自工作的程序員每天只花一小段時間用于真正的編程:各種形式的干擾事情層出不窮,整天他們都在進(jìn)入狀態(tài)和失去狀態(tài)的循環(huán)中來來回回。然而,有個辦法能解決這個問題:結(jié)對編程。兩個程序員,一臺電腦。沒有Email,沒有Twitter,沒有手機(jī)電話(至少沒有無計劃的電話;你可以在有規(guī)律的間隔休息時間里處理這些事情)。如果按照這樣做,你會收獲一個完全編程的一天。而且,和他人一起工作,“進(jìn)入狀態(tài)”的過程幾乎完全不費時間。這是一種完全不同的工作方式,我深信這種方式的效率遠(yuǎn)高于獨自工作的形式。事實上,針對當(dāng)前的辦公室里的這些“電子設(shè)備引起的注意力分散”情況,我認(rèn)為這是能讓軟件開發(fā)團(tuán)隊獲得最高效率的唯一辦法。

  3. 誤解: 創(chuàng)業(yè)公司競爭激烈,所以每個人都該干到精疲力竭為止。

  沒白沒夜的加班加點并不能讓你做的更多,做的更快。事實上,這會讓你適得其反。不錯,你覺得一周就能完成。但大部分的創(chuàng)業(yè)公司的開發(fā)計劃都會比這個長,程序員通常需要持續(xù)幾個月的進(jìn)行開發(fā)(如果不是幾年的話)來成功的完成一個產(chǎn)品。很多創(chuàng)業(yè)公司的行為表現(xiàn)就好象是這罐金子就放在那個墻角,只要能再努力一點就能拿到它。很快,開發(fā)人員的精力就被榨干了,如僵尸一般只是做出在加班的樣子,沒有任何的工作效率。高強(qiáng)度的工作,只是從短期來看會獲得更多的工作效率。著名的開發(fā)公司Pivotal幫助過成百上千的創(chuàng)業(yè)公司開發(fā)過系統(tǒng),從來都是嚴(yán)格按照40小時工作日來完成任務(wù)的。

  4. 誤解: 工期緊必然需要走捷徑。

  很多團(tuán)隊都以市場壓力大、需要立即發(fā)布產(chǎn)品為由,寫出劣質(zhì)的代碼。寫出的測試程序繞開問題部位;瘋狂的攻堅沖鋒中認(rèn)真設(shè)計原則被拋在腦后。但是,作為各個軟件開發(fā)團(tuán)隊,大家都一樣。高效能的團(tuán)隊在成功之余不失英雄本色:正相反,當(dāng)壓力出現(xiàn)時,他們巋然不動,以自身深厚的功底成功化解任務(wù)。我們無數(shù)次聽到過高壓下出高成就的傳奇故事 —— 要么是軍事行動、專業(yè)運動,要么是飛行員在河上強(qiáng)行降落 —— 其中的原因無非是英雄們的那句話,“我們受過專門訓(xùn)練”。

  5. 誤解:開發(fā)人員應(yīng)該全權(quán)負(fù)責(zé)自己的代碼。

  負(fù)責(zé)自己的代碼,聽起來很正確。理所當(dāng)然的。個人職責(zé)嘛。可是,開發(fā)團(tuán)隊里在代碼上分配歸屬人就意味著每個模塊的程序只有一個開發(fā)人員來寫,只有一個人能掌握。這會導(dǎo)致負(fù)責(zé)模塊的程序員之間產(chǎn)生“地方保護(hù)主義”。對于公司老板來說,這造成了很大的風(fēng)險,因為團(tuán)隊中損失一個人就會影響整個團(tuán)隊的進(jìn)程,如果這個人是負(fù)責(zé)系統(tǒng)的關(guān)鍵核心模塊的,那更會造成公司業(yè)務(wù)癱瘓。健康的工作方式是讓每個程序員都經(jīng)手過系統(tǒng)內(nèi)的所有代碼。結(jié)對編程能讓你實現(xiàn)這個效果,知識會從一個人傳遞到另一個人。所謂的“巴士指數(shù)”(團(tuán)隊中的多少人被車撞才會導(dǎo)致大家都無法進(jìn)行)是一個軟件創(chuàng)業(yè)公司的關(guān)鍵風(fēng)險指標(biāo)。我們這里所說的不僅僅指的是巴士在使壞,還有你的競爭對手,他們樂衷于挖走你最好的程序員。理解整個系統(tǒng)的人越多,你的公司就越健壯,越有活力。

  6. 誤解:你需要一個怪異的招聘過程。

  你會在雇用一個演員時不進(jìn)行試鏡嗎?如果要試,你就能短暫的做一回導(dǎo)演。這正是如今幾乎所有的公司在招聘程序員時會出現(xiàn)的場景。通常的面試都會談?wù)搼?yīng)聘者的經(jīng)驗。這就完了。你可以想象一下,問一個躊躇滿志的演員是否喜歡飾演哈姆雷特這個角色。你能傳神的扮演他嗎?好的。你被雇用了!很多著名的軟件公司喜歡給應(yīng)聘者出腦筋急轉(zhuǎn)彎題。有些頂級的公司甚至給候選人進(jìn)行IQ測試。他們中最可取的是在白板上模擬軟件問題,讓候選人解決。這些情況讓人很無奈。我要說的是這非常明顯的道理:招到好的程序員的唯一可靠的方法就是跟他們一起編程。我對程序員的面試是跟他們進(jìn)行一個小時的快速的結(jié)對編程 —— 而且這只是面試的一個開始。大量的篩選,把他們按滿分100打分。什么樣的會被選中?思維敏捷,抽象思考能力強(qiáng),掌握各種算法,問題解決能力強(qiáng)。而最重要的是,領(lǐng)會能力。因為協(xié)作是對團(tuán)隊來說最重要的東西,如果你不能理解其他人是如何思考的,再聰明也沒用。

  7. 誤解: 專業(yè)化很重要。

  非常自然的,管理者遇到問題時習(xí)慣把問題分解,各個擊破。在開發(fā)團(tuán)隊里,這通常慫恿技術(shù)人員專項發(fā)展。前端開發(fā),后臺開發(fā),數(shù)據(jù)庫管理員等等。Brad Feld 在他的博客里建議說,每個團(tuán)隊里都應(yīng)該有個“全能程序員”,這個人是個真正的通才。他是對的,但他說的還不夠。每個團(tuán)隊里的每個成員都應(yīng)該是通才全才。為什么?因為專才導(dǎo)致團(tuán)隊脆弱。還記得“巴士指數(shù)”嗎?每個專才都是一個弱點;如果他離開了,你找不到替代他的人,你完了。不僅如此,它還能使團(tuán)隊機(jī)能失調(diào)。專項的人需要把他們負(fù)責(zé)的系統(tǒng)里相互獨立的模塊通過定義好的接口相互通信。事實上,他們每人都寫出了各自不統(tǒng)一通信方式。這導(dǎo)致了大量的額外開銷,經(jīng)常會出現(xiàn)“地方保護(hù)主義”或相互指責(zé)。而在著名的Pivotal公司,每個程序員都要接觸到系統(tǒng)的各個層面,從HTML和JavaScript到Ruby,到數(shù)據(jù)庫。而有些人認(rèn)為專才會在系統(tǒng)的某個層面上更專業(yè)的,這種說法未必站得住腳。如今的軟件技術(shù)變得已經(jīng)不是那么復(fù)雜了。程序員能更容易的掌握各個層面上的知識以及如何操作它們。順便說一下,這暗示出了另外一個非常重要的信息:你不再需要為某個特殊的技術(shù)而招聘人才了。缺少Ruby程序員?好,招一個Java程序員,培訓(xùn)他使用Ruby(這里使用結(jié)對編程格外的有效)。有些人稱自己為“服務(wù)器端”程序員?沒問題,讓他們寫JavaScript程序,他們很快就能學(xué)會。

  如果他們是人才,那就體現(xiàn)在這里。

it知識庫創(chuàng)業(yè)編程七個錯誤認(rèn)識,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 苗栗县| 都匀市| 玉环县| 蕉岭县| 道孚县| 鹤岗市| 揭东县| 全州县| 英德市| 昌宁县| 漠河县| 磴口县| 托克逊县| 瓮安县| 靖安县| 囊谦县| 泾川县| 德州市| 海门市| 高州市| 香河县| 金秀| 通辽市| 策勒县| 山西省| 绥宁县| 长葛市| 西华县| 黔西| 那坡县| 石楼县| 错那县| 阿拉尔市| 渝中区| 武定县| 西安市| 旺苍县| 洛扎县| 凉山| 玛纳斯县| 方山县|