黃勇,從事近十年的 JavaEE 應(yīng)用開發(fā)工作,現(xiàn)任阿里巴巴公司系統(tǒng)架構(gòu)師招驴。對(duì)分布式服務(wù)架構(gòu)與大數(shù)據(jù)技術(shù)有深入研究,具有豐富的 B/S 架構(gòu)開發(fā)經(jīng)驗(yàn)與項(xiàng)目實(shí)戰(zhàn)經(jīng)驗(yàn)枷畏,擅長(zhǎng)敏捷開發(fā)模式别厘。國(guó)內(nèi)開源軟件推動(dòng)者之一,Smart Framework 開源框架創(chuàng)始人拥诡。熱愛技術(shù)交流触趴,樂于分享自己的工作經(jīng)驗(yàn)。著有《架構(gòu)探險(xiǎn)——從零開始寫Java Web框架》一書渴肉。
我的十年技術(shù)之路
和大家介紹下我目前所從事的工作冗懦。
我目前從事分布式服務(wù)架構(gòu)的設(shè)計(jì)與開發(fā)工作,在阿里的大數(shù)據(jù)平臺(tái)上進(jìn)行應(yīng)用程序開發(fā)宾娜。我們整個(gè)系統(tǒng)架構(gòu)采用了“前后端分離”的思想批狐,前端關(guān)注數(shù)據(jù)展現(xiàn),后端關(guān)注數(shù)據(jù)生產(chǎn)前塔,通過 REST服務(wù)將前后端整合起來(lái)嚣艇,所有的應(yīng)用都是無(wú)狀態(tài)的,可以做到水平擴(kuò)展华弓。我們將整個(gè)系統(tǒng)拆分成許多“微服務(wù)”食零,服務(wù)之間通過統(tǒng)一的接口來(lái)調(diào)用,每個(gè)服務(wù)是通過容器技術(shù)進(jìn)行隔離寂屏,此外服務(wù)可發(fā)布到統(tǒng)一的服務(wù)管理平臺(tái)上贰谣,可通過該平臺(tái)監(jiān)控每個(gè)服務(wù)的運(yùn)行狀態(tài)與生命周期事件娜搂,并為服務(wù)調(diào)用者提供了服務(wù)發(fā)現(xiàn)的能力,可對(duì)服務(wù)進(jìn)行平滑升級(jí)吱抚。
阿里有許多優(yōu)秀的中間件與基礎(chǔ)服務(wù)百宇,可以快速幫助我們搭建應(yīng)用系統(tǒng),而且這些技術(shù)在阿里內(nèi)部全是開源的,大家可以通過源碼和文檔學(xué)習(xí)到很多有價(jià)值的經(jīng)驗(yàn)。阿里也提供了濃厚的技術(shù)氛圍也殖,每位同學(xué)都非常專注于自己的工作領(lǐng)域,大家對(duì)工作一絲不茍啄刹,相互配合,方向一致凄贩。
我是如何走上技術(shù)這條路的誓军?
2006 年大學(xué)畢業(yè),我離開了母校武漢理工大學(xué)疲扎,在院長(zhǎng)薛勝軍老師的推薦下昵时,我來(lái)到了上海,這個(gè)對(duì)于我來(lái)說非常陌生的地方评肆。我有幸加入了一家名為“動(dòng)量軟件”的創(chuàng)業(yè)公司债查,這家公司的老板曾經(jīng)是亞信科技的 CTO,他也是普元軟件的創(chuàng)始人兼 CTO瓜挽,他的名字叫黃柳青盹廷,他也是薛老師的大學(xué)同學(xué)。于是就這樣久橙,我的老板成為了我的老師俄占,我習(xí)慣叫他黃老師,包括公司其他資深的同事也成為了我的老師淆衷,因?yàn)槲液芟胨麄兩砩蠈W(xué)到更多有價(jià)值的東西缸榄。
剛開始工作的時(shí)候我學(xué)習(xí)了什么是云計(jì)算?什么是 SaaS祝拯、PaaS甚带、IaaS?我們花了三年時(shí)間開發(fā)了一款名為 ODE 的 PaaS 平臺(tái)佳头,讓用戶可以在該平臺(tái)上量身定制自己的軟件鹰贵,最終為客戶提供基于 SaaS 的產(chǎn)品。確實(shí)很驕傲康嘉,那時(shí)我們已經(jīng)在做云了碉输,只是沒想到后來(lái)云會(huì)在中國(guó)得到這么好的市場(chǎng),可能當(dāng)時(shí)只有黃老師一個(gè)人想到了吧亭珍。
在 2008 年敷钾,我為公司拿回了“第一桶金”枝哄,這也是我從程序員轉(zhuǎn)向項(xiàng)目經(jīng)理的里程碑。當(dāng)時(shí)我?guī)ьI(lǐng)團(tuán)隊(duì)遠(yuǎn)赴深圳阻荒,為國(guó)信證券公司開發(fā)經(jīng)紀(jì)人管理系統(tǒng)挠锥,這個(gè)項(xiàng)目對(duì)于我個(gè)人而言卻是一筆至高無(wú)上的財(cái)富,我開始學(xué)習(xí)如何與人打交道侨赡,如何做需求分析瘪贱,如何將需求轉(zhuǎn)變?yōu)榧夹g(shù),如何帶領(lǐng)團(tuán)隊(duì)小伙伴一起工作辆毡。學(xué)到了太多太多,但我依然選擇在我工作第四個(gè)年頭里離開了動(dòng)量軟件甜害,我剛加入動(dòng)量軟件的時(shí)候舶掖,公司只有 5 個(gè)人(包括老板和前臺(tái)),當(dāng)我離開動(dòng)量軟件的時(shí)候尔店,公司已經(jīng)有 200 人左右了眨攘。感謝黃老師!我在他身上學(xué)到了很多嚣州,他的思想和態(tài)度直到今天都還在影響著我鲫售。
我的第二份工作還是選擇了我最熟悉的證券金融行業(yè),同樣也是一家創(chuàng)業(yè)型公司该肴,在這家公司里我擔(dān)任了技術(shù)經(jīng)理情竹,管理了整個(gè)技術(shù)團(tuán)隊(duì),從項(xiàng)目的售前到售后匀哄,我都親自帶領(lǐng)團(tuán)隊(duì)來(lái)完成秦效。雖然在這家公司我只做了兩年,但在這短短的時(shí)間里涎嚼,我學(xué)會(huì)了如何提高開發(fā)效率阱州、如何培養(yǎng)技術(shù)團(tuán)隊(duì)、如何選拔技術(shù)人才法梯、如何建立企業(yè)文化苔货。但最后我發(fā)現(xiàn)了一個(gè)問題,越是想做好立哑,越是很難做好夜惭,為了做成一件事情需要做很多的嘗試,做事情缺乏正確并有效的方法刁憋。
回想我工作的前六年時(shí)間里滥嘴,我一直都是在創(chuàng)業(yè)公司里成長(zhǎng),雖然可以快速學(xué)到東西至耻,但似乎很難學(xué)到更加規(guī)范的做事方法若皱。于是我選擇了新的工作機(jī)會(huì)镊叁,來(lái)到了 TCL 通訊,這是一家相當(dāng)大的公司走触,公司的研發(fā)管理流程來(lái)源于法國(guó)阿里卡特公司晦譬。我在公司擔(dān)任 Java 架構(gòu)師職位,也算是整個(gè) Java 團(tuán)隊(duì)的技術(shù)負(fù)責(zé)人互广,雖然團(tuán)隊(duì)并不是特別地大敛腌。我在這家公司做了三年,學(xué)到了如何整合現(xiàn)有資源惫皱、如何按標(biāo)準(zhǔn)流程去做事、如何設(shè)計(jì)系統(tǒng)架構(gòu)旅敷、如何進(jìn)行異地工作、如何跨團(tuán)隊(duì)工作涂滴、如何用英文來(lái)溝通晴音。說實(shí)話,當(dāng)時(shí)我沒有任何的工作壓力锤躁,可以按時(shí)上下班,從來(lái)都不會(huì)加班系羞。雖然自己空閑的時(shí)間很多加缘,但我并沒有選擇去浪費(fèi)時(shí)間,而是開始寫點(diǎn)技術(shù)博客觉啊,也正是因?yàn)檫@些技術(shù)文章拣宏,才改變了我后續(xù)的職業(yè)發(fā)展道路。
我清楚的記得杠人,那是在 2013 年 9 月 1 日勋乾,我在開源中國(guó)(oschina.net)網(wǎng)站發(fā)表了我人生的第一篇博文 《Smart Framework:輕量級(jí) Java Web 框架》,這篇文章影響了我后續(xù)兩年嗡善。其實(shí)說句心里話辑莫,當(dāng)我第一次寫這篇文章時(shí),我心里是沒底的罩引,這個(gè)框架只是根據(jù)自己的理解做出來(lái)的一個(gè)設(shè)想各吨,當(dāng)時(shí)甚至連一行代碼都沒寫過。我的想法是先將這個(gè)思想發(fā)表出來(lái)袁铐,讓大家討論起來(lái)揭蜒,我會(huì)做一個(gè)決策横浑,然后再親自做具體實(shí)現(xiàn),最后我會(huì)將實(shí)現(xiàn)過程通過博文的方式展現(xiàn)給大家屉更,后續(xù)大家會(huì)對(duì)我的實(shí)現(xiàn)進(jìn)行點(diǎn)評(píng)徙融,我會(huì)基于大家的建議進(jìn)行改善。整個(gè)開源過程正好與敏捷的思想是一致的瑰谜,有效溝通欺冀、小步快跑、擁抱變化萨脑、不斷改進(jìn)渤早。
也許就是我的技術(shù)文章吸引了很多廣大讀者蛛芥,這里面不排除想邀請(qǐng)我加入的其它公司仅淑。我在 2014 年離開了 TCL 通訊涯竟,加入了易傳媒庐船。為什么我要放棄如此舒適的工作環(huán)境筐钟,去加入一家還在不斷拼搏的企業(yè)呢篓冲?其實(shí)我看到的是未來(lái)互聯(lián)網(wǎng)的發(fā)展趨勢(shì)壹将,廣告程序化交易以及廣告與大數(shù)據(jù)的結(jié)合诽俯,未來(lái)最值錢的一定是數(shù)據(jù)暴区。抱著這樣的信心颜启,我加入了易傳媒涌萤,擔(dān)任系統(tǒng)架構(gòu)師職位负溪。當(dāng)時(shí)易傳媒正處于技術(shù)轉(zhuǎn)型的初期川抡,需要將 .Net 全部遷移到 Java崖堤,這件事情對(duì)于我而言是非常有挑戰(zhàn)的密幔。我的做法是:第一步定義開發(fā)規(guī)范與流程胯甩,第二步培養(yǎng)核心技術(shù)人員偎箫,第三步分階段進(jìn)行改造淹办。僅半年時(shí)間娇唯,我們所有的產(chǎn)品成功地遷移到了 Java 平臺(tái)塔插,結(jié)果出乎大家的想象想许。公司市場(chǎng)也非常不錯(cuò)糜烹,產(chǎn)品得到了業(yè)界的認(rèn)可疮蹦,訂單數(shù)源源不斷愕乎,大家每天都很忙碌感论,但卻很開心比肄。而易傳媒的“易家人”企業(yè)文化芳绩,讓我所感動(dòng)妥色,不管是核心技術(shù)部門還是其它支持性部門,大家就像一家人一樣丁稀,你的事情就是我的事情线衫。
直到 2015 年初授账,阿里巴巴與易傳媒建立了合作關(guān)系白热,兩家公司進(jìn)行了深度合作,易傳媒公司與阿里媽媽事業(yè)部進(jìn)行了整合,新阿里媽媽從此誕生了焕数,于是我也成為了阿里巴巴的一員,目前負(fù)責(zé)阿里媽媽大數(shù)據(jù)品牌營(yíng)銷產(chǎn)品的系統(tǒng)架構(gòu)工作设联。就在兩家公司整合的過程中雕拼,我完成了人生中的處女作《架構(gòu)探險(xiǎn) —— 從零開始寫 Java Web 框架》這本書啥寇,目前該書正在各大網(wǎng)上書店售賣辑甜,我真心希望這本書能對(duì)一些想成為架構(gòu)師的程序員們有所幫助磷醋,由于我個(gè)人水平有限邓线,又是第一次寫書,寫得不好的地方還請(qǐng)大家多多包涵瑰抵。
上面提到婿崭,寫博客給我?guī)?lái)的收獲頗多氓栈,那么我來(lái)分享下技術(shù)人如何寫博客颤绕,又應(yīng)該以怎樣的態(tài)度對(duì)待奥务。
我認(rèn)為技術(shù)人員寫博客需要注意以下幾點(diǎn):
思路要清晰氯葬,文章要有明確的大綱與標(biāo)題帚称。
對(duì)于實(shí)戰(zhàn)類型的文章闯睹,需要分步驟來(lái)描述始花。
多用短句酷宵,少用長(zhǎng)句浇垦,能一句話說明白男韧,就不用兩句話此虑。
對(duì)于不太好理解的內(nèi)容寡壮,最好能打比方來(lái)說明。
文章末尾需要有總結(jié)组民,用最精辟的語(yǔ)言歸納出這篇文章的主要內(nèi)容臭胜。
寫博客首先是對(duì)自己所學(xué)知識(shí)的一個(gè)總結(jié)乱陡,此外憨颠,也為其他讀者提供了很好的教程爽彤,知識(shí)得到了廣播與傳遞适篙。
技術(shù)一條不歸路嚷节,選擇了這條路從未有過放棄的想法丹喻。
做了十年的技術(shù)碍论,我從來(lái)都沒有放棄過它鳍悠,相反,我非常熱愛它蠢挡,因?yàn)槲乙恢币詠?lái)都很喜歡學(xué)習(xí)凳忙,希望能學(xué)到更多的東西勤家,這樣遇到了具體的技術(shù)問題伐脖,可以隨時(shí)從自己積累的知識(shí)庫(kù)中找到最佳的解決方案。此外绎巨,目前我在公司雖然不怎么寫代碼了,但我還是會(huì)利用自己工作閑暇之余寫一點(diǎn)開源項(xiàng)目或者代碼框架等介汹。
工作過很多大大小小的公司窗价,那么公司最值錢的東西是什么呢撼港?
我認(rèn)為是實(shí)實(shí)在在做事情的程序員們帝牡。
他們雖然工資不高靶溜,每天坐在位置上敲著代碼,在很多人眼中被稱為“屌絲”或“宅男”个扰,但我認(rèn)為恰恰就是這些人娘香,他們才是公司最有價(jià)值的人烘绽。
他們有自己的理想诀姚,希望能夠通過自己的努力玷禽,從中得到那一點(diǎn)點(diǎn)所謂的成就感矢赁;
他們需要理解產(chǎn)品經(jīng)理真正的意圖撩银,把想法變成現(xiàn)實(shí)够庙,讓產(chǎn)品真正落地耘眨;
他們更容易把握細(xì)節(jié)剔难,而這些細(xì)節(jié)往往決定著產(chǎn)品的命運(yùn)與成敗环鲤;
他們突如其來(lái)的跳槽结闸,對(duì)我們的項(xiàng)目的交付有直接的影響桦锄;
他們?cè)谝黄鸸ぷ鞯臍夥战嵋荏w現(xiàn)技術(shù)公司的文化與底蘊(yùn)。
由此看來(lái)黑毅,對(duì)程序員的重視是相當(dāng)有必要的矿瘦,我們需要關(guān)心每一位程序員的職業(yè)發(fā)展缚去,讓他們?cè)趫F(tuán)隊(duì)里能夠充分地發(fā)揮出自己的能力枕荞。
我們也需要對(duì)他們倍加關(guān)注躏精,挖掘出有能力玉控、肯吃苦、敢擔(dān)當(dāng)?shù)娜耸o他們更多的機(jī)會(huì),讓他們成為技術(shù)領(lǐng)袖穆律。
互聯(lián)網(wǎng)技術(shù)公司需要大量這樣的程序員:
他們是一群有著技術(shù)信仰的人剔蹋,他們是一群熱愛編程的人,他們是一群不解決問題睡不好覺的人矫付;
他們不是打雜的买优,不是外包烘跺,更不是工具;
他們不喜歡被忽悠,不喜歡被冷落伤柄,更不喜歡被驅(qū)動(dòng)绊困;
他們需要尊重,需要培養(yǎng)适刀,更需要激情秤朗!
具體說說程序員需要具備哪些素質(zhì)。
我個(gè)人是這樣理解真正的程序員的:
深愛技術(shù)笔喉,一天不寫代碼手就會(huì)癢取视,就喜歡那種成就感;
為了一個(gè)問題可以廢寢忘食常挚,有時(shí)會(huì)在夢(mèng)中都能寫代碼;
代碼潔癖癥患者锐秦,喜歡優(yōu)雅代碼斤葱,寫代碼就像寫詩(shī)一樣衩茸;
善于分析問題,能快速看清問題的本質(zhì),并動(dòng)手解決它;
喜歡研究?jī)?yōu)秀源碼姥芥,學(xué)習(xí)大師的杰作台囱,善于歸納與總結(jié)煎楣;
有自己的開源項(xiàng)目或技術(shù)博客,喜歡學(xué)習(xí),更喜歡分享要糊;
會(huì)關(guān)注技術(shù)圈子的新聞動(dòng)態(tài),時(shí)常會(huì)參加線下技術(shù)沙龍;
知道軟件開發(fā)不是一個(gè)人在戰(zhàn)斗,更需要的是團(tuán)隊(duì)協(xié)作塑陵;
保持良好健康的心態(tài)嫂沉,用一顆積極向上的心去擁抱變化蚓土。
十年的職場(chǎng)之路堅(jiān)持不易,分享下我的「IT 職場(chǎng)」經(jīng)驗(yàn)。
時(shí)光飛逝,我事業(yè)中第一個(gè)十年已然結(jié)束了基公。在這十年里骂租,讓我收獲了很多互站,跟大家分享一下我在 IT 職場(chǎng)方面的一些個(gè)人經(jīng)驗(yàn),不一定對(duì)每個(gè)人都實(shí)用冤今,請(qǐng)大家僅作參考吧桐磁。
大家既然都是做技術(shù)的看峻,那我們不妨先從技術(shù)這個(gè)話題開始說起吧摹芙。我要與大家分享的第一點(diǎn)經(jīng)驗(yàn)就是:
1.把技術(shù)當(dāng)成工具
技術(shù)這東西挣轨,其實(shí)一點(diǎn)都不神秘鞭铆,它只不過是一個(gè)工具,用這個(gè)工具可以幫助我們解決實(shí)際問題,就這么簡(jiǎn)單详囤。
我們每天在面對(duì)技術(shù),市面上也有很多技術(shù),真的沒有必要把這些技術(shù)都拿過來(lái)學(xué)習(xí)一遍揩抡,然后想辦法找個(gè)場(chǎng)景去應(yīng)用它副瀑。如果真的這樣做了,那么只能說明技術(shù)不是工具,而是玩具堤魁,技術(shù)不是這樣玩的瓢剿。
我們應(yīng)該從另一個(gè)角度來(lái)看待技術(shù),不妨從自己的實(shí)際工作環(huán)境出發(fā),現(xiàn)在需要什么,我們就學(xué)什么,而不要漫無(wú)目的的追求一些新技術(shù)。當(dāng)然劫恒,對(duì)于新技術(shù)還是需要有所關(guān)注的,至少需要知道這個(gè)新技術(shù)是干什么用的,而且還要善于總結(jié)杠园,將有價(jià)值的技術(shù)收集起來(lái)吼虎,以備將來(lái)使用乏德,當(dāng)需要使用的時(shí)候再來(lái)深入研究撤奸。
人的精力是有限的,人的生命也是短暫的喊括,要善于利用自己的時(shí)間胧瓜,合理地學(xué)習(xí)技術(shù)。
不要把技術(shù)看得那么重要郑什,別把它當(dāng)回事兒府喳,把它當(dāng)工具就行了,它就像我們寫字的筆一樣蹦误,用鉛筆能寫字劫拢,用鋼筆一樣能寫字。
作為一名技術(shù)人員强胰,除了學(xué)習(xí)與應(yīng)用技術(shù)以外,還需要為自己做一個(gè)正確的職業(yè)規(guī)劃妹沙,清晰認(rèn)識(shí)自己究竟屬于哪種技術(shù)人才偶洋,是技術(shù)專家類型的,還是技術(shù)管理類型的距糖。路到底該怎么走玄窝?需要自己做出決定牵寺。
在我們職業(yè)路線上,最重要的人莫過于老板(我指的老板可以是公司大老板恩脂,也可以是自己的頂頭上司)帽氓,對(duì)待自己的老板,我也有一些經(jīng)驗(yàn):
2.把老板當(dāng)成情人
大家應(yīng)該非常清楚俩块,情人是需要浪漫的黎休,浪漫是需要驚喜的。老板其實(shí)跟情人一樣玉凯,也是需要驚喜的势腮。我們做下屬的,要懂得找到合適的機(jī)會(huì)給老板帶來(lái)驚喜漫仆。我們跟情人談情說愛捎拯,這是一種很好的溝通方式,可別忽略了跟老板“談情說愛”盲厌,我們需要與老板保持良好的溝通署照,這種溝通并不僅僅是溜須拍馬。
講一個(gè)真實(shí)的故事吧吗浩。記得曾經(jīng)我的一位同事藤树,技術(shù)非常好,做東西非惩孛龋快岁钓,質(zhì)量也很高,同事們都覺得他是牛人微王,但他從來(lái)都不懂得在老板面前表現(xiàn)自己屡限,老板也只是覺得他是可以做事的,但升職加薪的事情往往總是不會(huì)優(yōu)先考慮他炕倘。
大家很定會(huì)問:怎樣在老板面前表現(xiàn)自己呢钧大?其實(shí)方法有很多,由于篇幅有限罩旋,我先提供三招吧:
第一招:在給老板做程序演示的時(shí)候啊央,不要只是單純的演示,不妨先用一個(gè) PPT涨醋,簡(jiǎn)單表達(dá)一下自己的解決方案瓜饥,然后再做演示,這樣效果會(huì)好很多浴骂。老板會(huì)認(rèn)為自己是花了心思的乓土,是想把事情做得更好的。
第二招:把自己每天的工作簡(jiǎn)單記錄一下,每周匯總一次趣苏,以郵件的形式發(fā)送給老板狡相,讓老板知道自己每天在做什么。每月寫一篇本月工作總結(jié)與下月工作計(jì)劃食磕,同樣發(fā)郵件給老板尽棕。年底可以寫一個(gè)年終工作總結(jié),打印出來(lái)彬伦,悄悄地放在老板的桌子上滔悉。
第三招:借匯報(bào)工作為理由,定期請(qǐng)老板出去吃飯媚朦,制造面對(duì)面單獨(dú)溝通的機(jī)會(huì)氧敢。在談話過程中,強(qiáng)調(diào)自己愿意幫助老板分擔(dān)工作壓力询张。
對(duì)待老板其實(shí)很簡(jiǎn)單孙乖,只要能幫他做事,又能讓他開心份氧,他基本上就搞定了唯袄。老板搞定了,自己的職業(yè)發(fā)展才會(huì)平步青云蜗帜。但千萬(wàn)別忽略了還有一群人恋拷,他們或許是自己的團(tuán)隊(duì)?wèi)?zhàn)友,或許是自己的競(jìng)爭(zhēng)對(duì)手厅缺,沒錯(cuò)蔬顾!他們就是同事。如何處理同事關(guān)系呢湘捎?以下便是我的經(jīng)驗(yàn):
3. 把同事當(dāng)成小孩
處理與同事關(guān)系诀豁,其實(shí)比處理與老板關(guān)系要稍微復(fù)雜一點(diǎn),因?yàn)橥掠卸喾N身份窥妇,他們可以是隊(duì)友舷胜,也可以是對(duì)手。如果大家在一起做同一個(gè)項(xiàng)目活翩,那么這樣的同事就是隊(duì)友烹骨;如果為了競(jìng)爭(zhēng)某個(gè)項(xiàng)目、崗位材泄、資源沮焕,導(dǎo)致同級(jí)別的同事之間發(fā)生利益上的競(jìng)爭(zhēng),那么這樣的同事就是對(duì)手脸爱。
對(duì)于隊(duì)友而言遇汞,要學(xué)會(huì)主動(dòng)給他們提供幫助,讓大家能夠體會(huì)到團(tuán)隊(duì)協(xié)作的氣氛簿废,在一起學(xué)習(xí)空入,在一起成長(zhǎng),在一起分享族檬⊥嵊可以時(shí)常跟大家一起聚餐,買點(diǎn)零食讓大家品嘗单料。
隊(duì)友關(guān)系往往比較好處理埋凯,關(guān)鍵在于自己能否真正懂得去分享。很多技術(shù)人員扫尖,最不愿意的就是分享白对,因?yàn)閾?dān)心自己花了很多精力學(xué)到的知識(shí),分分鐘就被別人學(xué)會(huì)了换怖,自己失去了優(yōu)勢(shì)甩恼。這種心態(tài)最好不要在團(tuán)隊(duì)里產(chǎn)生,這樣只會(huì)讓自己變得越來(lái)越封閉沉颂,越來(lái)越渺小条摸,隊(duì)友們也會(huì)逐漸排擠自己。
對(duì)于對(duì)手而言铸屉,要想辦法讓自己成為他的兄弟钉蒲,告訴他,咱們是兄弟彻坛,應(yīng)該相互幫助顷啼。如果有機(jī)會(huì),可以在老板面前昌屉,當(dāng)著對(duì)手的面钙蒙,夸獎(jiǎng)自己的對(duì)手。做出這樣的行為怠益,其實(shí)并不會(huì)讓老板覺得自己不如對(duì)手仪搔,而會(huì)讓老板認(rèn)為自己在用心去容納對(duì)手。大家在一起工作蜻牢,就是一種緣分烤咧,都是跟老板打工的,真的沒有必要搞得不愉快抢呆。
其實(shí)同事就是自己的小伙伴煮嫌,不妨把他們當(dāng)成是單純可愛的小孩吧,用自己的心去“收買”他們抱虐。
老板與同事昌阿,他們都是公司內(nèi)部的人,不管怎么說,大家都在同一條船上懦冰,大家可以關(guān)上門吵一架灶轰,只要事情能夠解決就行。但對(duì)于我們的客戶而言刷钢,就需要用另外一種方法來(lái)處理好關(guān)系了笋颤。我是這樣認(rèn)為的:
4. 把客戶當(dāng)成病人
客戶有需求,但沒有技術(shù)内地,而我們有技術(shù)伴澄、有經(jīng)驗(yàn)、有產(chǎn)品阱缓,正好可以幫助他們實(shí)現(xiàn)需求非凌,從而提高他們的工作效率,這樣客戶才會(huì)心甘情愿地把錢放入我們的口袋荆针。所以敞嗡,在客戶面前,我們要表現(xiàn)出高超的專業(yè)精神祭犯,不要被客戶牽著我們的鼻子走秸妥,我們?cè)诳蛻裘媲熬褪羌夹g(shù)權(quán)威,就需要這樣的自信沃粗。從服裝粥惧、言行、郵件最盅、文檔等各個(gè)方面突雪,都要做到專業(yè)。
我們打算把自己的產(chǎn)品賣給客戶的時(shí)候涡贱,千萬(wàn)不要一上來(lái)就對(duì)自己的產(chǎn)品夸夸其談咏删,這往往會(huì)讓客戶感到厭煩。我們不妨先告訴客戶问词,他們已經(jīng)“生病”了督函,而且病得不輕,如果不及時(shí)用藥的話激挪,后果將不堪設(shè)想辰狡。也就是說,要讓客戶意識(shí)到自己現(xiàn)在所面臨的困境垄分,讓客戶緊張宛篇,當(dāng)他們正在思考如何應(yīng)對(duì)的時(shí)候,我們?cè)俑嬖V他們薄湿,“藥”已經(jīng)準(zhǔn)備好了叫倍,可以隨時(shí)服用偷卧。
要讓客戶有種雪中送炭的感覺,這樣就對(duì)了吆倦,他們一定會(huì)主動(dòng)了解我們的產(chǎn)品听诸。我們要做到這一切,必須花精力來(lái)分析行業(yè)現(xiàn)狀逼庞,揣測(cè)客戶老板們每天在想什么蛇更。如果有機(jī)會(huì)進(jìn)入客戶所在的公司工作一段時(shí)間瞻赶,相信自己的感受會(huì)更加深入赛糟。
Java 會(huì)在很長(zhǎng)的一段時(shí)間內(nèi)是主流
為什么開發(fā)Java Web都要用框架?
我個(gè)人覺得框架有以下幾點(diǎn)作用:
讓開發(fā)更加高效砸逊,屏蔽底層技術(shù)細(xì)節(jié)璧南,讓開發(fā)人員關(guān)注在具體業(yè)務(wù)上。
框架實(shí)際上也是一種規(guī)范师逸,可以讓每位開發(fā)人員保持同樣的編碼風(fēng)格司倚。
會(huì)使用主流框架的開發(fā)人員,在人才市場(chǎng)上比較好獲取篓像。
現(xiàn)在做Java Web開發(fā)都用哪些框架呢动知?
常用的比如Spring MVC、Struts2 等员辩,國(guó)內(nèi)的 JFinal盒粮、Nutz 等也不錯(cuò),當(dāng)然Smart 也是一個(gè)很好的選擇奠滑。
有一定Web前端開發(fā)經(jīng)驗(yàn)的人丹皱,很多都會(huì)有這么個(gè)想法:那些寫框架的人好厲害,什么時(shí)候我才能寫一個(gè)自己的框架呢宋税?有時(shí)候看看別人的框架代碼摊崭,又覺得很復(fù)雜嗅榕,對(duì)此我有一些建議以及新人學(xué)習(xí)需要什么基礎(chǔ)冈闭?分享一些好的方法。
對(duì)于接觸 Java 不太久的朋友漓概,建議按照以下幾個(gè)步驟來(lái)學(xué)習(xí):
學(xué)習(xí) Java 基礎(chǔ)語(yǔ)法與核心技術(shù)乏屯,包括 Servlet根时、JSP、JDBC 等瓶珊。
熟練使用流行開源框架啸箫,包括Spring、MyBatis 等伞芹。
研究開源框架源碼忘苛,并吸取其中優(yōu)秀的架構(gòu)蝉娜。
此外,在學(xué)習(xí)的過程當(dāng)中扎唾,建議做學(xué)習(xí)筆記召川,最好能通過博客的方式來(lái)記錄自己的收獲。
使用 Python胸遇、Perl荧呐、PHP、Ruby 等腳本語(yǔ)言開發(fā) Web 程序纸镊,跟使用 Java 開發(fā) Web 程序相比有什么不同或者優(yōu)劣倍阐?
前者屬于動(dòng)態(tài)語(yǔ)言,無(wú)需編譯逗威,可通過解釋的方式來(lái)運(yùn)行峰搪,而且 Java 需要首先通過編譯,將源文件轉(zhuǎn)為字節(jié)碼凯旭,且載入 Java 虛擬機(jī)才能運(yùn)行概耻,相對(duì)來(lái)說,Java 對(duì)環(huán)境的要求較高罐呼,但 Java 具備更強(qiáng)的面向?qū)ο竽芰媳4送猓琂ava 還擁有較廣的開源社區(qū)以及流行的開源中間件嫉柴。因此厌杜,如果是做大型系統(tǒng),建議使用 Java 來(lái)開發(fā)差凹,而并非那些腳本語(yǔ)言期奔。
針對(duì) Web,Java危尿、PHP呐萌、Python、.NET 之中未來(lái)發(fā)展前景最好的會(huì)是什么谊娇?
我認(rèn)為 Java 在未來(lái)還會(huì)有一段很長(zhǎng)的路肺孤,需要在語(yǔ)言本身上做到更加輕量級(jí),用最少的代碼來(lái)實(shí)現(xiàn)目標(biāo)功能济欢;PHP 相對(duì)來(lái)說會(huì)比較平穩(wěn)赠堵,它的特點(diǎn)非常突出,上手快且易于開發(fā) Web 項(xiàng)目法褥;Python仍然不會(huì)有太大的用戶群體茫叭;.NET 加入開源社區(qū)太晚,且較 Java 而言并沒有太強(qiáng)的優(yōu)勢(shì)半等,可能會(huì)走下坡路揍愁。
在軟件開發(fā)中有很多的設(shè)計(jì)模式呐萨,也有一些很高冷,談?wù)勎覍?duì)軟件設(shè)計(jì)的理解莽囤,以及讓一些設(shè)計(jì)原則接地氣谬擦。
了解設(shè)計(jì)模式的朋友們,想必都聽說過“六大設(shè)計(jì)原則”吧朽缎。其實(shí)最經(jīng)典的 23 種設(shè)計(jì)模式中或多或少地都在使用這些設(shè)計(jì)原則惨远,也就是說,設(shè)計(jì)模式是站在設(shè)計(jì)原則的基礎(chǔ)之上的话肖。所以在學(xué)習(xí)設(shè)計(jì)模式之前北秽,很有必要對(duì)這些設(shè)計(jì)原則先做一下了解。
GoF(四人幫)狼牺,傳說中的四位大神們羡儿,他們聯(lián)手搞出了一套設(shè)計(jì)模式,堪稱 OOD(面向?qū)ο笤O(shè)計(jì))的經(jīng)典之作是钥!震驚了整個(gè)軟件開發(fā)領(lǐng)域。但這四個(gè)老家伙非常怪異缅叠,總是喜歡顯擺一些高深的理論悄泥,甚至有時(shí)候不說人話,十分讓人費(fèi)解肤粱。
除了最經(jīng)典的六大設(shè)計(jì)原則以外弹囚,還有一些其他的設(shè)計(jì)原則也非常重要。我將盡可能地解釋這些晦澀的理論领曼,希望看完之后鸥鹉,會(huì)讓您對(duì)這些設(shè)計(jì)原則稍微加深一些理解。若有不正確的地方庶骄,懇請(qǐng)大家指正毁渗!
六大設(shè)計(jì)原則
先看一幅圖吧:
這幅圖清晰地表達(dá)了六大設(shè)計(jì)原則,但僅限于它們叫什么名字而已单刁,它們具體是什么意思呢灸异?下面我將從原文、譯文羔飞、理解肺樟、應(yīng)用,這四個(gè)方面分別進(jìn)行闡述逻淌。
1.單一職責(zé)原則(Single Responsibility Principle - SRP)
原文:There should never be more than one reason for a class to change.?
譯文:永遠(yuǎn)不應(yīng)該有多于一個(gè)原因來(lái)改變某個(gè)類么伯。?
理解:對(duì)于一個(gè)類而言,應(yīng)該僅有一個(gè)引起它變化的原因卡儒。說白了就是田柔,不同的類具備不同的職責(zé)誓篱,各施其責(zé)。這就好比一個(gè)團(tuán)隊(duì)凯楔,大家分工協(xié)作窜骄,互不影響,各做各的事情摆屯。?
應(yīng)用:當(dāng)我們做系統(tǒng)設(shè)計(jì)時(shí)邻遏,如果發(fā)現(xiàn)有一個(gè)類擁有了兩種的職責(zé),那就問自己一個(gè)問題:可以將這個(gè)類分成兩個(gè)類嗎虐骑?如果真的有必要准验,那就分吧。千萬(wàn)不要讓一個(gè)類干的事情太多廷没!
2.開放封閉原則(Open Closed Principle - OCP)
原文:Software entities like classes, modules and functions should be open for extension but closed for modifications.?
譯文:軟件實(shí)體糊饱,如:類、模塊與函數(shù)颠黎,對(duì)于擴(kuò)展應(yīng)該是開放的另锋,但對(duì)于修改應(yīng)該是封閉的。?
理解:簡(jiǎn)言之狭归,對(duì)擴(kuò)展開放夭坪,對(duì)修改封閉。換句話說过椎,可以去擴(kuò)展類室梅,但不要去修改類。?
應(yīng)用:當(dāng)需求有改動(dòng)疚宇,要修改代碼了亡鼠,此時(shí)您要做的是,盡量用繼承或組合的方式來(lái)擴(kuò)展類的功能敷待,而不是直接修改類的代碼间涵。當(dāng)然,如果能夠確保對(duì)整體架構(gòu)不會(huì)產(chǎn)生任何影響讼撒,那么也沒必要搞得那么復(fù)雜了浑厚,直接改這個(gè)類吧。
3.里氏替換原則(Liskov Substitution Principle - LSP)
原文:Functions that use pointers or references to base classes must be able to use objects of derived classes without knowing it.?
譯文:使用基類的指針或引用的函數(shù)根盒,必須是在不知情的情況下钳幅,能夠使用派生類的對(duì)象。?
理解:父類能夠替換子類炎滞,但子類不一定能替換父類敢艰。也就是說,在代碼中可以將父類全部替換為子類册赛,程序不會(huì)報(bào)錯(cuò)钠导,也不會(huì)在運(yùn)行時(shí)出現(xiàn)任何異常震嫉,但反過來(lái)卻不一定成立。?
應(yīng)用:在繼承類時(shí)牡属,務(wù)必重寫(Override)父類中所有的方法票堵,尤其需要注意父類的 protected 方法(它們往往是讓您重寫的),子類盡量不要暴露自己的 public 方法供外界調(diào)用逮栅。
該原則由麻省理工學(xué)院的 Barbara Liskov 女士提出悴势,她是美國(guó)第一位獲取計(jì)算機(jī)博士學(xué)位的女性,曾經(jīng)也獲得過計(jì)算機(jī)圖靈獎(jiǎng)措伐。
4.最少知識(shí)原則(Least Knowledge Principle - LKP)
原文:Only talk to you immediate friends.?
譯文:只與你最直接的朋友交流特纤。?
理解:盡量減少對(duì)象之間的交互,從而減小類之間的耦合侥加。簡(jiǎn)言之捧存,一定要做到:低耦合,高內(nèi)聚担败。?
應(yīng)用:在做系統(tǒng)設(shè)計(jì)時(shí)昔穴,不要讓一個(gè)類依賴于太多的其他類,需盡量減小依賴關(guān)系氢架,否則傻咖,您死都不知道自己怎么死的。
該原則也稱為“迪米特法則(Law of Demeter)”岖研,由 Ian Holland 提出。這個(gè)人不太愿意和陌生人說話警检,只和他走得最近的朋友們交流孙援。
5.接口隔離原則(Interface Segregation Principle - ISP)
原文:The dependency of one class to another one should depend on the smallest possible interface.?
譯文:一個(gè)類與另一個(gè)類之間的依賴性,應(yīng)該依賴于盡可能小的接口扇雕。?
理解:不要對(duì)外暴露沒有實(shí)際意義的接口拓售。也就是說,接口是給別人調(diào)用的镶奉,那就不要去為難別人了础淤,盡可能保證接口的實(shí)用性吧。她好哨苛,我也好鸽凶。?
應(yīng)用:當(dāng)需要對(duì)外暴露接口時(shí),需要再三斟酌建峭,如果真的沒有必要對(duì)外提供的玻侥,就刪了吧。一旦您提供了亿蒸,就意味著凑兰,您將來(lái)要多做一件事情掌桩,何苦要給自己找事做呢。
6.依賴倒置原則(Dependence Inversion Principle - DIP)
原文:High level modules should not depends upon low level modules. Both should depend upon abstractions. Abstractions should not depend upon details. Details should depend upon abstractions.?
譯文:高層模塊不應(yīng)該依賴于低層模塊姑食,它們應(yīng)該依賴于抽象波岛。抽象不應(yīng)該依賴于細(xì)節(jié),細(xì)節(jié)應(yīng)該依賴于抽象音半。?
理解:應(yīng)該面向接口編程则拷,不應(yīng)該面向?qū)崿F(xiàn)類編程。面向?qū)崿F(xiàn)類編程祟剔,相當(dāng)于就是論事隔躲,那是正向依賴(正常人思維);面向接口編程物延,相當(dāng)于通過事物表象來(lái)看本質(zhì)宣旱,那是反向依賴,即依賴倒置(程序員思維)叛薯。?
應(yīng)用:并不是說浑吟,所有的類都要有一個(gè)對(duì)應(yīng)的接口,而是說耗溜,如果有接口组力,那就盡量使用接口來(lái)編程吧。
將以上六大原則的英文首字母拼在一起就是 SOLID(穩(wěn)定的)抖拴,所以也稱之為 SOLID 原則燎字。
只有滿足了這六大原則,才能設(shè)計(jì)出穩(wěn)定的軟件架構(gòu)阿宅!但它們畢竟只是原則候衍,只是四人幫給我們的建議,有些時(shí)候我們還是要學(xué)會(huì)靈活應(yīng)變洒放,千萬(wàn)不要生搬硬套蛉鹿,否則只會(huì)把簡(jiǎn)單問題復(fù)雜化,切記往湿!
補(bǔ)充設(shè)計(jì)原則
1.組合/聚合復(fù)用原則(Composition/Aggregation Reuse Principle - CARP)
當(dāng)要擴(kuò)展類的功能時(shí)妖异,優(yōu)先考慮使用組合,而不是繼承领追。這條原則在 23 種經(jīng)典設(shè)計(jì)模式中頻繁使用他膳,如:代理模式、裝飾模式蔓腐、適配器模式等矩乐。可見江湖地位非常之高!
2.無(wú)環(huán)依賴原則(Acyclic Dependencies Principle - ADP)
當(dāng) A 模塊依賴于 B 模塊散罕,B 模塊依賴于 C 模塊分歇,C 依賴于 A 模塊,此時(shí)將出現(xiàn)循環(huán)依賴欧漱。在設(shè)計(jì)中應(yīng)該避免這個(gè)問題职抡,可通過引入“中介者模式”解決該問題。
3.共同封裝原則(Common Closure Principle - CCP)
應(yīng)該將易變的類放在同一個(gè)包里误甚,將變化隔離出來(lái)缚甩。該原則是“開放-封閉原則”的延生。
4.共同重用原則(Common Reuse Principle - CRP)
如果重用了包中的一個(gè)類窑邦,那么也就相當(dāng)于重用了包中的所有類擅威,我們要盡可能減小包的大小。
5.好萊塢原則(Hollywood Principle - HP)
好萊塢明星的經(jīng)紀(jì)人一般都很忙冈钦,他們不想被打擾郊丛,往往會(huì)說:Don’t call me, I’ll call you. 翻譯為:不要聯(lián)系我,我會(huì)聯(lián)系你瞧筛。對(duì)應(yīng)于軟件設(shè)計(jì)而言厉熟,最著名的就是“控制反轉(zhuǎn)”(或稱為“依賴注入”),我們不需要在代碼中主動(dòng)的創(chuàng)建對(duì)象较幌,而是由容器幫我們來(lái)創(chuàng)建并管理這些對(duì)象揍瑟。
其他設(shè)計(jì)原則
1.不要重復(fù)你自己(Don’t repeat yourself - DRY)
不要讓重復(fù)的代碼到處都是,要讓它們足夠的重用乍炉,所以要盡可能地封裝绢片。
2.保持它簡(jiǎn)單與傻瓜(Keep it simple and stupid - KISS)
不要讓系統(tǒng)變得復(fù)雜,界面簡(jiǎn)潔岛琼,功能實(shí)用杉畜,操作方便,要讓它足夠的簡(jiǎn)單衷恭,足夠的傻瓜。
3.高內(nèi)聚與低耦合(High Cohesion and Low Coupling - HCLC)
模塊內(nèi)部需要做到內(nèi)聚度高纯续,模塊之間需要做到耦合度低随珠。
4.慣例優(yōu)于配置(Convention over Configuration - COC)
盡量讓慣例來(lái)減少配置,這樣才能提高開發(fā)效率猬错,盡量做到“零配置”窗看。很多開發(fā)框架都是這樣做的。
5.命令查詢分離(Command Query Separation - CQS)
在定義接口時(shí)倦炒,要做到哪些是命令显沈,哪些是查詢,要將它們分離,而不要揉到一起拉讯。
6.關(guān)注點(diǎn)分離(Separation of Concerns - SOC)
將一個(gè)復(fù)雜的問題分離為多個(gè)簡(jiǎn)單的問題涤浇,然后逐個(gè)解決這些簡(jiǎn)單的問題,那么這個(gè)復(fù)雜的問題就解決了魔慷。難就難在如何進(jìn)行分離只锭。
7.契約式設(shè)計(jì)(Design by Contract - DBC)
模塊或系統(tǒng)之間的交互,都是基于契約(接口或抽象)的院尔,而不要依賴于具體實(shí)現(xiàn)蜻展。該原則建議我們要面向契約編程。
8.你不需要它(You aren’t gonna need it - YAGNI)
不要一開始就把系統(tǒng)設(shè)計(jì)得非常復(fù)雜邀摆,不要陷入“過度設(shè)計(jì)”的深淵纵顾。應(yīng)該讓系統(tǒng)足夠的簡(jiǎn)單,而卻又不失擴(kuò)展性栋盹,這是其中的難點(diǎn)施逾。
一個(gè)成功的項(xiàng)目,離不開每個(gè)人的努力贞盯,分享下我曾經(jīng)的項(xiàng)目管理經(jīng)驗(yàn)音念。
給大家提出以下 10 點(diǎn)建議及其目標(biāo):
Sprint 第一天,需要將目標(biāo)定義清楚躏敢,并讓團(tuán)隊(duì)所有人都知道「確保建立一致的目標(biāo)并使之明確」闷愤;
若出現(xiàn)需求變更,則優(yōu)先排到下次迭代件余,特殊情況需特殊處理「確保本次迭代可以按時(shí)完工」讥脐;
Scrum Master 將迭代中的需求分解為任務(wù),每個(gè)任務(wù)只能有一個(gè)任務(wù)負(fù)責(zé)人啼器,且不超過一個(gè)人天「確保每日任務(wù)可評(píng)估」旬渠;
讓 Product Owner 直接與相關(guān)開發(fā)人員確定需求,Scrum Master 需一同參與「確保需求與實(shí)現(xiàn)不會(huì)發(fā)生偏差」端壳;
每日定時(shí)站會(huì)告丢,時(shí)長(zhǎng)不超過 15 分鐘,規(guī)模不要太大「確保任務(wù)完成情況與計(jì)劃保持一致」损谦;
每日進(jìn)行一次代碼評(píng)審岖免,由 Scrum Master 負(fù)責(zé),并在次日將評(píng)審結(jié)果通知給相關(guān)開發(fā)人員「確保代碼質(zhì)量不要下降」照捡;
各個(gè)團(tuán)隊(duì)的 Scrum Master 保持每日溝通一次颅湘,時(shí)間不要超過 15 分鐘「確保項(xiàng)目管理不會(huì)出現(xiàn)風(fēng)險(xiǎn)」;
每次迭代結(jié)束栗精,讓大家稍微放松一下闯参,可提供一些團(tuán)隊(duì)活動(dòng)瞻鹏,比如聚餐「確保團(tuán)隊(duì)能夠更加凝聚」;
Scrum Master 需要給團(tuán)隊(duì)一些承諾鹿寨,比如項(xiàng)目獎(jiǎng)金或特殊福利等「確保團(tuán)隊(duì)更加有激情」新博;
對(duì)于情緒異常的員工,Scrum Master 需及時(shí)與其溝通「確保不要讓一個(gè)人的情緒影響整個(gè)團(tuán)隊(duì)」释移;
此外叭披,作為項(xiàng)目管理者,需要不斷在團(tuán)隊(duì)中加強(qiáng)以下5點(diǎn)文化:
方向一致
當(dāng)面溝通
全情投入
充分信任
說到做到
真正的開源并非只是代碼的開源玩讳,而是思想的開源
談?wù)勎覍?duì)「開源」的看法涩蜘,國(guó)內(nèi)的開源的現(xiàn)在如何,對(duì)比國(guó)外呢熏纯?
我個(gè)人認(rèn)為同诫,真正的開源并非只是代碼的開源,而是思想的開源樟澜。在做開源項(xiàng)目之前误窖,建議能將自己的想法共享出來(lái),而不是 埋頭閉門造車秩贰。我不反對(duì)“重造輪子”霹俺,因?yàn)槲覀冃枰玫妮喿樱喿雍昧塑囎硬拍芘艿每於痉选7彩怯欣灿斜妆螅覀円膊荒苊つ康剡x擇開源技術(shù),因?yàn)椴⒉皇沁m合 別人的技術(shù)就適合自己觅玻,而是需要根據(jù)自身的需求想际,選擇最適合的開源技術(shù),搭建恰如其分的架構(gòu)溪厘。
有大量的新技術(shù)胡本,我首先會(huì)去關(guān)注它,了解它是做什么的畸悬,可以解決什么問題侧甫,但我一開始絕不會(huì)去深入研究它,更不會(huì)去看它的源碼蹋宦,因?yàn)橐坏┯龅竭@方面的需求場(chǎng)景闺骚,我就會(huì)從這個(gè)“知識(shí)庫(kù)”中去尋找最好的解決方案,如果仍然尋找不到最合適的開源技術(shù)妆档,我才會(huì)嘗試自己去實(shí)現(xiàn)。
技術(shù)人的歸途
走技術(shù)這條路虫碉,歸途是什么贾惦?是否轉(zhuǎn)型又該如何抉擇呢?
至少有好幾條路線是可以走的,比如:深入技術(shù)须板、轉(zhuǎn)型做產(chǎn)品碰镜、轉(zhuǎn)型做管理等,需要根據(jù)自己的特長(zhǎng)和性格來(lái)選擇习瑰,做自己喜歡的事情绪颖。
從技術(shù)轉(zhuǎn)管理,對(duì)自身的要求比較高甜奄,說具體點(diǎn)柠横,需要看自己的情商,為人處世的經(jīng)驗(yàn)课兄,與人溝通的技巧牍氛,自己也需要有足夠的胸懷,去包容一些事情烟阐,還需要自己有足夠的人格魅力去吸引別人搬俊,讓別人愿意跟著你一起做事。管理有些東西是很難從書本上學(xué)到的蜒茄,但一些經(jīng)典的管理理論是必須要去學(xué)的唉擂。
相比較而言,繼續(xù)深入技術(shù)或者從技術(shù)轉(zhuǎn)產(chǎn)品會(huì)容易一些了檀葛,因?yàn)楹芏鄷r(shí)候都不太需要與人打交道玩祟。
我有一個(gè)QQ群,經(jīng)常會(huì)分享一些Java技術(shù)相關(guān)的干貨驻谆。如果你喜歡我的分享卵凑,可以用搜索qq群 ?:561614305 ?或者加我的qq:2667747158