电竞比分网-中国电竞赛事及体育赛事平台

分享

美團(tuán)資深程序員,給后輩的一點(diǎn)建議,讓你少走彎路

 夢(mèng)尋桃花 2019-06-22

每年都有無(wú)數(shù)年輕程序員,加入軟件行業(yè)。他們?cè)趯W(xué)校里學(xué)過(guò)編程,但是對(duì)這個(gè)行業(yè)的現(xiàn)實(shí)一無(wú)所知,我今天介紹這個(gè)行業(yè)的一些實(shí)際情況。這幾年自己在技術(shù)博客沉淀很多技術(shù)。其他方面也算成功,至少和同齡人和自己起點(diǎn)一樣本科生來(lái)說(shuō),作為過(guò)來(lái)人有幾點(diǎn)說(shuō)一下:

前面四點(diǎn)主要針對(duì)三年經(jīng)驗(yàn)以?xún)?nèi)的。后面的幾點(diǎn)寫(xiě)給3年到8年的同行,最后一段寫(xiě)給所有的同行。

null

一、不要迷信“大牛”

看到你問(wèn)題中有什么踩坑的,技術(shù)人唯一的不好就是對(duì)非技術(shù)盲目崇拜,尤其對(duì)非技術(shù)網(wǎng)紅。就放前面說(shuō)說(shuō):網(wǎng)上的“大牛”多半不靠譜。

其一是真正的大牛沒(méi)時(shí)間混跡在網(wǎng)上做人生導(dǎo)師,天天講道理,整天出現(xiàn)在你Timeline里的人要么半吊子水貨,要么另有所圖(賺錢(qián)智商稅)(我黑起人來(lái)連自己也不放過(guò))

其二相比較入門(mén)的你比就算是大牛,他的經(jīng)驗(yàn)對(duì)你未必有用。大牛說(shuō)我學(xué) Python 也就翻了下基本語(yǔ)法,當(dāng)天就上項(xiàng)目開(kāi)干了。(大神說(shuō)我覺(jué)得沒(méi)有順手的語(yǔ)言,就發(fā)明了 Python)大牛說(shuō)我從不看基礎(chǔ)知識(shí),因?yàn)榇笈L焯烀χ炯軜?gòu) 哪來(lái)機(jī)會(huì)看基礎(chǔ)。

二、少說(shuō)廢話(huà),多寫(xiě)代碼

廢話(huà)有很多種,程序員屆最多的大概就是整理哪個(gè)語(yǔ)言/框架/平臺(tái)/技術(shù)好,準(zhǔn)程序員則喜歡問(wèn),我是不是應(yīng)該學(xué)Java c php……學(xué)了是不是有用之類(lèi)。我學(xué)習(xí)什么技術(shù)好?技術(shù)討論并不完全無(wú)意義,但在你打好計(jì)算機(jī)基礎(chǔ)、數(shù)據(jù)結(jié)構(gòu),熟練掌握至少一門(mén)語(yǔ)言、開(kāi)發(fā)過(guò)一個(gè)能看的項(xiàng)目之前,這些討論對(duì)你來(lái)說(shuō)就是浪費(fèi)時(shí)間的廢話(huà),而不是今天跟風(fēng)學(xué)這個(gè),明天又聽(tīng)人說(shuō)那個(gè)好。不要等畢業(yè)的時(shí)候說(shuō)出XX技術(shù)學(xué)校沒(méi)教過(guò),所以我不會(huì)這種話(huà)。

有這時(shí)間多寫(xiě)點(diǎn)代碼,刷刷算法題,找點(diǎn)項(xiàng)目做做,找不到就從自己日常身邊找點(diǎn)需求去用代碼實(shí)現(xiàn)。不要說(shuō)你覺(jué)得沒(méi)有什么可寫(xiě)的,如果是這樣,那你要反思下自己適不適合編程這條路。

我能告訴你的是 接下來(lái)幾年不會(huì)算法是不行的。不要說(shuō)我進(jìn)去公司用不到這些話(huà) 如果你拒絕學(xué) 那沒(méi)必要做程序員了。

三、做一個(gè)程序員,不是碼農(nóng)。

