我的編程之路?

#頭條故事會#

我,高分子材料與工程專業(yè)畢業(yè)——現(xiàn)在是個程序員。

十多年了,也該寫篇文章回顧下期間的得與失(雖然失多得少)——這就好比一個人拉了翔總要回頭看看,雖然多半臭不可聞,多少能給自己的健康指條明路。



懵懂的大學

我是 2004 年上的大學——快 20 年了,說起來自己都不敢相信。要是問我為啥選了高分子材料這么個專業(yè),那就是個笑話。當時盯著志愿填報手冊上幾百個學校和專業(yè),頭是大的,腦袋是空的。

高三(或者說整個高中)對于我們那代人來說全部的意義就是做題。沒人去思考自己未來要做什么,想做什么,做題就對了。所以當高考完了面對一堆專業(yè)時你能想象有多無助,沒人知道那些專業(yè)具體是干嘛的,要學什么,對不對自己的胃口(最主要是不知道自己想干嘛)。

你可能會覺得奇怪,不懂不能百度嗎?那個時代,那山旮旯里,高中讀完電腦都沒摸過,拿錘子去百度

所以我當時做了個特別“明智”的選擇:既然都不懂,那就選個看起來高大上的。高分子材料與工程,聽起來不錯,還帶個“高”字,選它!

關于學校嘛,頂好的學??隙]戲,一般的學校還是有很多選擇滴(當時的分數(shù)也不算很低,但離 985、211 還是差一截),至于去哪里,沒什么概念。于是我又做了個“明智”的決定:既然山旮旯里待夠了,那就去平原吧。要不北上?北國風光,又冰封又雪飄的,感覺不錯——就去黑龍江吧!

等我坐著四十多個小時的綠皮車(現(xiàn)在想起那味道就要嘔吐)來到哈爾濱時,有點傻眼。沒有南方的綠樹成蔭,只有整日的灰蒙蒙。北方整個冬日幾乎看不到太陽——切確地說是整個半年,國慶節(jié)就開始下雪,第二年掃墓時還嘎吱嘎吱。

相比于氣候,最讓我接受不了的是我的專業(yè)。我終于從別人的閑談中了解到了這個專業(yè)的真相——就是做洗臉盆、電線電纜的!據(jù)說我們專業(yè)一半以上的畢業(yè)生都去了電纜廠!

我不是鄙視這些行業(yè)——只是內(nèi)心實在接受不了這個落差。

最讓我接受不了的是,這個專業(yè)的核心課程是化學!

我最討厭化學——不是說化學不好,而是說我討厭我學的化學。我們初中開始學化學,那個化學老師拿化學當歷史教,每個人要拿著化學書去他那里背誦——就像我們小學背課文那樣!我感覺自己受到了侮辱,從此種上了仇恨的種子。

才邁入大學門檻,我整個人狀態(tài)就不太好了。

不過整個大一來說,我多少還是個“良民”。一方面剛進學校,新鮮感未減;另外高中那種“好好學習”的慣性思想猶在;更重要的是,大一的課程多半是我喜歡的,像數(shù)學、物理。嗯,我最喜歡物理——準確地說是喜歡里面的經(jīng)典力學部分。

所以大一的期末考試我的成績是排在中上的,有幾門課還是前五。

從大二開始,我離“好學生”漸行漸遠了。

我覺得大學學的東西越來越無聊,公式越來越復雜,越來越不知道它們到底有什么用。

這種感覺起于麥克斯韋方程組。那天,天朗氣清,百花盛放——我們校園也沒幾朵花——我愣愣地盯著老師在黑板上寫下一大坨公式,那天在上電磁學。我盯著這坨公式足足 10 分鐘,然后感覺自己的智商遭到了蹂躪。

這種感覺迅速轉(zhuǎn)化為仇恨——從此我再沒翻過一頁物理書!當然課還是上滴,只不過課本換成了《射雕英雄傳》。

自這以后,我的課堂狀態(tài)就進入“混沌”態(tài)。大部分課本都沒翻開過幾次,只是偶爾聽聽老師講什么,感興趣的就聽一下,不感興趣就看小說或者睡覺。

有一門課除外——這門課叫“線性代數(shù)”。這是我在混沌狀態(tài)中學得最認真的一門課(期末還考了個全班最高分),也是最摸不著頭腦的一門課。我之所以學它是覺得這門課很奇怪,講的東西好像不是來自人類文明。必須承認,雖然考了個最高分,但直到大學畢業(yè),我都不知道線性代數(shù)到底在講什么——直到十年后我在網(wǎng)上重學這門課,才知道可以用它做空間變換(如圖形的翻轉(zhuǎn)、變形)和線性方程組求解,在圖形學、大數(shù)據(jù)、人工智能等領域有非常廣泛的用途——對于計算機學科的人可以說是最重要最實用的數(shù)學分支之一。

老是看小說、睡覺也不是事。不學正課了,得干點自己喜歡的。我們這幫不學習的人基本分兩種:打游戲的和看小說的。打游戲的基本天天泡網(wǎng)吧玩《魔獸世界》,看小說的則是躺在床上金庸古龍梁羽生以及各種新生代。

