放翁(文初)的一畝三分地

            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            210 隨筆 :: 1 文章 :: 320 評(píng)論 :: 0 Trackbacks
          Author:放翁(文初)
          Email:fangweng@taobao.com
          Blog:http://blog.csdn.net/cenwenchu79


          其實(shí)想說(shuō)這句話(huà)很久了
          ,和很多同事接觸,有時(shí)候或多或少的都會(huì)發(fā)現(xiàn)大家會(huì)陷入在自己的一畝三分地里面.

                   主要表現(xiàn)得癥狀

          1.       PD的需求就是目標(biāo),踏實(shí)的實(shí)現(xiàn),不懂的就猜。

          2.       經(jīng)驗(yàn)蓋過(guò)一切,設(shè)計(jì)系統(tǒng)就是要夠完備夠復(fù)雜。

          從開(kāi)發(fā)人員角度來(lái)看,第一種人多半比較有自己的想法,同時(shí)也有不少的工作經(jīng)驗(yàn),同時(shí)可能對(duì)技術(shù)比較著迷。另一種人多半是剛剛工作或者經(jīng)驗(yàn)不足,要么就是習(xí)慣性把工作當(dāng)任務(wù),而不是愛(ài)好,寫(xiě)程序也就是一份賺錢(qián)的活。但看起來(lái)其實(shí)各自都在自己的一畝三分地上搗鼓,忘記了作為一個(gè)開(kāi)發(fā)人員最基本的原則:“滿(mǎn)足客戶(hù)需求”。

          先說(shuō)1類(lèi)型吧,在我們的Team有一個(gè)剛畢業(yè)一年多的同學(xué),很勤奮,不論從學(xué)習(xí)以及工作,實(shí)實(shí)在在,踏踏實(shí)實(shí)。我們這邊來(lái)需求,通常大需求我們都會(huì)全體過(guò)一下,一些小點(diǎn)的需求他就自己考慮一下就作了。那天正要上線(xiàn),突然說(shuō)了一下設(shè)計(jì)修改的內(nèi)容,發(fā)現(xiàn)不僅滿(mǎn)足不了PD原有的需求,而且給系統(tǒng)帶來(lái)了緩存暴增的隱患。然后找來(lái)PD一談,其實(shí)他要的功能已經(jīng)在現(xiàn)有系統(tǒng)中已經(jīng)實(shí)現(xiàn),只是需要做部分的修改,而不需要新的去建立一套機(jī)制。這樣的情況其實(shí)在前前后后出現(xiàn)了不少次數(shù)了,但其實(shí)一直沒(méi)有和他細(xì)談。后來(lái)我下班時(shí)候和他一起回家的時(shí)候說(shuō):“很多時(shí)候, PD為了讓你理解,從開(kāi)發(fā)的角度想要去描述一個(gè)需求,但其實(shí)最終失去了他自己想要的東西。因此對(duì)你來(lái)說(shuō)第一步不是急忙的去考慮如何實(shí)現(xiàn)PD的想法或者和他爭(zhēng)論他的設(shè)計(jì)是否合理,而是需要先問(wèn)他:你想要什么,想要實(shí)現(xiàn)的東西最終目的是什么,能滿(mǎn)足客戶(hù)的什么需求?當(dāng)他能夠說(shuō)清楚他想要什么,也知道要的東西能給客戶(hù)帶來(lái)什么價(jià)值的時(shí)候,我們?cè)倩剡^(guò)頭來(lái)看,究竟應(yīng)該怎么做?”這其實(shí)和我每次和同學(xué)分享一些設(shè)計(jì)的時(shí)候步驟是一樣的,首先為什么要這么做,然后才是考慮如何從我的目標(biāo)去尋找行動(dòng)的方法方式,不然你會(huì)發(fā)現(xiàn)你和別人討論了許久的東西,實(shí)現(xiàn)出來(lái)的時(shí)候已經(jīng)背離了你的目標(biāo)很遠(yuǎn)。因此在做任何需求或者設(shè)計(jì)的時(shí)候第一個(gè)問(wèn)題就要問(wèn)自己為什么要做,作的過(guò)程中時(shí)刻要記得我的目標(biāo)是什么。這讓我想起了我在離開(kāi)阿軟的那些日子和王堅(jiān)博士談話(huà)以及聽(tīng)他的一些對(duì)于設(shè)計(jì)的理念,很多時(shí)候還沒(méi)有到規(guī)模化的情況下,先解決客戶(hù)的需求,在解決客戶(hù)需求以后,逐步的去考慮規(guī)模化問(wèn)題的設(shè)計(jì)。(當(dāng)然不是說(shuō)第一版設(shè)計(jì)就可以隨便作,良好的基礎(chǔ)能夠提升后續(xù)改進(jìn)的速度)。

          二類(lèi)型的就比較多了,其實(shí)是很多開(kāi)發(fā)人員的通病,包括有時(shí)候我自己也會(huì)陷入這樣的誤區(qū)。通常情況下有兩種場(chǎng)景會(huì)陷入這樣的誤區(qū),同時(shí)當(dāng)事人卻又不愿意改變。第一種情況就是覺(jué)得自己有不少的經(jīng)驗(yàn),同時(shí)對(duì)技術(shù)很執(zhí)著,希望設(shè)計(jì)出來(lái)的都是很完美的,一次發(fā)布就可以滿(mǎn)足個(gè)12年,但其實(shí)從這些年的設(shè)計(jì)角度來(lái)看,首先系統(tǒng)都是不斷迭代進(jìn)化的,因此一步到位的說(shuō)法基本上不靠譜(除非就是一模一樣的場(chǎng)景代碼重復(fù)使用),其次系統(tǒng)的架構(gòu)要做的足夠靈活,通常情況就需要先做核心功能,預(yù)留出足夠的空間和切入點(diǎn),這樣對(duì)未來(lái)擴(kuò)展和需求變化有足夠的適應(yīng)度。從這兩點(diǎn)來(lái)看,其實(shí)設(shè)計(jì)初期就是要求找到客戶(hù)最想要的,擴(kuò)展可以實(shí)現(xiàn)客戶(hù)可能要的,防范客戶(hù)沒(méi)有估量到的。但這其實(shí)就需要和我們的產(chǎn)品設(shè)計(jì)師有充分的交流,好的產(chǎn)品設(shè)計(jì)師不會(huì)告訴你你怎么去實(shí)現(xiàn),但是他會(huì)告訴你我想要的是什么,這些能給客戶(hù)帶來(lái)什么,這時(shí)候你可以告訴他我能夠通過(guò)什么方式來(lái)滿(mǎn)足你的需求。這樣的開(kāi)發(fā)和產(chǎn)品設(shè)計(jì)交流的結(jié)果才是技術(shù)化的產(chǎn)品,大家各司其職,同時(shí)也通曉對(duì)方領(lǐng)域的一些情況,對(duì)對(duì)方領(lǐng)域的只能給出建議,不是指導(dǎo),這點(diǎn)在TOP我很慶幸有很好的黑羽同學(xué),我們的交流就是這樣產(chǎn)生良性互動(dòng)。這有點(diǎn)撤遠(yuǎn)了,剛才說(shuō)了第一種場(chǎng)景,然后說(shuō)說(shuō)第二種場(chǎng)景,就是初期其實(shí)大家都沒(méi)有明確細(xì)節(jié),但是在實(shí)施過(guò)程中開(kāi)發(fā)人員會(huì)根據(jù)自己的接觸面來(lái)選擇一些技術(shù)和架構(gòu)設(shè)計(jì),最后看起來(lái)很復(fù)雜,很完美,但其實(shí)越是復(fù)雜的設(shè)計(jì)背后有越多的隱患。但是此時(shí)因?yàn)橐呀?jīng)設(shè)計(jì)好了,就不愿意再去簡(jiǎn)化,也不愿意聽(tīng)任何人的意見(jiàn),其實(shí)這是很危險(xiǎn)的。我過(guò)去也犯過(guò)類(lèi)似的錯(cuò)誤,但是其實(shí)當(dāng)你冷靜下來(lái),想想那句話(huà),我們的目標(biāo)是什么:“滿(mǎn)足客戶(hù)需求”,這時(shí)候你就會(huì)考慮,這么復(fù)雜的系統(tǒng)會(huì)不會(huì)給客戶(hù)帶來(lái)更多的不穩(wěn)定以及復(fù)雜度,其實(shí)客戶(hù)不關(guān)心你背后如何實(shí)現(xiàn)的,但是你需要滿(mǎn)足客戶(hù)的最基本的需求,用起來(lái)方便,高效,實(shí)實(shí)在在提供了解決問(wèn)題的手段。

          今天下午面試了一個(gè)外部的同學(xué),工作年限比我長(zhǎng),看了簡(jiǎn)歷也經(jīng)歷了很多項(xiàng)目,同時(shí)在描述的時(shí)候?qū)懥藢?duì)高并發(fā),分布式等等都很熟悉和熱衷,我開(kāi)始看了簡(jiǎn)歷就擔(dān)心,可能我這邊不一定要他,因?yàn)槲遗滤_(kāi)口就是說(shuō)一大堆如何做高并發(fā)和分布式的內(nèi)容。在我看來(lái)如果你沒(méi)有搞清楚你什么時(shí)候要用牛刀,什么時(shí)候要用剪刀的人,和你談?wù)撆5兜臉?gòu)造其實(shí)沒(méi)啥意思,因?yàn)樵谖铱磥?lái),技術(shù)只要你肯花時(shí)間去學(xué),沒(méi)什么學(xué)不到的,但是做事方式和項(xiàng)目設(shè)計(jì)經(jīng)驗(yàn)卻是長(zhǎng)時(shí)間積累的。幸好今天和他一談,他對(duì)于技術(shù)的態(tài)度以及架構(gòu)設(shè)計(jì)的思想都和我想的比較接近,不是為了技術(shù)而技術(shù),不是為了過(guò)程而過(guò)程,了解如何從簡(jiǎn)如繁,再?gòu)姆比牒?jiǎn),最終能夠找到自己的目標(biāo)。當(dāng)然后來(lái)還是談了很多技術(shù)細(xì)節(jié)的問(wèn)題,畢竟干活還是要一個(gè)好手,作了那么多年如果沒(méi)有經(jīng)驗(yàn)和技術(shù)積累也是很可怕的事情。最后我問(wèn)了他兩個(gè)問(wèn)題:1.你學(xué)習(xí)一個(gè)新技術(shù)的過(guò)程是怎么樣的?2.你和你同事如果在設(shè)計(jì)方案上有沖突你怎么解決?他告訴我他學(xué)習(xí)新技術(shù)首先會(huì)去考慮這個(gè)技術(shù)的特點(diǎn)是什么,和其他技術(shù)的差別,他的擅長(zhǎng)領(lǐng)域是什么,這樣才能夠用到實(shí)處。第二個(gè)問(wèn)題他和我說(shuō)就是開(kāi)會(huì)討論,最后大家群體決定。我對(duì)他第一個(gè)問(wèn)題感到很滿(mǎn)意,因?yàn)槲揖托枰@樣的同事,第二個(gè)問(wèn)題我給了他一個(gè)建議,其實(shí)在很多時(shí)候,將別人的架構(gòu)設(shè)計(jì)的優(yōu)點(diǎn)融入到自己的設(shè)計(jì)中,不再以方案作為邊界,那么大家最終就很容易達(dá)成一致,因?yàn)槟阍诮邮軇e人的思想時(shí)其實(shí)能夠看到自己的不足,同時(shí)對(duì)待別人不是用否定的態(tài)度,會(huì)讓你更容易得到認(rèn)可和接受。(這點(diǎn)作起來(lái)需要不斷的改變程序員自身的好勝個(gè)性,我起碼還是出于變化中

          我記得我小時(shí)候上政治課的時(shí)候,老師給我們劃分了三種人:有能力但是沒(méi)有道德的人是危險(xiǎn)的人,沒(méi)有能力但是有道德的人是對(duì)社會(huì)無(wú)害的人(覺(jué)得像葛優(yōu)說(shuō)的那個(gè)對(duì)社會(huì)無(wú)害的海龜一個(gè)概念),有能力同時(shí)也有道德的人是對(duì)社會(huì)有益的人。我覺(jué)得其實(shí)程序員也就可以從兩個(gè)緯度看:

          1.       有能力,有經(jīng)驗(yàn),對(duì)技術(shù)有追求。

          2.       對(duì)產(chǎn)品化和客戶(hù)沒(méi)有任何感覺(jué)。

          擁有了素質(zhì)1但是沒(méi)有素質(zhì)2,那么最多也就只能說(shuō)是試驗(yàn)室的花朵,在大學(xué)搞搞研究還不錯(cuò),實(shí)際要做出產(chǎn)品來(lái)可能就是紙上談兵,好鋼始終用不到刀刃上,有力沒(méi)地使。

          素質(zhì)1有所欠缺,素質(zhì)2很明晰,對(duì)自己目標(biāo)不斷追求,其實(shí)這樣的人,有時(shí)候笨鳥(niǎo)也會(huì)飛的比聰明的鳥(niǎo)更高。

          擁有12的人,當(dāng)然就是最好的人,只需要學(xué)會(huì)做人那么就可以發(fā)揮自己的能量。(程序員有時(shí)候就是很難改變自己的個(gè)性,去學(xué)會(huì)如何溝通和理解)
                   最后一類(lèi)就是自以為有12的人,這類(lèi)人最怕就是面試的時(shí)候被考官通過(guò),那么后續(xù)的問(wèn)題就大了。

          說(shuō)了怎么多,其實(shí)也無(wú)非想說(shuō)出一個(gè)程序員這些年的經(jīng)歷,從做開(kāi)發(fā)到做基礎(chǔ)平臺(tái),到做業(yè)務(wù)平臺(tái),該怎么踏實(shí)做事,該在什么時(shí)候找到自己的瓶頸,該在什么時(shí)候改變自己的狀態(tài),都需要自己好好的讓自己冷靜下來(lái)想想。做基礎(chǔ)平臺(tái)需要耐得住寂寞,同時(shí)也要知道自己是有客戶(hù)的,服務(wù)不好客戶(hù),那么基礎(chǔ)組件平臺(tái)就是玩具。做業(yè)務(wù)平臺(tái)需要學(xué)會(huì)去分析和溝通,需要去了解每一個(gè)層次的設(shè)計(jì)如何協(xié)作,同時(shí)在兼顧業(yè)務(wù)需求的同時(shí)滿(mǎn)足隱性需求(穩(wěn)定性,可用性,響應(yīng)速度,規(guī)模化等等)。但歸根到底,能給開(kāi)發(fā)人員不斷能量的不是技術(shù)本身,而是你用技術(shù)給你的客戶(hù)帶來(lái)的價(jià)值,對(duì)你的認(rèn)可是長(zhǎng)期做事的一個(gè)最基本的動(dòng)力,因?yàn)楫?dāng)你現(xiàn)在覺(jué)得純做技術(shù)能夠支持你不斷向前走的時(shí)候,其實(shí)在不遠(yuǎn)的將來(lái)你會(huì)體會(huì)到原來(lái)過(guò)程和目標(biāo)是同樣重要的。走出自己的一畝三分地,給自己多一點(diǎn)的空間,會(huì)讓自己看得更遠(yuǎn),走的更高。

          posted on 2009-12-08 00:54 岑文初 閱讀(4248) 評(píng)論(6)  編輯  收藏

          評(píng)論

          # re: 程序員是不是只在乎自己的一畝三分地 2009-12-08 10:37 凡客誠(chéng)品網(wǎng)
          會(huì)讓自己看得更遠(yuǎn),走的更高。
            回復(fù)  更多評(píng)論
            

          # re: 程序員是不是只在乎自己的一畝三分地 2009-12-08 10:58 jollyant
          給開(kāi)發(fā)人員帶來(lái)動(dòng)力的不是技術(shù)本身,而是用技術(shù)給客戶(hù)帶來(lái)價(jià)值!
          以后要向下面這兩個(gè)方向努力了:
          1.有能力,有經(jīng)驗(yàn),對(duì)技術(shù)有追求。
          2.對(duì)產(chǎn)品化和客戶(hù)感覺(jué)強(qiáng)烈。
            回復(fù)  更多評(píng)論
            

          # re: 程序員是不是只在乎自己的一畝三分地 2009-12-08 15:30 叮當(dāng)
          “技術(shù)只要你肯花時(shí)間去學(xué),沒(méi)什么學(xué)不到的”,我想告訴你,真正的技術(shù)是做出來(lái)的,不是學(xué)出來(lái)的。  回復(fù)  更多評(píng)論
            

          # re: 程序員是不是只在乎自己的一畝三分地 2009-12-08 15:39 岑文初
          @叮當(dāng)
          赫赫,技術(shù)是學(xué)習(xí)入門(mén),然后靠實(shí)踐再去推翻或者改進(jìn)已有的知識(shí)體系,作出來(lái)的是實(shí)踐積累,反過(guò)來(lái)影響知識(shí).  回復(fù)  更多評(píng)論
            

          # re: 程序員是不是只在乎自己的一畝三分地 2009-12-09 14:09 ldd600
          看了之后還是有很多感觸的。

          我喜歡客戶(hù)刻薄的需求,本身就是一種挑戰(zhàn)。而且如果你的產(chǎn)品得到客戶(hù)廣泛的使用,本身就是一種成就感,閉門(mén)造車(chē),技術(shù)在先進(jìn),使用不方便,寫(xiě)出的東西沒(méi)人用,那失敗的還是自己。遇到客戶(hù)的抱怨,即使是無(wú)理的,比如使用上錯(cuò)誤,因?yàn)榭蛻?hù)沒(méi)有按照你文檔中寫(xiě)出的方法去做,那就要繼續(xù)深入的了解他為什么不按照文檔提出的步驟去做,很有可能就是你軟件或者框架的使用方法太復(fù)雜了,應(yīng)該簡(jiǎn)化,如約定甚于配置。

          技術(shù)是學(xué)不完的,弄清楚為什么要學(xué)習(xí)它,如果是工作的需要,還要針對(duì)性的了解一部分,適當(dāng)把握深度,不能狂熱的沉迷于其中,什么都想整明白,時(shí)間不允許,只能選緊急的部分掌握。
          出現(xiàn)分歧了,首先應(yīng)該確認(rèn)你自己是否明白對(duì)方的設(shè)計(jì)理念,對(duì)方是否了解了你的想法。然后回答雙方各自提出的質(zhì)疑,駁斥對(duì)方必須要抓住致命的弱點(diǎn),呵呵。最好能找個(gè)小會(huì)議室,兩個(gè)人拿上筆,畫(huà)畫(huà)談?wù)劇?

          我不認(rèn)為什么都要知道了用戶(hù)的需求才去做,用戶(hù)的需求永遠(yuǎn)都在變化,用戶(hù)不一定明白自己想要什么。而且我的客戶(hù)是application的開(kāi)發(fā)人員,他們有時(shí)候上產(chǎn)品會(huì)非常忙,而這段時(shí)間我可能是空閑的,我不能抓著他們?nèi)ラ_(kāi)個(gè)幾個(gè)小時(shí)的需求討論會(huì)。其實(shí)一些技術(shù)上的體系結(jié)構(gòu)在知道用戶(hù)需要做什么之后就可以開(kāi)始設(shè)計(jì)了,而且在你的設(shè)計(jì)的過(guò)程中,你可以把自己假想成用戶(hù),他會(huì)有哪些需求,這樣討論時(shí),你還可以挖掘用戶(hù)的需求。技術(shù)上結(jié)構(gòu)設(shè)計(jì)的好,也可以應(yīng)付用戶(hù)變化的需求,其實(shí)當(dāng)用戶(hù)有緊急需求的時(shí)候,而這時(shí)framework已經(jīng)release了,這時(shí)如果框架層次清楚,可以讓用戶(hù)方便的plugin進(jìn)來(lái),那框架本身就不用為了這個(gè)特殊的需求做任何改動(dòng)。  回復(fù)  更多評(píng)論
            

          # re: 程序員是不是只在乎自己的一畝三分地 2009-12-17 09:19 樂(lè)俊
          敏捷開(kāi)發(fā)提倡 軟件夠用就好!不是一味的最求復(fù)雜!程序員強(qiáng)調(diào)個(gè)人能力的時(shí)代已經(jīng)過(guò)去了!溝通勝于一切!  回復(fù)  更多評(píng)論
            


          只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 清水河县| 尼勒克县| 荣成市| 隆化县| 方城县| 阳江市| 昌图县| 札达县| 温泉县| 咸丰县| 新邵县| 永仁县| 辽宁省| 屯门区| 阿城市| 松江区| 驻马店市| 台中县| 五寨县| 定州市| 喀喇沁旗| 玉龙| 北海市| 桐庐县| 庐江县| 克拉玛依市| 清河县| 通海县| 广饶县| 白银市| 天峨县| 宣武区| 泰宁县| 马山县| 西乌| 哈密市| 庆安县| 孝昌县| 济南市| 惠水县| 贡觉县|