碼農(nóng)的工作和搬磚沒(méi)什么區(qū)別,就是把一些模塊拼到一起,有問(wèn)題了就東修西補(bǔ),程序能跑通就不錯(cuò),只會(huì)用教過(guò)的一兩種技術(shù)。做個(gè)碼農(nóng)很容易,天天改改Bug 水水群 ,編程5的分鐘 扯淡兩小時(shí)。就是說(shuō)的是碼農(nóng)。但程序員是個(gè)長(zhǎng)期的職業(yè),你在學(xué)校學(xué)習(xí)的是編程的思想、解決問(wèn)題的邏輯、持續(xù)學(xué)習(xí)的能力。重視基礎(chǔ)課程,深入學(xué)習(xí)一兩門(mén)語(yǔ)言和技術(shù),理解透徹了,以后學(xué)習(xí)別的新技術(shù)自然觸類(lèi)旁通。沒(méi)事看看就行,別去跟風(fēng)湊熱鬧。你上的是大學(xué),不是技能速成培訓(xùn)班。

總結(jié)一句, 碼農(nóng)喜歡說(shuō)顛覆 喜歡說(shuō)取代 更喜歡扯布道者。天天喊著新技術(shù)。

程序員專(zhuān)注基礎(chǔ)能力,談業(yè)界影響,說(shuō)貢獻(xiàn)。

null

四、短期不要高估自己,長(zhǎng)期不要低估自己

絕大多數(shù)人都會(huì)犯的錯(cuò)誤就是“短期高估自己,長(zhǎng)期低估自己”。除非你天資聰慧,否則別想著大一就搗鼓出什么牛逼程序來(lái)一鳴驚人。學(xué)編程的過(guò)程會(huì)經(jīng)歷數(shù)個(gè)瓶頸期,中間你也許會(huì)數(shù)次感到萬(wàn)分絕望,甚至開(kāi)始懷疑人生。

但你要相信,只要堅(jiān)持寫(xiě)下去,瓶頸總會(huì)突破,成為一個(gè)超越平均水準(zhǔn)的職業(yè)程序員是沒(méi)有什么大問(wèn)題的。

畢業(yè)三年拿到15到20k 的人不少,不代表你牛逼,因?yàn)樾袠I(yè)曲線(xiàn)就這樣。但是你想6年拿60k 確實(shí)沒(méi)幾個(gè)人,畢竟50w年薪是大部人的天花板。所以也別灰心 。

五、最后相信自己,尊重自己的職業(yè)

不要自稱(chēng)「 xx 狗」,尊重自己

不要為了談戀愛(ài)而談戀愛(ài),不要相信「程序員找不到女朋友」

除了計(jì)算機(jī)知識(shí),也要學(xué)好英語(yǔ) 數(shù)學(xué)

基礎(chǔ)學(xué)扎實(shí),學(xué)算發(fā),不要追求熱門(mén)

不要迷戀語(yǔ)言,不要陷入語(yǔ)言的戰(zhàn)爭(zhēng)

多寫(xiě)有質(zhì)量的代碼 別瞎折騰實(shí)踐

六、90%的編程工作來(lái)自?xún)?nèi)部軟件

計(jì)算機(jī)專(zhuān)業(yè)的學(xué)生,可能有一種錯(cuò)覺(jué),覺(jué)得大部分程序員,都在編寫(xiě)公開(kāi)出售的軟件或者通用軟件。

這種看法是不對(duì)的。大部分程序員,實(shí)際上編寫(xiě)的是不公開(kāi)的企業(yè)內(nèi)部軟件,這就是說(shuō)所謂的外包。比如追蹤費(fèi)用的軟件、優(yōu)化裝運(yùn)成本的軟件、幫助記賬的軟件、設(shè)計(jì)新部件的軟件、計(jì)算保單價(jià)格的軟件、識(shí)別惡意訂單的軟件等等。

各種各樣的商業(yè)公司,開(kāi)發(fā)內(nèi)部軟件,解決它們自己的問(wèn)題。市場(chǎng)上對(duì)程序員的大部分需求來(lái)源于此,只有極少數(shù)程序員直接編寫(xiě)面向外部顧客的軟件。

內(nèi)部軟件的開(kāi)發(fā),通常非常乏味,令人厭倦。因?yàn)樗鼈兊募夹g(shù)復(fù)雜性低、技術(shù)決策非常保守、預(yù)算很少、缺乏長(zhǎng)遠(yuǎn)考慮。但是,世界上大部分編程工作都是這種。你如果想入行程序員,你就要有心理準(zhǔn)備去接受這樣的工作。

七、別人雇你的目的,是讓你創(chuàng)造利潤(rùn),不是讓你編程