我不太喜歡看武俠小說(除了古龍基本看完了,金庸看了幾本,其他武俠鮮有涉獵)——我覺得武俠小說過于虛構(gòu),而且滿是套路;更不打游戲,我覺得那是浪費生命。出乎意料地,我這個理科生很喜歡文學、藝術(shù)這類東西。從大二開始,我的大部分時間都是在圖書館度過的,看了很多文學、繪畫、書法、音樂方面的書,我覺得這樣很輕松,無憂無慮——當然這種無憂無慮是有代價的。

我喜歡寫作。從小時候就喜歡寫日記,高中還偶爾在校刊上發(fā)發(fā)文章。整個大學,我?guī)缀跆焯於紝懭沼?,多半是記些人生感想?span id="lnu3wvb" class="candidate-entity-word" data-gid="812458" qid="6538929902786221319" mention-index="0">哲學思考、文藝評論啥的——從某些角度看,大學生活其實無聊至極,也只能寫這些。整個大學寫了整整五大開本——畢業(yè)后被室友當廢紙賣了。

我曾嘗試寫小說。寫大學生活。寫了一半,放棄了,大學生活實在沒什么可寫。逃課?打架?戀愛?寫著寫著自己都覺得惡心。

一個偶然的機會,我喜歡上了哲學!

具體怎么喜歡上的忘了,反正當時很瘋狂,從柏拉圖海德格爾,或多或少都拜讀過——雖然很多是一知半解。

對我影響最大的是黑格爾。我花了很長時間(半個學期?)讀完了《小邏輯》,上面寫了密密麻麻的筆記。和其他(特別是早期)斷言式哲學作品不同,《小邏輯》里面多是邏輯推理。里面內(nèi)容現(xiàn)在基本忘得差不多了,不過最大的收獲是學會使用辯證法思維。

黑格爾最為外界熟知的名言是:“存在的即是合理的”,說的是凡存在的(實在)定有其必然性(凡事必有因)。這句話很容易被當權(quán)者利用,以佐證當權(quán)者的合理性(合法性)——黑格爾也因此被扣上保守派的帽子。然而他們沒考慮的是,黑格爾的“存在”本身就是個矛盾體,它必然會否定自身(揚棄)。馬克思根據(jù)黑格爾的辯證法邏輯給出了這句話的下半句:“合理的即是不合理的”。

《小邏輯》是出了名的難懂——雖然絕大部分哲學書都很難懂。記得當時一晚上只能看一頁(大部分時間在消化和做筆記)!但它是我為數(shù)不多的從頭到尾認真看完的哲學書,效果是后面看馬克思、尼采弗洛伊德就感覺不那么難了。

黑格爾還有本《美學》當時也是非常地熱愛,剛畢業(yè)那會還據(jù)此在 MySpace 上寫了篇萬字博文。

大三時我決定考研——考武漢大學哲學系!為啥是武大?因為武大有個鄧曉芒,我看過他翻譯的康德的《純粹理性批判》(好吧,這本書比《小邏輯》還難,看了一點,實在看不懂,放棄了),有個印象。

當時的想法是畢業(yè)后在一所不錯的大學當老師。

于是我買了一大堆考研資料,加入茫??佳写筌娭小@些家伙給外人有兩個印象:1. 特別會占座位;2. 精神可能有問題(否則為啥老是一個人嘴里念念有詞?)。

結(jié)果如你所料:沒考上。其實是差不多到后半截就放棄了,真教一輩子哲學貌似也挺無聊的——整天在那啥也不干就亂想?

就這樣渾渾噩噩到大四了。

大四(下半學期)主要就兩件事:寫論文、找工作。

你能想象一個專業(yè)課課本還是新的、每學期必掛一兩科的家伙如何寫論文?

你肯定想得到——多半你也干過。于我來說,互聯(lián)網(wǎng)在大學最大的用途一是和陌生人聊 QQ,另外就是寫論文。

具體做法是:進入中國知網(wǎng)(還是其他什么網(wǎng)忘記了),輸入關鍵字搜索,狂下數(shù)十篇論文,然后復制黏貼,完事!

如果說大學有什么事情做起來效率最高,那就是寫論文。寫論文最難的部分是摘要:你得用自己的語言總結(jié)一下這些七拼八湊的東西,而且這玩意也是你做論文答辯時的主要用辭。

寫論文的同時差不多就在找工作(哦,前面還有個叫“實習”的步驟,就是一幫人去幾個烏煙瘴氣的化工廠轉(zhuǎn)幾圈)。與其叫“找工作”,不如叫工作找我們。學校會聯(lián)系一些企業(yè)來做專場校招,我們只要看到有公司來就投簡歷。像我這種對本專業(yè)幾乎一竅不通的,簡歷寫什么呢?

不用怕,因為大部分人對本專業(yè)也一樣一竅不通!

