欢乐炸金花下载|快乐炸金花老版本
案例展示 Case
聯系方式 Contact

常州凱銳能源科技有限公司

地址:江蘇省常州市新北區太湖東路9-1號A棟12樓常高新大廈

電話:0519-85280770

傳真:0519-85283100

網址:www.6dzf.com

Email:[email protected]

搜索 Search

在創業公司做架構師,你需要解決哪些問題?

2016-4-12 14:08:17
在創業公司做架構師,你需要解決哪些問題?

在創業公司做架構師,你需要

詳細介紹

河貍家的架構師陳科是千萬技術創業者中的一位,在此之前,他曾在浙江電信、阿里巴巴、華為、58同城任開發工程及架構師等職位。在本文中,作者將分享他加入創業公司后遇到的一些挑戰以及解決方案,主要包括以下七個方面:

  1、項目管理的問題;

  2、業務代碼的問題;

  3、產品需求的問題;

  4、組織協調的問題;

  5、技術選型的問題;

  6、運維方面的問題;

  7、人的問題。

  突然想到一句話,人生若只如初見,找對象如此,在公司干活也是一樣。

  在你加盟一家初創公司的時候,總是豪情萬丈,自信心滿滿,但是問題的出現總是那么的突然,沒有一絲絲防備,創業公司甚至沒有大公司的蜜月期,你就會面臨很多問題。

  首當其沖就是項目管理的問題。

  創業團隊為了追求小快靈的模式,很多時候犧牲了項目本身的科學管理部分,例如項目計劃倒排,任意變更需求,隨意封閉開發加班加點,甚至壓縮測試工期等。

  當然,我們并不是來抱怨問題的,而是想如何更好的解決它,我覺得作為一個技術人員合格素養的一條就是敢sayno。很多問題都是因為畏懼權威,過度承諾導致的。

  另外,也需要尊重科學,重視項目里程碑,杜絕人月神話這類事情的發生。

  我覺得,不管加班也好,砍需求也好,一定要遵守一個原則,就是不能傷害客戶的利益,很多時候我們一味追求糙快猛的工作方式,看起來做了很多事情,其實結果卻是漏洞百出,應付不過來,最終傷害的還是客戶,倒霉的還是你自己!

  推薦大家都好好讀讀Bob大叔的《程序員的職業修養》這本書,特別是前面幾章。在這里介紹下Bob大叔。RobertC.Martin,世界級軟件開發大師,設計模式和敏捷開發先驅,敏捷聯盟首任主席,C++Report前主編,被后輩程序員尊稱為“Bob大叔”。20世紀70年代初成為職業程序員,后創辦ObjectMentor公司并任總裁。Martin還是一名多產的作家,至今已發表數百篇文章、論文和博客,除本書外,還著有《代碼整潔之道》、《敏捷軟件開發:原則、模式和實踐》、《UML:Java程序員指南》等。他最近創辦了cleancoders.com網站,專為軟件開發人員提供教育視頻。

  接下來就是深入業務代碼的問題。

  由于創業公司發展迅速,所以往往會忽略代碼構建的科學性,甚至犧牲和忽略設計的過程,完全需求片段導向,系統可以說是功能點的不停疊加,到最后就算是經驗豐富的超級救火隊員都沒法解救了。

  這時候,很多人就會說,這還不簡單嗎?趕緊重構啊,拆分模塊啊。說實話,畫個幾個框,搞幾個箭頭標注一下數據流向這誰都會,但是具體業務如何建模?

  任何互聯網的業務平臺無非逃不過:會員,賬戶,訂單,支付,營銷,計費等幾大模塊。

  但是重構不是說畫幾個框框搞定的,而是在不脫離你業務顯示情況下的合理設計,例如做營銷,你不能只是簡單構建一個營銷的規則引擎就完事了,也不是做一個抽獎或者優惠券的系統就是把營銷的事情做完了,而是需要去分析:

  從上帝視角(系統整體視角)你的營銷系統擺在什么樣的位置。

  從整體上走通營銷的規則和流程。

  套用目前和未來一段時間內有可能會出現的需求,是否可以在這套模型下可以走通的。

  設計營銷系統本身,站在營銷系統的視角進行建模。

  在設計完營銷系統核心部分后,安排開發工程師進入營銷系統的細節功能點開發,以及周邊系統的接入。

  再例如會員系統,有些有主子賬號的概念,這樣又會影響訂單系統是否需要體現主子賬號的關系,甚至又得影響營銷,我買一送一這樣的活動如何搞,賬單如何體現等等?

  所以,建模和重構沒那么簡單,也不是畫幾個框框就能解決你的問題的,你得深入業務,圍繞業務,并且建模絕對不是技術人員的職責,而是運營,產品,市場,技術等大家都需要達成一致甚至深入理解的。

  推薦大家閱讀下,EricEvans寫的《領域驅動設計:軟件核心復雜性應對之道》一書

  接著是產品需求上遇到的問題。

  你會發現產品經理有時候也不能很好的從產品的整體角度去產品,僅僅只是把業務方的需求過濾和理解了一遍就交給了開發,這樣,你就會遇到很多自相矛盾的業務邏輯,甚至影響到用戶體驗。那么,這個時候你會怎么辦呢?是選擇做鴕鳥把頭埋到沙子嗎?還是選擇幫助產品經理一起來分析呢?

  很多時候,產品經理會抱怨,自己只是個傳聲筒,老板找他,運營找他,市場找他,那么多事情,根本沒法系統性的去梳理產品需求,結果導致需求總是零星的提給開發,結果上線之后漏洞百出。最后背黑鍋的不但是產品經理本人,還有開發和測試,客戶會說,這是什么垃圾技術開發的。另外,老板不了解情況,也會說,花那么多錢,養一個技術團隊,結果開發出了什么鬼?

  我想,在創業公司產品技術部工作,最難的就是產品經理和架構師,架構師需要從產品的角度去審視,去把住命脈,因為這已經是最后一道工序了,不系統性的梳理,那么進入開發就會導致前面的悲劇。

  產品經理也得好好思考,雖然前期會很累,確實事情很多,但是累一次總比你無窮無盡受虐最后導致團隊和老板還有客戶信心喪盡的好。

  另外,難道產品設計真的很難嗎?除了整個業務模式的玩法你跟別人不一樣外,整個產品的形態,其實大多數同類的廠商設計的都是可以互相對標的,比如抽獎怎么玩,你大可以對標一下京東,天貓等產品的玩法,然后結合你自己的特色進行改善。其實我的意思不是叫你去抄襲,而是你要去梳理思路,形成體系化的結構,當你不知道自己怎么弄的時候,可以去借鑒別人,就像讀書,讀的多了自然就會明白些。我想,大多數重運營的APP,其實還都是相似的。

  再接著是組織協調的問題。

  大公司的好處就是各司其職,只要有合理的制度和流程,只要你按照規范操作,傻子都能把任務完成(當然這不是說大公司的員工都是傻子。我這里是說流程和規范的重要性,當然傻子雖然能完成工作,但卻不能成為大牛,同樣,大牛不管在大公司還是小公司,他一樣能成為大牛)。但是,在創業公司卻不是這樣,流程和制度的缺失,導致你會覺得什么都很亂,什么都會有問題,但是你得反過來思考一下,假如什么都好了,還需要你干什么?另外,你加盟創業團隊的初心是什么呢?為什么開頭我要說,人生若只如初見呢?

  其實,亂就是體現你的價值,把你的經驗和優勢發揮出來,梳理清楚流程,該自動化就自動化,不合理的就及早提出改善。其實,管理管理,管理的不僅僅是你的員工,也不只是你自己,你還得需要如何向上管理你的老板,如何跨部門管理其他同事等等。擁有一顆大心臟吧,為什么麥迪成為不了科比這樣的人呢?

  當然,我覺得在協調合作的時候,千萬不能把自己的成就感建立在別人的痛苦之上,一個創業團隊,大家為什么跟你合作,為什么大家要在這個公司,都是和你一樣心存夢想,奉獻自己,不是只有你一個人是最偉大的。是人總會犯錯,你要理解別人,嚴于律己,寬以待人。我覺得華為價值觀里有一條非常好,贏則舉杯相慶,敗則拼死相救。而不是你贏了還黑隊友,你敗了在責怪隊友。時刻心存感恩,感恩你的同事,感恩你的下屬,感恩你的伙伴。只有這樣,你的事業才有可能長久,否則就算事業成功了,你失去了一群幫助過你的人,你覺得這真的是你想要的嗎?

  再談談技術選型約束的問題。

  很多創業項目為了圖快和省事,在開發過程中甚至沒想清楚為什么,就隨意從網上下載別人的代碼和組件,然后寫出來的代碼五花八門,比如一個web工程,有VO、DO、DAO、DTO、AO、BO、POJO…這么多的概念不把開發給搞成腦殘才怪呢。

  再比如JSON輸出,有手工拼裝的,有fastjson的,有Jackson的,總之市面上有什么同類技術,就會在你的代碼里一一出現。

  當然,我這里不是講你要選擇什么技術,選擇什么框架,選擇什么軟件,而是想說,這種規范和約束性的工作,越早做越好,否則后面重構代價非常大。比如說我們之前的action居然都是servlet手工輸入的,連自動注入都沒法做,后面新人進來就說,你們公司怎么那么垃圾等等,為了解決這個問題,我跟一個哥們合作,光光遷移1000多個servlet,并且完成測試,就花了2個禮拜,另外,主干代碼人家還得提交,后面還得發布前增量merge一次。代價非常大。

  架構,還是需要持續的控制,持續的優化,而不只是等到重構的那個點,否則你會很累,團隊會很累,老板也不滿意,他們會覺得,不是剛剛重構過嗎?為什么你們的系統又不行了?為什么又要停下來讓業務需求停止呢?

  當然,這個事情不是技術驅動那么簡單就可以完善的,還是需要得到你的老板,產品業務方的理解和支持才行。其實架構不是牙膏,擠擠也不一定會有,技術和業務好比公司前進的兩條腿,缺一條都不行。其實再怎么業務導向的公司,技術其實還是很重要的,比如很多重運營的公司,假如沒有牛逼的運營支持系統來提高運營生產效率的話,人力成本是很龐大的。而且都是完成手工點擊裝備的低價值工作,還看不到運營的效果是什么樣子的。

  架構,其實有時候還是和權利有那么點關系的,你既要讓架構師干活,而且要出規范,讓系統工作的更好,卻不給架構師明確的權利和約束的職責,有些事情屁股決定腦袋,業務,需求,老板,隨時都可以否決你的建議,屁股決定腦袋,很多時候真的是一條鐵律。

  再接著是運維方面的問題。

  現在很多公司都上了云,比如阿里云騰訊云,所以,很多同學都會覺得運維省事了,沒什么挑戰了。但是恰恰相反,這是墨菲定律的反定律,越是你覺得沒問題的地方,越會出現問題。因為人家可以幫助你維護硬件,維護機器,甚至維護中間件,數據庫。但是沒法幫助你維護你的業務,也沒法幫你優化性能的瓶頸。

  另外,現在有很多第三方的公司和服務,做了很多運維支撐監控,錯誤排查等服務和工具,假如你的業務發展速度飛快,運維跟不上,你也可以先期使用這些服務來快速定位線上問題,等后期業務發展壯大了,再慢慢發展你的運維團隊,招人永遠是個大問題,但是我們不能因為這個問題就面露難色,天助自助者呀!

  同時,一定要提倡人人都是運維的理念。試想,你自己寫的代碼,你居然都不知道哪里出了問題,線上到底是什么情況引發的問題,這是多么可怕的事情呀。

  不是說上了云,你的系統就不出問題高枕無憂了!很多中間件,甚至一些基礎組件,因為貼合你的業務,還是你自己開發的,它們的運維成本并不比維護機器更低。

  最后,再談談人的問題。

  其實,前面講的這些最終都可以歸結為人的問題,或者說不管大公司還是小公司,人的問題才是最本質的問題,天下熙熙皆為利來,天下攘攘皆為利往!

  首先你得解決內部溝通的問題,如何溝通,如何平等溝通,特別是創業團隊,大家為什么會選擇加盟你,為什么又會選擇離開你?這是很科學嚴肅的問題。很多創業團隊就會犯類似錯誤,把人當做工具使,不行就換,再不行繼續招聘。

  他們從來不想如何培養內部人員,如何讓內部人員的效能最大化。天助自助者,假如你自己都沒法救你,還指望別人來救你?

  其次是招聘的問題,很多公司都缺人,都缺牛人,但是他們缺從來沒有認真科學的理性分析,我為什么要招人?我要找什么樣的人。我可以負責人的說,很多公司都是在憑感覺招人,盯著簡歷憑感覺撞大運!

  最近遇到好幾個創業公司的CEO,都說缺人,需要架構師,但是他們自己卻說不清楚招聘進來架構師能解決他們什么問題,是技術問題?還是業務問題?太可怕了。其實這不僅是對自己不負責,也是對別人不負責。人進來不僅僅是短期能否解決你的問題,還得長期關注別人在你這里獲得什么,找到合適的人是雙贏,否則就是雙輸。

  你真的得想清楚,你是想要找的這個人能做成什么事情,還是看重這個人看起來曾經做過什么事情,這可是有本質的區別的,因為這恰恰決定了你招聘的態度,這是個嚴肅的話題,而不是你撞大運的行為!

  另外,很多時候,你第一個招進來的技術負責人會決定后面人員的素質,屁股決定腦袋,牛人跳槽也不希望找個二逼管著自己,就像蔡振華管中國足球,就是個笑話,所以,當你和一個大牛把酒言歡,暢談一番覺得這個人板上釘釘能加盟你的時候,卻在關鍵時刻放你鴿子,你就該反省,為什么你的團隊沒法讓大牛加盟了。

  也許大公司招人只是為了壟斷人才市場,形成人才資源的行業壁壘,但是創業團隊不能這么干,否則,遲早你會身敗名裂,找不到任何一個人。

  接下來就是人才培養的問題了,一個人進來之后,人家為什么選擇在你創業的階段加入你?你是否對這個員工具有感恩的心,人家幫你成長了,你是否愿意幫助人家呢?每個人都會在一家公司遇到階段性的瓶頸,在這個時候,你是一腳把人踢了,還是樂意抱著感恩的心,來給人家成長的機會呢?因為任何一個人,在一段時間內,總有被榨干的時候。感恩的心,不只是對別人,也是對你自己!

  最后,就是成就感的問題了,假如工作天天都是上面指派,每天都是機械的處理指令,我想,任何有想法的人干不上幾個月就得離職。當然這個也得看你的團隊是否足夠精英,假如是組建精英團隊的思路,就不會出現這樣的情況,但是假如你的團隊只是局部精英,你就得考慮如何保證精英人才的成就感問題,而不只是機械的向他們傳遞指令,否則…。。

  講了那么多,我是想說,當你豪情萬丈打算加盟一家創業公司的時候,今日長纓在手,何時縛住蒼龍?卻在進入一家創業公司之后,發現這樣那樣的問題,請你耐心,細心,愛心的去解決。而不只是抱怨。

  創業不簡單,加盟一家創業公司也不簡單,請你認真對待你的人生和你的家人。并不是每一個人都適合在創業公司工作的!

更多圖片
欢乐炸金花下载 万达信息股票 紫金矿业股票分析 如何研究股票指数 大学生2000元能炒股开户买股票 今日股票推荐怎么选 今日股票推荐网 股票融资l鑫配资 股票配资论坛b互利计划 000007股票行情 高中生炒股赚7200万