商業(yè)公司最關(guān)心的(或者說(shuō)唯一在乎的)事情,就是增加收入、降低成本。因此,它們實(shí)際上需要的不是程序員,而是能夠幫助它們?cè)黾邮杖?、降低成本的人?/p>

開(kāi)發(fā)優(yōu)美的軟件,解決技術(shù)難題,編寫(xiě)沒(méi)有 bug 的代碼,這些都不是商業(yè)公司的目的。它們雇傭你,是為了讓你幫它們完成某個(gè)可以增加收入、降低成本的項(xiàng)目,而不是為了讓你追求個(gè)人的軟件成就。

你對(duì)于公司的唯一價(jià)值,就在于能多大程度上為它們?cè)黾邮杖?、降低成本?/p>

這就是為什么阿里p8拿不到業(yè)務(wù)就是滾蛋的情況 ,在沒(méi)有業(yè)務(wù)就沒(méi)有產(chǎn)出,沒(méi)產(chǎn)出就沒(méi)有利潤(rùn),那么技術(shù)好壞 只成為你不容易被裁的幾率。

八、好的程序員專(zhuān)注于為公司帶來(lái)價(jià)值

很多公司的開(kāi)發(fā)經(jīng)理不懂技術(shù),在他們心目中,程序員就是一群高成本的勞動(dòng)力,只會(huì)在一臺(tái)復(fù)雜的機(jī)器上干一些他們難懂的事情。

如果你自稱(chēng)為”碼農(nóng)”,只會(huì)寫(xiě)代碼。當(dāng)公司需要壓縮成本的時(shí)候,某些經(jīng)理首先就會(huì)想到解雇你,因?yàn)槟愕墓べY高。

有一家公司叫 Salesforce,口號(hào)是”沒(méi)有軟件”,意思就是如果經(jīng)理們購(gòu)買(mǎi)了他們的服務(wù),就不再需要?jiǎng)e的軟件管理銷(xiāo)售業(yè)務(wù)了,也就是說(shuō),不再需要自己雇傭程序員了。

正確的做法是,你應(yīng)該把自己描述成與增加收入、降低成本有關(guān)系的人,比如”xx產(chǎn)品的開(kāi)發(fā)者”或”改進(jìn)者”。有一個(gè) Google Adsense 程序員的自我介紹,是這樣寫(xiě)的:”Google 公司97%的收入,與我的代碼有關(guān)。

null

九、不要給自己設(shè)限

年輕學(xué)生經(jīng)常會(huì)問(wèn),應(yīng)該選擇哪種語(yǔ)言或平臺(tái)?Java 是不是比 .NET 容易找工作?

過(guò)分強(qiáng)調(diào)某一種語(yǔ)言或平臺(tái),都是不必要的。如果你把自己限定為 Java 程序員或 .NET 程序員,你就已經(jīng)輸了,因?yàn)槭紫饶悴粦?yīng)該自稱(chēng)為碼農(nóng)(理由見(jiàn)上一點(diǎn)),其次這種限定使得你自動(dòng)被排除在世界上大多數(shù)編程工作之外。

現(xiàn)實(shí)生活中,學(xué)會(huì)一種新語(yǔ)言,只需要一兩個(gè)月,然后再過(guò)半年到一年,你就會(huì)變成老手。那時(shí),根本沒(méi)人在乎你以前用什么語(yǔ)言。

天才程序員是很少的,可是需要天才程序員的工作機(jī)會(huì)卻很多很多,大多數(shù)場(chǎng)合都是需求遠(yuǎn)遠(yuǎn)大于供給。

這意味著,即使你不是天才程序員,只要你是一個(gè)優(yōu)秀工程師,那些招聘公司也會(huì)立刻錄用你,因?yàn)樗鼈冎勒衅傅教觳懦绦騿T的機(jī)會(huì)微乎其微。(重復(fù)一遍,所謂”優(yōu)秀工程師”,就是你的履歷上有一連串可以為公司增加收入、降低成本的記錄。)

某些公司的人事部門(mén),會(huì)根據(jù)某個(gè)關(guān)鍵詞(比如 Java 或 .NET)過(guò)濾簡(jiǎn)歷。雖然這樣的公司根本不值得去,但是如果你真的想過(guò)這一關(guān),也很容易:投入幾個(gè)晚上和周末,在你當(dāng)前的項(xiàng)目中設(shè)法用到這個(gè)關(guān)鍵詞,然后再把它寫(xiě)進(jìn)簡(jiǎn)歷就行了。