校招公司多半看你簡歷上有沒有諸如“獎學金”、“活動”、“大賽”這樣的字眼。不管你信不信,我在大一還真拿過獎學金(三等)——僅此而已。如你所猜,我(以及其他好幾個人)去了四川德陽一家電纜廠——一家很大很知名的電氣集團下面的一家很小很不知名的子公司。

我的大學總結(jié)起來就是渾渾噩噩,亂七八糟而又單調(diào)乏味,但有一點是確定的:它跟編程(或說計算機)沒半毛錢關系。



電纜廠

七月,秋高氣爽(說什么大瞎話,那時候還熱的要命好吧——不過詩歌里面經(jīng)常這樣寫)。

我們一眾坐著綠皮車咯噔咯噔來到了如花的成都——旁邊的一個小城市,德陽。

初到德陽,給我兩個印象:滿大街酒糟味(據(jù)說劍南春旗下一個小酒廠在那);滿大街小電纜廠。

我們是 08 年去的,那年剛好汶川大地震,德陽雖然不嚴重,廠房也斜了一些,宿舍也在整修——得住活動房,沒空調(diào)的那種。

剛畢業(yè)跟剛?cè)氪髮W心情差不多,有種放飛的感覺。不需要再過宿舍—教室—食堂三點一線的無聊生活,還能自己賺錢養(yǎng)活自己,一下子感覺自己“成年”了。另外也沒多大壓力,很長一段時間的工作其實都是實習(跑跑車間,錄錄最基本的 ERP);也不用考慮買房結(jié)婚生子這些勞什子事。所以那段時間過得可以說無憂無慮,上班打卡,下班打球——對于四川人來說,下班后最大的娛樂活動其實是打麻將,但我不喜歡棋牌,所以下班后就跟幾個同學打打乒乓球。

雖然過得無憂無慮,但工作其實很無聊,基本就是天天呆在車間,看著一臺臺機器把 PVC 融化并擠成電纜皮。雖然“專家”們告誡我們這里面有很深的技術(shù)內(nèi)涵,比如如何保證電纜皮厚度均勻不起泡,我依舊覺得這項工作無聊透頂,只是為了表現(xiàn)得很賣力,天天拿個游標卡尺到處瞎測。

除了到處瞎瞅瞎測,就是畫圖。在這里我認識了一款叫 AutoCAD 的工程制圖軟件(好像大學學過?我不記得了)——從學長們的工作內(nèi)容看,自己后半生恐怕就靠這玩意吃飯了。

畫圖的過程很不愉快。當時有個圖(貌似是畫個齒輪)被總工駁回了五次——劈頭蓋臉的罵那種。

我再次感覺自己的智商遭到蹂躪。

于是第二天我不去了——沒請假的那種。

老子不干了!

我在床上躺了一整天。

第二天我去公司,正式提出離職——就這樣結(jié)束了為期四個月的電纜廠工作,也是我唯一一份跟專業(yè)相關的工作。



淘寶

我一時沖動,裸辭了。

接下來干啥呢?進另一家電纜廠?

怎么可能!

很迷茫。一段時間,除了打游戲就是睡覺,偶爾出門透透風,坐在河邊石頭上思考人生。

一次出門溜達,無意中跑到一家成人用品店前。我眼前一亮——要不賣這玩意?

我上網(wǎng)搜了下,成都火車站旁邊就有個成人用品批發(fā)市場。很近,不錯,可以搞!

于是當天我就殺到成都——當我看到偌大一片批發(fā)市場,各種成人用品琳瑯滿目時,我覺得不做哲學老師的想法是對的。世界之大,值得出去看看。

我像個賊似的來回溜達,斜眼瞄著往來人群。來這里的都是零售商,看他們表情很自然,我也就順著走進去,找了幾個老板攀談起來。和用 AutoCAD 畫齒輪不同,這玩意沒什么學習成本,一看就知道怎么用的。我的唯一要求是先賣后買,因為沒錢囤貨。那時候淘寶很火,很多批發(fā)商都支持這種模式,于是我從他們那拍了很多照片回去,注冊了個淘寶店鋪,傳圖片,開賣!

賣得最多的是壯陽藥——這玩意是真暴利,幾塊錢的進價,能買到上百,搞得我都良心不安。

可能是我不會運營,訂單量一直上不來,平均一天不到一單!

我感覺我可能會被餓死——雖然那時候是跟同學合租的,吃住全靠他們。

于是我又去大街上瞎轉(zhuǎn),看看有沒有什么好點子。



初識編程

我來到市中心,看著步行街兩旁擺地攤的,覺得這也許是條出路。

這些零碎小玩意成本不高,時間也比較自由——唯一可能的風險是其門檻實在太低了,做的人太多。

就在我猶豫要不要擺地攤時,不遠處一個小妹向我招手。

我瞬間被她迷住了——不是說她的容貌,說實話我現(xiàn)在想不起來她長啥樣了——被她手上的傳單。

“你是說編程?”我對編程多少有點了解,畢竟大學學過幾節(jié)譚浩強。

“對!這個行業(yè)現(xiàn)在可吃香了。”

