網(wǎng)絡(luò)工程師如何創(chuàng)業(yè)
網(wǎng)絡(luò)工程師如何創(chuàng)業(yè)
在互聯(lián)網(wǎng)的浪潮下,產(chǎn)品在快速地推陳出新,技術(shù)在不停地推陳出新,在這種大環(huán)境下,人心趨于浮躁,往往很難靜下心專心做技術(shù),唯有耐得住寂寞,才守得住繁華。以下是學(xué)習(xí)啦小編為大家搜集的網(wǎng)絡(luò)工程師如何創(chuàng)業(yè)相關(guān)文章,希望對你有所幫助。
網(wǎng)絡(luò)工程師如何創(chuàng)業(yè):工程師的自我突破
態(tài)度決定一切
有句老話叫作:態(tài)度決定一切,你的態(tài)度如何,在一定程度上已決定你是失敗還是成功。我覺得這點(diǎn)在做技術(shù)時(shí)體現(xiàn)得淋漓盡致,就以O(shè)penstack項(xiàng)目為例,在其中發(fā)現(xiàn)一個(gè)bug,其實(shí)不是難事。那么在發(fā)現(xiàn)某個(gè)Openstack服務(wù)的bug時(shí),不同的工程師有著不同的態(tài)度:有的人隨意Google一下找到解決方法然后接著干活,有的人嘗試閱讀源碼后去自行修復(fù)bug,有的人會把寫好的bugfix嘗試推送到社區(qū)的upstream去。我們都會以工作太忙為理由,只以問題的解決作為目的驅(qū)動,從不去細(xì)究問題的源頭。因此,這就導(dǎo)致了若干年后,有的工程師還只在原地踏步,有的已經(jīng)不僅深入掌握源碼,還能快速地做二次開發(fā),還有的人不僅養(yǎng)成了良好的代碼風(fēng)格,還能積極地參與到upstream的開發(fā)中去。
記得在剛進(jìn)入Sina云計(jì)算部門的時(shí)候,團(tuán)隊(duì)協(xié)作平臺的副標(biāo)題是28號加粗的一行文字:Develop is not easy。雖然不知道是哪位大牛寫的,直到現(xiàn)在我仍然記憶猶新。Develop不光狹義地指開發(fā),而是囊括了所有的技術(shù)崗位,我們要時(shí)刻清晰地認(rèn)識到把事情做好并非易事。這里不僅指技術(shù)本身,還涉及許多相關(guān)的細(xì)節(jié),這些細(xì)節(jié)常常被多數(shù)工程師忽略,而正是這些細(xì)節(jié)才能體現(xiàn)出一個(gè)工程師的閃光點(diǎn)。
我常使用業(yè)務(wù)素質(zhì)一詞來評論工程師:這個(gè)工程師的業(yè)務(wù)素質(zhì)很高,指的是他不僅在專業(yè)技能上出類拔萃,更重要的是在做事上非常認(rèn)真,事無巨細(xì),小到代碼格式,注釋,變量名稱,代碼提交信息,文檔等每個(gè)細(xì)節(jié)都能體現(xiàn)出認(rèn)真兩字有多么難得可貴。凡是做過技術(shù)的朋友應(yīng)該都會有所共鳴,并且從腦海中立馬浮現(xiàn)出那些閃閃發(fā)光的人名來。
保持努力
我不想在努力這一點(diǎn)上舉例來說明努力是多重要的因素,因?yàn)槲覀儚男【烷_始灌輸努力的重要性。我只想強(qiáng)調(diào)在正確技術(shù)突破的道路上,你必須不停地更新自己的知識和技能,才能越走越遠(yuǎn)。
我認(rèn)識的另一位朋友,社區(qū)核心開發(fā)者,我詢問他圣誕節(jié)打算去哪里過,他給我的回答是:I'm not going anywhere, just writing codes at home. 所以,那些外國工程師之所以如此牛逼,并非他們生來如此,而是他們的不懈努力。
所以請一定要做到保持這份干勁,并且時(shí)不時(shí)買些心靈雞湯激勵(lì)一下自己,或者按老羅所說:惡心一下自己,保持大腦亢奮?,F(xiàn)在我腦子里只要一想到Emilien的那句“I write puppet codes except eating and sleeping“,就開始失眠,這雞血的劑量使得我的生物鐘又延時(shí)了一個(gè)小時(shí)。
充滿熱情
在我認(rèn)識的技術(shù)人中,做得出色的人大都有一個(gè)相同特點(diǎn):富有激情,他們總以一種積極主動的態(tài)度去對待生活和工作。我相信所有剛?cè)隝T行業(yè)的同學(xué)們都是滿懷對于未來的憧憬,只是這種彌足珍貴的熱量很容易被許多外界的負(fù)面因素慢慢磨滅:工作單調(diào)乏味,生活壓力太大…但不要因此就把你的熱情埋藏起來,一旦你習(xí)慣了埋藏,你將是一個(gè)了無生氣的人。如果你失去了對于追逐技術(shù)的熱枕,那么很難在技術(shù)的道路上有所突破。激情,在很多時(shí)候,往往能點(diǎn)燃我們創(chuàng)新的本能。有了激情就有了不竭的動力,你的內(nèi)心同時(shí)也會變化,越發(fā)有信心,別人也會逐漸認(rèn)識到你與眾不同的價(jià)值。
善于溝通
工程師們常常把精力放在編碼上,而很少去關(guān)注自己溝通能力的培養(yǎng)。我曾遇到過一些大牛,有的不屑寫文檔,有的不會用git等團(tuán)隊(duì)協(xié)作工具,還有的連話都說不清。不能否認(rèn)他們在自己各自的領(lǐng)域中耕耘得很深,但是在分工如此細(xì)化的時(shí)代,大多數(shù)項(xiàng)目都需要團(tuán)隊(duì)協(xié)作才能完成,因此溝通是無法避免的:產(chǎn)品經(jīng)理和設(shè)計(jì)師之間的溝通,后端組和前端組之間的溝通,研發(fā)部和運(yùn)維部之間的溝通…為什么有時(shí)候?qū)Ψ铰牪幻靼孜覀兿氡磉_(dá)的意思,導(dǎo)致跨部門的工作寸步難行。
TED上有個(gè)有趣的演講題目叫作:怎么說話人們才聽,聲音學(xué)專家朱利安給我們上了生動的一課,列舉了為什么沒人愿意聽我們說話。因此,我們在與別人打交道的時(shí)候,我們必須明白對方在想什么,也要讓對方明白我們想表達(dá)什么。
除此之外,對于工程師而言,溝通能力并不局限在語言溝通上,還有在協(xié)同開發(fā)時(shí)的溝通,例如對于使用git做版本控制的項(xiàng)目,若是沒有掌握好git工作流,溝通將異常困難。代碼審查系統(tǒng)上的交互,也是溝通方式的一種,你需要理解他人給你的意見,你能夠向他人表達(dá)清楚你的意思。
全面 vs. 專精
以部署系統(tǒng)為例,早先的部署系統(tǒng)完全為公有云打造,要求做到細(xì)粒度控制,但操作起來比較繁瑣;而現(xiàn)在要求同時(shí)管理公有云和數(shù)量龐大的托管云集群,并且每家在架構(gòu)上都會有所差異,這就要求部署邏輯解耦,靈活可變,支持不同環(huán)境,不同拓?fù)?,不同軟件棧,還要解放實(shí)施人員,減少部署時(shí)間。
但由于每個(gè)人的精力都被分散到多個(gè)領(lǐng)域,因此很難集中精力把部署系統(tǒng)做好,于是我們開始從多面手向?qū)R晦D(zhuǎn)變。也正是因?yàn)檫@兩年我們什么都做,猛然一回頭大家有些迷茫:自己什么都懂,但又什么都做不精。那么問題來了,學(xué)技術(shù)到底是…到底是精通一種還是全面發(fā)展好?
Take it easy,在技術(shù)的道路上看似會有兩種截然不同的方向:橫向擴(kuò)展和縱向深入。橫向的猶如瑞士軍刀,十八般武藝樣樣精通;縱向的是削鐵如泥的倚天劍,倚天不出,誰與爭鋒。橫向擴(kuò)展可以拓寬你的視野,讓你不再局限在某一種技術(shù)中,并也給你的未來多了一種可能;而縱向擴(kuò)展,可以使用你深刻理解一項(xiàng)技術(shù)的細(xì)節(jié),讓你靜下來思考問題的本質(zhì),你可能會驚訝地發(fā)現(xiàn)某些原理都是相通的。這兩個(gè)方向都沒有對與錯(cuò),發(fā)展到一定程度都會相互溶合,就好比中國佛家禪修的南頓北漸,其實(shí)到了最后,漸悟與頓悟是一樣的,頓由漸中來。
不過哪個(gè)在前,哪個(gè)在后,我個(gè)人認(rèn)為還是先做到對某一個(gè)領(lǐng)域有較深的理解和掌握后,進(jìn)而去學(xué)習(xí)其他方向,這個(gè)道理就如同精通一門語言的程序員再去學(xué)習(xí)其他語言時(shí)就能駕輕熟路。
關(guān)于這兩點(diǎn)的結(jié)合,我有很深的印象,如上面提到的情況,剛開始的時(shí)候,運(yùn)維相關(guān)的事情繁雜,每個(gè)人都得是多面手,要去cover多個(gè)領(lǐng)域,也因?yàn)榇酥荒馨衙考虑樽龊枚鵁o法做精。在集群規(guī)模不斷擴(kuò)大和業(yè)務(wù)量的增長后,原先不是問題的地方開始暴露出來,這就有精通該領(lǐng)域的工程師來獨(dú)擋一面。這是一個(gè)自我學(xué)習(xí),自我改變的過程,也是自我突破的關(guān)鍵。
了解自己,把握方向
在大學(xué)課堂里,工作面試和入職培訓(xùn)時(shí)常常能聽到一個(gè)詞:職業(yè)規(guī)劃,就是對職業(yè)生涯乃至人生進(jìn)行持續(xù)的系統(tǒng)的計(jì)劃過程,它包括職業(yè)定位、目標(biāo)設(shè)定、通道設(shè)計(jì)三部分內(nèi)容。職業(yè)定位主要是指:一是確定你是誰,你適合做什么工作;二是告訴別人你是誰,你擅長做什么工作。人生是應(yīng)該有一個(gè)規(guī)劃,這樣可以對于未來設(shè)立一個(gè)期望,明白前進(jìn)的方向。但這類職業(yè)規(guī)范往往過猶不及,覬覦通過把自己的人生畫在紙上,然后按圖施工的想法是不切實(shí)際的。仔細(xì)想想你真的能在剛踏入社會時(shí)就能真正了解你擅長做什么工作,適合做什么工作?
喬幫主說過一句話:“如果你了解自己,能夠明白地做自己,職業(yè)規(guī)劃如同虛設(shè)”。所以,你只要清楚自己想要什么,然后朝著這個(gè)目標(biāo)去做自己想做的事,就可以了,為什么要給人生設(shè)限?何不嘗試一下跨界?
前文中我談到了一個(gè)網(wǎng)絡(luò)工程師的華麗轉(zhuǎn)身,接著聊一聊我們運(yùn)維團(tuán)隊(duì)從UnitedStack成立伊始到現(xiàn)在發(fā)生的故事。
從理想國際大廈走出來開始創(chuàng)業(yè)的第一天,一個(gè)現(xiàn)實(shí)擺在了我們面前:采購服務(wù)器和交換機(jī),選擇IDC。在新浪,服務(wù)器選型有專門的部門做,采購硬件有專門的部門做,交換機(jī)配置有相應(yīng)的部門做,服務(wù)器上架有相應(yīng)的部門去做,我們只有基礎(chǔ)運(yùn)維和業(yè)務(wù)運(yùn)維的經(jīng)驗(yàn),原先所擅長的只是一個(gè)狹小的領(lǐng)域…
看來唯有自己動手,才能豐衣足食,我們著手開始調(diào)研服務(wù)器的選型,交換機(jī)的配置,IDC的選擇。通過不斷的摸索,現(xiàn)在我們制定了一套成熟的機(jī)制去根據(jù)不同業(yè)務(wù)來選型服務(wù)器,形成了一套完善的網(wǎng)絡(luò)拓?fù)淙ミB接分布在全國多個(gè)機(jī)房的公有云和托管云集群,也有了穩(wěn)定的IDC合作伙伴。
許多朋友可能還記得UnitedStack去年發(fā)布的UOS 1.0發(fā)行版,其后端代碼完全由運(yùn)維組編寫。當(dāng)時(shí),我們轉(zhuǎn)身從運(yùn)維變成研發(fā),調(diào)研了主流的StackOps, Fuel Web,根據(jù)產(chǎn)品設(shè)計(jì)的需求,開發(fā)了一套由Python+Puppet編寫的后端代碼,實(shí)現(xiàn)了Openstack集群的自動化部署;內(nèi)部的持續(xù)集成&持續(xù)發(fā)布系統(tǒng)也全由運(yùn)維組負(fù)責(zé),我們根據(jù)研發(fā)工程師的實(shí)際需求對持續(xù)集成工具鏈做了多次整合以匹配整個(gè)研發(fā)體系的日常工作;14年初公司業(yè)務(wù)開始涉足公有云和托管云,我們和研發(fā)部門共同設(shè)計(jì)了公有云,托管云的整體架構(gòu)。由于業(yè)務(wù)量的急劇上升,我們著手開發(fā)了資產(chǎn)管理,節(jié)點(diǎn)管理等多套運(yùn)維平臺。同時(shí),和一般的運(yùn)維團(tuán)隊(duì)不同,我們還負(fù)責(zé)虛擬服務(wù)器的鏡像自動化制作和維護(hù),參與Openstack最龐大的計(jì)算項(xiàng)目Nova的定制開發(fā)并一直保持與社區(qū)upstream同步,參與puppet-openstack社區(qū)的開發(fā),一直在向社區(qū)貢獻(xiàn)源碼。
因?yàn)槲覀兦宄龅囊磺卸际菫榱四馨?ldquo;事”做成,因此做什么并不重要。而且通過這兩年的磨練,我們在技術(shù)上最大的收獲在于大家的視野不再局限于各自的一畝三分地里,在面對新問題時(shí),可以站在不同的角度去思考,這種在大公司里無法獲得的經(jīng)驗(yàn)就顯得彌足珍貴。因此了解你自己,明白你自己想要什么,然后把握好方向。