你要知道 語(yǔ)言只是工具,公司為了利潤(rùn),在任何時(shí)候都可能讓你轉(zhuǎn)語(yǔ)言。

十、如何提高求職時(shí)的談判能力?

(1)記住你不是在求職,不是在展示編程技巧,而是在推銷(xiāo)某種商業(yè)問(wèn)題(增加收入或降低成本)的解決方案。

(2)面試時(shí),要有自信,要平等的對(duì)話(huà)。你要的是一個(gè)互利的錄用合同,不要每次對(duì)方提出要求,你都說(shuō)Yes。

(3)雇主可能會(huì)問(wèn)”你的上一份工資是多少”,他們其實(shí)在說(shuō)”給我一個(gè)理由,壓低你的報(bào)酬”。你要想好如何適當(dāng)?shù)鼗卮疬@個(gè)問(wèn)題。

(4)要還價(jià)。這里不僅僅指錢(qián),還指其它你關(guān)心的方面。如果你無(wú)法要求更高的薪水,那就試著要求更多的假期。

十一、創(chuàng)業(yè)公司是否適合應(yīng)屆畢業(yè)生?

如果你一畢業(yè)就加入創(chuàng)業(yè)公司,最可能的結(jié)果是,接下來(lái)幾年你都工作得非常辛苦,然后公司悲慘地失敗了,你失業(yè)了,不得不又去另一家創(chuàng)業(yè)公司工作。

如果你真的想去創(chuàng)業(yè)公司,應(yīng)該首先找一家大公司干上幾年,攢一點(diǎn)錢(qián),積累一些經(jīng)驗(yàn),然后精心挑選一家創(chuàng)業(yè)公司,再去實(shí)現(xiàn)自己的夢(mèng)想。

在創(chuàng)業(yè)公司工作,一般情況下,你遇到的都是創(chuàng)業(yè)者。他們大多數(shù)人沒(méi)有能力在兩年后帶你;而在大公司工作,你遇到的都是其他大公司的人,他們中很多人將來(lái)有能力帶你或者幫你介紹工作。

十二、溝通技能是最重要的職業(yè)技能

前面說(shuō)過(guò),工程師被雇傭,不是因?yàn)闀?huì)編程,而是因?yàn)槟軌騽?chuàng)造商業(yè)價(jià)值。所以,你得讓人們相信你能創(chuàng)造價(jià)值,這是幫助你找到工作的最重要的能力。這種能力與你真的能創(chuàng)造多少價(jià)值,實(shí)際上聯(lián)系不是很緊密。很多情況下,你向別人展示的是對(duì)你能力的一種期望,而不是你當(dāng)前的能力。

所以不要時(shí)刻說(shuō)技術(shù),因?yàn)榧夹g(shù)只是工作的一種手段,價(jià)值才是你的武器。

最后關(guān)注技術(shù)的同時(shí) 不要忘了關(guān)注自己自身能力的提高。這一行都應(yīng)該有面對(duì)時(shí)刻失業(yè)的準(zhǔn)備,因?yàn)榇蟛糠值?strong>的危機(jī)來(lái)自于體制外的工作當(dāng)成了體制內(nèi)。

最后小結(jié)

1 普通人為了達(dá)成某個(gè)目標(biāo),需要舍棄一些東西,舍得舍得,有舍才有得。

2 職業(yè)生涯早期有機(jī)會(huì)去大公司大平臺(tái),還是要去大公司見(jiàn)見(jiàn)世面。很多事情不是一蹴而就的,如果能力不夠可以采取曲線(xiàn)救國(guó),只要最終能達(dá)到目的就好。

3 技術(shù)是根本,沒(méi)有技術(shù)你就沒(méi)有錢(qián)。技術(shù)又不是全部,因?yàn)槟愫茈y搞一輩子技術(shù)。

4 眼光和機(jī)遇很重要,機(jī)遇可遇不可求,但是機(jī)遇來(lái)了,眼光不夠沒(méi)有做出相對(duì)準(zhǔn)確的預(yù)測(cè),做錯(cuò)了選擇,那也是很傷。

5 學(xué)歷和起點(diǎn)不是問(wèn)題,其實(shí)能力和眼界才是程序員核心競(jìng)爭(zhēng)力,大廠不一定就是鐵飯碗。

6 人都需要學(xué)習(xí),并能不斷敢于挑戰(zhàn)自己,才能離成功幾率越大。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多