我感覺這小妹頭頂有光,照得我心底透亮透亮的。

就這樣,我去了培訓機構(gòu)。在一幫老師的海闊天空下,我覺得自己已經(jīng)坐在去往人生巔峰的纜車上,也差不多摸到白富美的指尖了。

于是我開始到處借錢,總算籌夠了一個學期的學費(本來他們是按學年收費的,我一個勁擴窮,最后他們答應按學期交)。

進去上課才發(fā)現(xiàn),里面基本都是初中畢業(yè)的娃娃,頂多有幾個高中生——我覺得自己就是個另類。

學了兩個月,我發(fā)現(xiàn)自己真對編程感興趣,看來這次沒走錯路。

培訓課程進度很慢——在我看來——所以我自己買了些書籍開始自學,有本很有名的叫《java 編程思想》,當時學得廢寢忘食,云里霧里。

學了兩個月,開始做一些簡單靜態(tài)頁面,當時覺得好牛逼。

記得當時用 javascript 做了個連連看版俄羅斯方塊,拿了學校期末設計第一名——我覺得自己是個天才,很后悔為啥在學校沒去搗鼓這玩意。

第一學期很快結(jié)束了,該交第二學期的錢了。我實在沒錢,退學了。


第一份工作

學半年編程能找工作嗎?

管他呢,找找再說。

德陽沒有 IT 公司,得去成都。

想學半年就找個高工資不太現(xiàn)實。第一份工作的目標是:有班上。

簡歷也沒什么東西可寫,只能把培訓機構(gòu)做的項目搬上去(加點潤色,至少看上去高大上),再吹幾句自己怎么怎么熱愛這行,有什么什么樣的優(yōu)勢。反正,如果找工作的要求僅僅是“有班上”,找到還是不難的。

我當時找到一家初創(chuàng)公司(剛出來多半也只能找這種),好像叫“打分網(wǎng)”(沒做多久就倒閉了,不記得名字了),就是用戶可以給各種品牌手機評分、寫評論。當時 sns 概念很火,很多這方面的初創(chuàng)公司。

工資只有 2500——不過在當時的我看來已經(jīng)可以了,畢竟在電纜廠才 1500。

那時候很流行用 flash 做頁面(只流行了很短時間,后來被 ajax 替代),有個全棧工程師負責用 ActionScript 寫 flash 交互,我負責寫后端。

我打開后端代碼一看,尼瑪,這是什么語言,到處都是 $ 符號?

同事告訴我那叫 PHP。

納尼?說好的 java 呢?

在那——那個爬蟲是用 java 寫的,不過已經(jīng)不用動它了。

我就這樣入了 PHP 的坑——從此再也沒碰過 java。

我的第一個任務是用 PHP 寫模擬登錄,就是用程序自動登錄 Google、新浪、亞馬遜等網(wǎng)站,然后抓取里面的東西。至于為啥是抓亞馬遜而不是抓淘寶,估計因為老板以前在亞馬遜工作,看不上淘寶?

抓誰不重要,重要的是我特么壓根不會 PHP ?。菚r候我沒想到 PHP 那么簡單,時間緊迫也沒空去學)!

我花了幾個通宵沒搞定——感覺整個人被騸了。

我瞪著雙熊貓眼,跟老板提離職——我想一個人靜靜。



閉關

這份工作讓我深受打擊,之前還覺得自己是個天才,現(xiàn)在感覺原來自己一無是處。

晃蕩幾天后,我決定靜下心來好好研究下這個 PHP 到底是什么鬼東西。

一研究,發(fā)現(xiàn)這玩意出乎意料地簡單。我根本沒買什么書,也沒看什么視頻,就是把官網(wǎng)從頭到尾看了一遍。

我覺得我已經(jīng)掌握這門語言了。這里沒有類型,沒有無處不在的 class(那時候 PHP 已經(jīng)支持 class 了,但不是主流),沒有復雜的包結(jié)構(gòu),還不用編譯!

我又系統(tǒng)學了其他相關知識諸如 Linux、Apache、MySQL、jQuery。

于是我又重拾信心了,覺得自己可以干大事了。

那個時候 SNS 概念很火,人人網(wǎng)、開心網(wǎng)、聚友網(wǎng)(MySpace)如日中天,看得人眼饞。當時和一個朋友聊天偶爾聊到這,頭腦一熱,也想去開發(fā)個某某網(wǎng)出來。

初生牛犢不怕虎,想干就干。我們想開發(fā)個家庭 sns,一家人可以在上面建立虛擬家園,存照片、記日志啥的。

開發(fā)不到兩個月進行不下去了。開發(fā)進度奇慢(就我一個菜鳥開發(fā)),也沒有美工,后期怎么運營也沒有思路——更重要的是,我們發(fā)現(xiàn)其實已經(jīng)有好幾個類似的網(wǎng)站在運營了(后面無一例外都倒閉了)。

于是我又放棄了。

這段日子最大的收獲就是狠狠地鍛煉了編程技能,自此可以獨立承擔項目了(并發(fā)量和復雜度不是那么大的)。



