美國一位資深的flash/前端工程師john nance發表了一篇名為「never trust a programmer」,其中討論了許多開發人員面臨的最大挑戰之一:如何與客戶或者公司內的銷售部門協商專案估算。全文如下(譯文經過csdn編輯校訂):
程式設計對很多人來說有點神秘。這就造成了在公司內部,人們對程式設計的事情產生了很多懷疑和疑惑。 通常,當你不了解乙個東西是怎樣做成的時,你只能說:可能是這樣吧。 如果你從沒見過工地,你也許會認為幾個星期就能建出一棟大樓。 事實上,在這樣的時間內是可以完成這棟建築的,只是能不能用就不知道了。 如果你看過房子如何建造,跟蹤它的建造過程,你能從物理實物看到地基如何澆灌,鋼架結構如何搭成,等等。 但給電腦編寫程式,或建設乙個**卻是不可見的。
除了程式設計師外,程式**對其他人來說是接觸不到的。程式的執行好像是大幕後發生的魔術戲法。 只有開發團隊的成員才能知道程式是什麼,怎麼工作的,不能幹什麼。 從程式設計師的角度看問題,你就能得到最好的開發結果、專案評估資料和進度更新。 很多的a型性格的人對此不以為然,但事情並沒有那麼簡單。
當客戶提出他們想要什麼東西,而且要在什麼時候完成時,問題就開始出現了。 銷售人員希望做成這筆交易。拜託,請告訴客戶,他們的想法不現實,這個生意做不了。 這樣做下去只能導致一場災難。 我曾看見過銷售部門把估算的工期消減一半,四處花錢去達成他們的銷售,完成他們的任務。 直到最後有一天,事情的發展看起來都是程式設計師的錯造成的。他們這樣做結論是因為程式設計師是最容易責備的。
程式設計師們在學校裡沒有學過辦公室政治學。他們應該學,當然這是另外乙個話題了。 作為乙個程式設計師,他需要集中精力,沉著的思考,去開發出清晰好用的程式。這是個困難的事,需要用去你全部精力。 程式設計師們沒有時間去理會是誰背後給了自己一刀。可銷售部門玩的這些把戲卻有嚴重的後果。
我的前乙個公司,乙個百萬美元的專案,熱熱鬧鬧的,像煙火一樣,短暫的光華後就落地地上了。 什麼原因?是這個公司指使程式設計師們每週工作70小時以上去完成客戶專橫的進度表導致的?還是銷售部門對客戶言聽計從導致的?
我也不認為開發人員沒有任何責任。如果你看過電視劇集seconds from disaster(csdn編者注:美國國家地理頻道的乙個系列節目,講述了各種人為和自然災害),你會明白,災難的發生是一群人都沒有做自己該做的事情導致的。 但是,我可看見程式設計師們都在做他們自己的工作。而其他人都在幹什麼呢?
那麼,公司是怎麼認為的?他們解雇或開除了所有的程式設計師。然而整個銷售部卻沒事。 這次慘敗的死亡之旅後,也沒人願意留在那裡了。
程式設計師被打入地獄的過程都是有乙個個的「遵命」鋪就的。 為了對得起自己,對得起自己的職業,程式設計師應該警惕那些危險的事情。 評估分析,評估工作通常會花掉很多的精力。據我所知,這個比任何事情都要費神,它需要你從多個層面去考慮整個事情。 不幸的是,我曾親身經歷優秀的評估報告被駁回或修改。 評估的越符合實際,招惹的眾議越多。
把符合實際的預期報告告訴使用者是個困難的事情。這會使生意的成交增加困難。 程式設計師在承擔其他人冒險的後果。程式設計師的工作從來不輕鬆。 事實上,程式設計師是乙個公司裡對這個事情看的最清楚的人。他們懂編碼,知道需求業務。他們也許不善於和客戶打交道,但他們卻真正知道專案應該怎麼做。
重視你們的程式設計師。他們不僅僅是個技工,他們也是懂業務的。 他們能憑藉自己的經驗判斷出,是誰在為了留住客戶而胡亂誇下海口。
其實,只要在這個行業裡工作了一段時間的人都會有類似的感受。大多數的程式設計師與銷售人員比起來,與社會接觸較少,遠沒有像銷售人員一樣練就一身鋼筋鐵骨,他們往往不夠強硬、太過善良,在對待一些事情的處理上不夠積極,他們把太多的精力與時間都投入到了他們的程式世界中。可是,他們究竟應不應該這麼做呢?
我在自己的工作中也曾經不止一次地遇到過類似的問題,每次事情過後,我都會覺得自己當時的表現不夠好,可是,下一次還是不可避免地犯了同樣的錯誤,也許是天性使然,也許是所受刺激不夠,但這不得不說是乙個很爛的藉口。競爭無處不在,顯然,我沒能在競爭中好好地表現自己。我知道,我必須改變我的一些想法和做法,但這的確不是一件容易的事。
這其中,很重要的乙個因素是,老闆並不真正了解程式設計,銷售人員也是如此,確切地說,他們對乙個專案是如何開發的連基本概念都沒有,所以,他們更加不知道這個專案的實現究竟有著怎樣的難度,需要多少人月,這不能責怪boss和銷售們,畢竟他們有他們需要考慮的問題,但是,這就直接導致溝通上的障礙,如何讓乙個完全不懂程式設計的人了解到開發乙個專案需要什麼資源,也許是每乙個程式設計師需要具備的能力。
另乙個重要的因素是,老總、銷售、開發,三者的立場並不是那麼完全一致,所以矛盾總是不可避免的,所以,有時,必要的強硬不僅僅是對程式設計師自己負責,更是對銷售和boss負責,但是,這樣的初衷究竟該如何表達和操作才能收到證明的效果而不是給自己製作麻煩呢?這是乙個問題。
上述的問題我無法給出乙個好的答案,也許是我的從業經驗還太少,真的很希望能夠聆聽前輩的教誨。我想,解決問題的核心應該還是信任吧,三者間的彼此信任也許才是解決這個問題的唯一途徑。可是,信任又該如何建立呢,尤其作為乙個女性程式設計師,獲得信任同樣不是一件輕而易舉的事情。
我知道,做任何一種職業都不容易,我也希望能夠在這個行業裡一直做下去,所以,必須讓自己變得更加優秀才行,這不僅僅是在技術上,同時也在為人處世上和競爭生存上。
沒有人想成為被淘汰者。
希望行業內所有的兄弟姐妹們都能夠在自己的路上順順利利。
沒人相信程式設計師
美國一位資深的flash 前端工程師john nance發表了一篇名為 never trust a programmer 其中討論了許多開發人員面臨的最大挑戰之一 如何與客戶或者公司內的銷售部門協商專案估算。全文如下 譯文經過csdn編輯校訂 程式設計對很多人來說有點神秘。這就造成了在公司內部,人們...
沒人把程式設計師當回事兒
程式設計對很多人來說有點神秘。這就造成了在公司內部,人們對程式設計的事情產生了很多懷疑和疑惑。通常,當你不了解乙個東西是怎樣做成的時,你只能說 可能是這樣吧。如果你從沒見過工地,你也許會認為幾個星期就能建出一棟大樓。事實上,在這樣的時間內是可以完成這棟建築的,只是能不能用就不知道了。如果你看過房子如...
程式設計師何苦為難程式設計師
職場上有很多辛酸事,很多合夥人出局的故事,很多技術骨幹被裁員的故事。說來模板都類似,曾經是名校畢業,曾經是優秀員工,曾經被領導表揚,曾經業績突出,然而突然有一天,因為種種原因,被裁員了,想申訴,想求解釋,結論是,能力不匹配,未能與企業一起成長云云。這有兩說,一說是企業冷血,卸磨殺驢,嫌棄老人成本太高...