德陽這地方是待不下去了(第一份工作離職后又回到德陽),生活節(jié)奏過于散漫(下班后滿大街的麻將聲)。

我得去大城市晃蕩一番——比如深圳。

2010 年,我背著旅行包,坐著綠皮車,咣哧咣哧來到深圳。之所以選擇深圳,一方面幾個大城市中深圳算比較近的,另外深圳有個比較要好的同學。

在深圳的第一家公司是一家招聘網(wǎng)站(目前已上市),那時差不多 600 人規(guī)模。面試出奇地順利,入職后技術(shù)負責人說感覺我技術(shù)挺不錯,讓我去開發(fā)流量統(tǒng)計系統(tǒng)。

這次我沒出洋相,花了一個月時間,加班加點,終于把系統(tǒng)開發(fā)出來了(雖然用現(xiàn)在的眼光看那個系統(tǒng)很粗陋,但基本設計思想是對的),上線運行一段時間也沒出什么幺蛾子。

第二個項目是校園招聘系統(tǒng)。這是個面向校招生的獨立平臺。在這個項目中,我發(fā)揮了自己出色的邏輯分析優(yōu)勢。得益于大學時期的哲學訓練,我對概念澄清與邏輯推演很擅長,在我看來,需求分析就是一種邏輯推演——角色-行為邏輯推演。接到產(chǎn)品經(jīng)理的需求文檔后,我寫了一篇兩倍于斯的再分析文檔,指出其中不下十種邏輯問題——結(jié)果是需求被打回重新設計。

這兩個項目給了我大量的實戰(zhàn)經(jīng)驗——編程、數(shù)據(jù)庫和系統(tǒng)設計方面。這兩個項目后我成為團隊核心開發(fā)成員,后面很多時間在開發(fā)底層組件——很多是基于 jQuery 的前端組件。

隨著業(yè)務量的增加,網(wǎng)站的搜索性能越來越被詬病,一次搜索可能需要 10 秒之久,這對招聘網(wǎng)站是不可接受的。

我當時接到的任務是引入開源搜索引擎,優(yōu)化網(wǎng)站搜索性能。

在今天看來這其實是很簡單的任務——引入 sphinx 或者 ES 就解決了。在當時也不難,大約花了一周多點時間就搞上線了——搜索時間從 10 秒一下降到 0.1 秒,這讓公司刮目相看。這件事讓我深深感觸:對于公司來說,程序員的價值在于他給公司帶來了多少收益,而不是他自己的技術(shù)多么牛逼。你哪怕技術(shù)平平,也沒做過什么特別炫酷的東西,只改了個符號,但給公司帶來了巨大收益,你就有巨大的價值。公司只會重用有價值的人,而不單單是所謂“能力強”的人。

初來深圳的生活極其單調(diào)——也極其充實:除了工作就是學習,瘋狂地學習。我開始研究 Linux,研究 jQuery 源碼,研究 PHP 框架源碼,研究 MySQL 底層機制。提升技術(shù)水平最佳方式就是去研究優(yōu)秀軟件的源碼。

就這樣持續(xù)了一年——直到我的心又蠢蠢欲動。

那天,我跑到主管面前說我要離職。

主管很詫異,跟我聊了半天。我很堅持,理由是想去外面大廠轉(zhuǎn)轉(zhuǎn)。



大廠

每個程序員都有一個大廠夢。

我當時估摸著,自己現(xiàn)在的水平進第一梯隊(BAT)有點懸,退而求次,進第二梯隊吧。

我先是面了酷狗。面試過程出奇地順利,雖然面試題基本是 C 語言相關,不過那時候我私下學了點 C 知識,略懂皮毛,看那些題目也不太難。第二輪是 CEO 面(我有點納悶,這么個崗位也要 CEO 親自面試?),hr 給我一份筆試題,瞅一眼,跟編程沒毛關系,更像是高中的閱讀理解題,主要考理解分析能力——這正是我擅長的。

題做完了,去跟 CEO 聊。我心里有些忐忑,大佬會問我啥呢?去了才發(fā)現(xiàn)忐忑是多余的,越是大佬越親和得很。他也沒問什么廢話,就是讓我說說這些題選 A 不選 B 的原因,就是看你怎樣分析問題。對我來說小菜一碟。

于是就這樣通過了。然后跟 hr 聊薪資。薪資不是很高(或者也還不賴?我也不知道,當時糊里糊涂),八千的樣子,說廣州薪資水平比深圳還是差一截的。我覺得也有道理,先進來再說吧。

于是我滿懷欣喜回到深圳。

躺在床上,我又感覺廣州有點遠——有點不太想離開深圳。

于是我又在深圳找——去了迅雷。

迅雷主要面了 PHP 和 javascript 的一些知識,也不太難(后面聽同事說做錯了幾題)。第一輪面試官老是問我前端(主要是 js)問題,我就很納悶,我不是來面試后端工程師的嗎?后來才知道他在里面主要就是寫 js。

第二輪是事業(yè)部技術(shù)總監(jiān)面,也沒問什么很難的技術(shù)問題,一半的時間在聊生活。

迅雷的待遇和酷狗差不多,我選擇了去迅雷,主要是它離我住的地方近,懶得搬家。

去了才知道,PHP 工程師在里面屬于前端組,主要做各種腳本工具(如異步生成緩存)——他們后端是用 C++ 寫的。我進的是迅雷看看事業(yè)部(現(xiàn)在賣給響巢了),第一個任務是給各頁面生成靜態(tài)緩存——這是我在里面用 PHP 干的主要的事情,其他時間都在寫 js。

迅雷(應該說看看事業(yè)部)給我的感覺是工作氛圍很輕松自由,工作節(jié)奏較慢,我覺得一周就能搞定的,他們要兩周。所以我在里面其實很多時候沒事做,只能學習。

還有個現(xiàn)象讓我受不了,他們每天晚上都要耗到 8 點以后才下班——不是說工作很忙,很多人其實在那玩游戲、看電視、盯股票。那時候的我還沒有加班的概念,每天晚上7點前就跑了,漸漸地我發(fā)現(xiàn)研發(fā)這邊每天都是我走得最早,像個另類——這種感覺很不舒服。

至于技術(shù)水平,他們給我的定位是中級偏下(或者叫初級偏上),不過在我(當時)看來,其他人水平也不比我高多少(有那么幾個技術(shù)比較牛的,但平均而言,水平一般——可能是當時的我比較輕狂?)。我大部分時間都在敲 js,原生的那種(其實是用他們內(nèi)部開發(fā)的一個小框架),最讓人頭痛的就是 IE6,有一次一個小問題把我折磨了大半夜,那次剛好是產(chǎn)品發(fā)版,其他人都干等著——那是我最尷尬的一次,像是吃了狗屎。

平心而論,我在迅雷多少學到了一些東西——特別是在工作流程和團隊協(xié)作上(雖然很多東西是我后來反思時才發(fā)現(xiàn)的)。他們的產(chǎn)品經(jīng)理是我見到的最專業(yè)的(哈,我也沒見過幾個產(chǎn)品經(jīng)理嘛),你只要嚴格按照他的產(chǎn)品文檔敲代碼就行(這難道不是理所當然的?不是,大部分小公司做不到這點)。

看看的問題是它始終未能真正盈利(賣給響巢后就不知道了),當時其主要收入是廣告,外加會員(會員在當時還是個新事物,很多用戶還沒有接受這種模式),面對高昂的版權(quán)費用,常常入不敷出——不光看看是這樣,當時幾乎所有的視頻網(wǎng)站都是這樣,所以當時流言道視頻就是個拼爹的行業(yè),不幸地是,看看的爹遠沒有愛奇藝和騰訊視頻的硬朗。

對于程序員來說,迅雷是個很不錯的跳板。很多程序員在迅雷干三年左右便去了騰訊——除了我。

這不是說我在迅雷待了很久——我在那只待了差不多半年。

當時因為家里有些事情,需要請兩個月長假。上面的意思是時間太久,無法按假期處理,得先辦離職,后面如果想回來可以再入職。

于是我離職了——永久的那種。

我再沒有回去。我覺得自己無法適應那里的工作節(jié)奏,工作也沒什么挑戰(zhàn)。我覺得自己還是應該去小公司,有句話叫“寧做雞頭不做鳳尾”。

這是我做過的最錯誤的決定之一。年少輕狂,缺乏長遠考慮,潛意識里根本不把 BAT 放在眼里——等意識到時,為時已晚。


小廠

兩個月后,重新開始找工作。

我像個無頭蒼蠅,到處亂碰——差點去了外包公司。

最后去了一家做建筑設計的創(chuàng)業(yè)公司(早已倒閉)。當時的技術(shù)面試就是走個形式,然后就到 hr。hr 聽說我在迅雷待過,二話不說,明天來上班吧。

如我所愿,我在那“帶團隊”——兩個后端(包括我),一個前端,一個運維。

公司想做建材行業(yè)的阿里巴巴,但老板并不具備互聯(lián)網(wǎng)思維。產(chǎn)品一直在開發(fā)階段,直到我離開時都沒有一個真正的客戶。

工作之余,我開始學匯編和計算機底層知識。

一年后,實在看不到希望,我離職了。

后面又待了幾個小公司,沒有一個超過三個月的——有些是倒閉了所以離開,有些是快倒閉了所以離開。

至今還活著的一家叫明源——不但活著,去年還在香港上市了。

我在明源呆了兩年——這是我成長最快的兩年,不光指學知識,更重要的是解決問題的能力。

明源很有技術(shù)氛圍,團隊采用 Scrum 敏捷開發(fā)模式,每個團隊 8 人左右:產(chǎn)品經(jīng)理、前后端、測試。一年后,我擔任一個項目團隊的 SM(Scrum Master)。從那時起,真正開始思考團隊問題。

也是在那時候,我開始重點學習系統(tǒng)架構(gòu)和設計。在系統(tǒng)設計上,對我影響最大的是《領域驅(qū)動設計》這本書(這本書前后看了幾遍,每次都有新收獲),當時我看完第一章后,感覺它給我打開了一扇天窗,很多疑惑撥云見日。我很喜歡里面的一個觀點:代碼即設計(源自喬布斯“產(chǎn)品即設計”的說法)。

明源每年都有一次“黑客馬拉松”活動,所有團隊先選一個創(chuàng)意點子,然后通宵達旦設計、開發(fā)、測試、PK。一些作品后來轉(zhuǎn)換成了真正的產(chǎn)品。

遺憾的是,我當時所在的項目不溫不火(當時很多項目都是這個狀態(tài),真正賺錢的就一個。當然我走幾年后有幾個新項目發(fā)展起來了,最終還上市了),加之當時跨境電商很火,我決定辭職去做速賣通(阿里巴巴旗下跨境零售網(wǎng)站)。



跨境電商

很多人看別人做一件事情成功了,便覺得很簡單,自己也想去試試——我就是這樣。

那時候(15 年左右)跨境零售電商很火,很多人做亞馬遜發(fā)財了,阿里巴巴也在大力推廣速賣通。我覺得可以一試。

套路很簡單:去速賣通注冊個賬號,從 1688 上搞些圖片傳上去,開賣!

大家都是這個套路,所以你去商品頁隨便搜個東西都會出來一大把一模一樣的。

于是就淪為價格戰(zhàn)??缇沉闶酆艽蟮囊徊糠殖杀驹谖锪鳎ㄎ覀冑u的小件運費比商品批發(fā)價高得多),上面很多商品的標價比運費還低,純粹賠本賺吆喝——也就是刷流量。

我堅持了一年,開始的時候還算可以,至少比上班強點。越到后面越難搞,天天傳產(chǎn)品、優(yōu)化推廣、打包發(fā)貨,比上班累多了,但單量就是上不去。

我也曾打造過幾款爆品,一段時間內(nèi)訂單量確實喜人——然而,馬上,就會看到大量跟風。

如果決定繼續(xù)做,得成立團隊才行——供應商管理(拿到更低的批發(fā)價、定制商品)、物流管理(拿到更低的價格、更穩(wěn)定的服務,甚至是海外倉)、售后,最重要的,持續(xù)的打造爆品——這是一門高深的學問,非?;ňΑ?/p>

我選擇了放棄——這可能又是一次錯誤的決定?,F(xiàn)在看來,如果當時找?guī)讉€人一起搞,或許結(jié)果會完全不同——當然也可能一敗涂地。

說白了,那時的我并沒有準備好全力以赴,對電商運營也只是摸了個皮毛,一旦遇到困難,就會退回老本行——至少后面還有路。


老本行

于是我又開始找工作。

在朋友介紹下去了平安一個新成立的項目團隊(平安好車主)。

這是個全新的團隊,開發(fā)人員主要由 PHP 和 Golang 組成(后來除了離職的,基本都轉(zhuǎn) java 了)。

平安這種大公司流程出奇地繁瑣,我申請個服務器資源,各種文檔各種審批,前后折騰了三周有余(后來據(jù)說部分是因為新團隊和平安科技運維團隊溝通不暢導致)。

我開發(fā)了個好車主推廣活動,策劃一再強調(diào)注意并發(fā),到時候訪問量怎么怎么暴漲。本來信心滿滿,讓他幾次嘮叨,我倒心里沒底了,活動當天死盯著負載和數(shù)據(jù)——結(jié)果毛事沒有,他所謂的并發(fā)也就那么回事。

活動結(jié)束了,我的老毛病又犯了——我覺得這里的節(jié)奏不適合我。

其實那時候我自己迷茫得很,我不知道未來該怎么走了,甚至不知道該不該繼續(xù)呆在這個行業(yè)。

我躺在床上把過去的事放了一遍電影,總結(jié)出兩個關鍵點。

這些年蹦跶得有些頻繁。像我這種半路出家的,前一兩家蹦跶很正常(因為不太可能第一家就能進大廠,多半需要從低處開始起跳),但差不多從第三家開始就要講究沉淀了。沉淀時間差不多要三年,因為你需要時間去融入團隊,融入公司文化,理解公司業(yè)務和系統(tǒng),解決幾個關鍵問題,開發(fā)一兩個核心系統(tǒng),提升自己的綜合實力。

“寧做雞頭不做鳳尾”的想法害人不淺。人們喜歡用幾句濃縮的所謂“格言”來指導(忽悠)自己行事——很多人往往就死在這些“格言”上。相較于鳳凰,雞自然滿地都是,但絕大多數(shù)都活不長久。當今時代,指望通過加入一家未來能上市的初創(chuàng)公司發(fā)大財,等于買彩票賭頭彩。重點不在于能不能去賭,而是自己是否清楚這個概率風險。對于你我普通程序員來說,最優(yōu)解是盡快進入大廠——收入是一方面,更重要的是自己實力提升與未來品牌影響力。

我決定進一家稍微靠譜點的公司,老老實實呆幾年。

我去了一家 toB 公司。

和以前一樣,我面對著一堆亂七八糟的系統(tǒng),混亂不堪的工作流程——還有加班。

呆了一周,心情糟透了——第一念頭又想走人。

但這次我沒有那么沖動了。所謂家家有本難念的經(jīng),沒有一家公司能做到完美無缺。你是來解決問題的。

我開始著手解決各種疑難雜癥。在這里,我見證過因系統(tǒng)崩潰而導致的流血事件。老版把視頻發(fā)到群里,大家像雞一樣呆坐著。

我開始整理公司系統(tǒng)架構(gòu)。公司有很多異構(gòu)系統(tǒng),有些團隊不在一起辦公,溝通都存在困難,很多底層數(shù)據(jù)都沒有打通,系統(tǒng)交互困難重重。

我洋洋灑灑寫了一大篇架構(gòu)設計文檔,企圖一舉解決掉各種問題。然后——在漫長的時日里——我愈加確定一點:研發(fā)問題的本質(zhì)是人的問題。

你的架構(gòu)設計可以做到無懈可擊(實際上做不到),但問題是很難實施,越無懈越難實施。對現(xiàn)有系統(tǒng)的改造可以用“舉步維艱”來形容,沒人愿意去做大型重構(gòu)——系統(tǒng)不穩(wěn)定的鍋可以由整個研發(fā)部門來背,但一旦因重構(gòu)導致重大損失,責任總能追溯到具體團隊甚至個人身上。

重構(gòu)在技術(shù)上的困難主要是新舊兼容問題。包括代碼兼容(灰度)和數(shù)據(jù)兼容,甚至涉及到數(shù)據(jù)遷移——沒人愿意干這種勞什子活。

所以研發(fā)團隊的一個共同現(xiàn)象是,大家寧可日復一日地修復沒完沒了的 bug,也不愿下決心重寫整個系統(tǒng)。

所以,如何讓自己的設計切實可行,并說服其他團隊支持你的方案,并且愿意劃配資源協(xié)助你做這件事,是非常考驗一個人的綜合能力的。

與此同時,我又開始帶團隊。這次帶得比較久。

團隊的本質(zhì)也是人的問題,但團隊≠個人之和。我們常說 1+1>2,卻忽略了很多時候 1+1<2,特別是在跨團隊協(xié)作時。研發(fā)團隊遵循邊際效益遞減定律,當項目參與人數(shù)達到一定規(guī)模時,再加一個人會讓整體進度更慢——外界感覺不到這點,你經(jīng)常聽到“再加幾個人,這周搞完!”的豪言。

我開始反思自己的知識體系。

自從入行以來,我就在一刻不停地學習(除了做速賣通那段時間),各種編程語言、各種數(shù)據(jù)庫、算法、架構(gòu)、設計、各種新潮框架......漸漸地,我發(fā)現(xiàn)個問題:我學得越多,就覺得自己不知道的東西越多。這樣學下去,何時是個止頭?更重要地是,一些東西前面學后面忘。

有一天,我想通了一件事:我沒必要學這么多東西。知識的價值在于用其解決實際問題,而不在于你記了多少定律多少公式。要想讓知識發(fā)揮實際作用,必須形成知識體系。

所謂體系,就是你的思維模型。

知識本身并不必然會構(gòu)建出知識體系。想想我們學數(shù)學,從小學到大學,學了長方形面積、畢達哥拉斯定理、正負數(shù)、指數(shù)和對數(shù)、實數(shù)和虛數(shù)、微積分......越學越迷糊,越學越討厭數(shù)學——因為我們所謂的“學”數(shù)學,不過是背了一堆數(shù)學公式,壓根沒有構(gòu)建出數(shù)學知識體系。

要想構(gòu)建數(shù)學知識體系,你必須學會如何創(chuàng)造數(shù)學本身——真正要學的是如何得出“長方形的面積等于長乘以寬”的思維方式,而不是記住面積公式本身。

然而,模式提取往往需要建立在大量的經(jīng)驗和知識儲備上,比如只有在實際研究了幾款軟件的集群實現(xiàn)方案后,才能提取出一些通用模式,進而去研究分布式協(xié)議。

所以,一定量的知識儲備是必要的,但到達一定程度后,需要著重思考、整合、建模,構(gòu)建自己的體系。

好了,這篇文章的內(nèi)容發(fā)貨聯(lián)盟就和大家分享到這里,如果大家網(wǎng)絡推廣引流創(chuàng)業(yè)感興趣,可以添加微信:80709525  備注:發(fā)貨聯(lián)盟引流學習; 我拉你進直播課程學習群,每周135晚上都是有實戰(zhàn)干貨的推廣引流技術(shù)課程免費分享!


版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關法律責任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 sumchina520@foxmail.com 舉報,一經(jīng)查實,本站將立刻刪除。

您可能還會喜歡:

發(fā)表評論

◎歡迎參與討論,請在這里發(fā)表您的看法、交流您的觀點。