一直想把自己這些年的經歷寫下來,一是想做個人生總結,在30歲這個年紀似乎恰到好處。二么,也是想提煉一點經驗贈與后來人。
我30年的經歷大致能分為幾個階段,流離,思考,迷惘,堅持。
流離
我出生在一個富裕家庭,當然這種富裕僅僅存在于我童年那些模糊的記憶里,上初中的時候,為了躲避債務,父親變賣了房子,遠赴安徽掙錢,母親則帶著我上完初中和高中。那段日子,我們把寧波大大小小能住的便宜房子住了個遍,有些幾乎是建國前的產物。對于我,這是苦難,然而卻沒有勵志的故事展開。那一年高考,我考了個上榜線,事實上,我這個分數幾乎沒什么可選的余地,于是我去了青島。大學的第二年,母親因為癌癥就去世了。這件事給予了我致命一擊,其中蘊含的痛苦和悔恨即便過去了十年依然如初,絲毫未減。
迷惘
母親走了,殘酷的現實沒能激發我面對生活奮力掙扎的勇氣,倒使我愈發迷惘,網吧,逃課,宿舍幾乎成了大學生活的全部。這個階段,我肆意揮霍著我的青春,然后大三的時候就休學了。沒拿到畢業證的我跟著幾個同樣肆無忌憚的室友在青島闖蕩著,闖得頭破血流,很快就花光了學費,為了謀生,我做過銷售,賣過網站,也炒過外匯,洗過車,擦過鞋,結果在一場朋友義氣中被騙光了僅有的積蓄,灰頭土臉的回到了杭州。
下飛機的時候,我有點懵,回想起在青島住廚房,天沒亮起來穿西裝打領帶跑客戶的經歷,突然覺得回家,真好。
10年回到杭州的我,24,年輕,但三年大學,總得給家里個交代,于是我就開始自考之路,看到這里,你或許覺得經歷了這么多總該奮起拼搏,然后展開一篇勵志故事了吧,但是我想說,然而并沒有。在圖書館堅持了半年,考了5門,過了2門,我身上有著普通人所有的缺點,懶散,害怕困難,缺乏毅力,自視甚高,理想主義等等。在奶奶家吃了半年白飯,終于是被趕了出來,在父親朋友開的藥店里當起了倉庫管理員。
倉庫管理員這個職位其實很高大上,君不見多少新聞都是各種倉庫管理員或者保安,圖書管理員,艱苦奮斗后屌絲逆襲高富帥?但是到了我這里,故事的發展是,貪圖安逸的我過著沒心沒肺的逍遙日子,1年后我榮升倉庫管理員兼職行政采購,掌握了藥店的生殺大權,深得老板器重和賞識,升職加薪。。.加了900,總共1700.
1700的工資能干什么?11年的時候我看了篇文章,說在杭州沒有4000塊錢,談戀愛都不要想,當然我是不信的,于是我談了一場戀愛,最后結局是姑娘給了我10塊錢坐公交,然后,就沒有然后了,這是個凄涼的故事,親情,愛情,學業,看到這里,應該崛起了吧,按照往常故事的發展,經歷過這么多人生的重大打擊,應該奮發圖強,屌絲逆襲了呀。然而并沒有,這個社會上有很多人,在經受了各種打擊之后就發誓要崛起,各種賭咒,恨不得立馬回家頭懸梁錐刺股,或者被各種勵志電影和故事所感動,決定明天開始就好好規劃人生。。.我就是這么一個普通人,不斷循環著 :
打擊 -》 “我要奮斗!” -》繼續茍活。
我呆的藥店已經開了10年了,我本以為可以就這樣茍活度過另外一個10年,我想大家面對生活要做出選擇的時候,都會傾向于更容易的一條路,why?因為我們就是這樣的普羅大眾啊。。.但是老天怎么會放過我呢?12年末的時候,藥店因為經營不善面臨倒閉,生活所迫,我只能選擇辭職,另謀出路。這一年我26.
思考
離開藥店以后,我找了個網管的工作,不過上班第一天就讓人給辭了,因為不會接網線,管人事的小姑娘還特意給我留了點后門,讓我有機會看視頻翻資料,結果,網線接完,插上,燈沒亮。
我不記得當時怎么走出大樓的,這是我人生第一份自己找的正式的工作,雖然只有半天,我依稀記得,面試上的時候,我回藥店里跟那幫阿姨大媽得瑟,2800呢,轉正3500,每年還有加薪呢。大媽們艷羨的眼神充分滿足了我的虛榮心,我還記得就在2個小時前,我還興奮的準備投入這份大有前途的工作。。.
我騎著我的兩輪寶馬,漫無目的的往家開,我不知道別人二十六七在干嘛,或許大部分人都在努力工作吧,我也想努力,可惜沒有工作。我最終是沒回到家,把車停路邊,一個人坐在橋上看著南門江,我咬了咬牙,日子總得過,靠著以前藥店的關系,我從信用卡里套了8000,我不知道能不能找到工作,或者我該做什么工作,但至少這筆錢給了我一點時間,雖然成本高昂。我回家開始海投簡歷,然而我在藥店2年的工作經歷,并沒有卵用,因為我不是藥學專業,同時也沒有任何資格證,走藥店的路子基本是被否了,我唯一能想到的只有計算機。
我從小喜歡玩游戲,大學里學的是網絡技術,我想我或許能找一份相關的工作,然而悲劇的是,我并沒有任何學歷證明,甚至連高中文憑,我都還沒從學校里拿出來。簡歷投了不少,不過沒有任何公司愿意面試我。仗著那8000塊錢,我在家自學了點sql和javase,但工作依然沒著落,心灰意冷之下,每天過著醉生夢死的日子,就這樣熬過2個月,基本是白天黑夜顛倒的過,編程是沒學會啥,看這所剩無幾的錢,想想下個月銀行的賬單,誒,怎一個愁字了得。
絕望,這是我唯一能想到的詞,不過或許是時來運轉,我終于得到了一家公司的網絡管理員面試邀請,幸運的是,這次面試,我通過了。3000,對我來說,已經是雪中送炭。
我的人生得到了喘息之機,也給了我一次能夠思考的機會,我不知道別人二十七的時候在干嘛,但我想我這種拿著3000不到的工資,給人修電腦拉網線,估計也挺多的,哈哈哈哈。笑是苦澀的,二十七歲,一無所有的我依然是苦澀的。
另一種人,或許就是我這種,快活不下去了,所以不得不思考。當我坐在辦公室,面對著一個用c++寫的破erp系統,我開始思考,這玩意是怎么做出來的,所謂c/s,b/s到底是什么,我的網管工作持續了大約6個月,這6個月的思考和我學習到的知識,成了我接下來人生的基石。但最初的原因,很簡單,因為我要對這個erp系統做二次開發,而我僅僅懂得一些sql,所以我需要思考。
我的編程生涯沒搞過什么大的故障,即便是后來混進BAT,發布的代碼影響成千上萬的人,也沒有,這可能得益于我擔任網管時期搞出來的重大bug,在我最初寫sql的時候,我所在的這家公司主營是母嬰連鎖,我的二次開發就基于數據庫,直接寫sql腳本,后來我花了不少時間學了c#,搞了個簡單,甚至是簡陋的客戶端用來執行這些腳本,最初的時候,我拙劣的編程技巧把數據庫里的一個月的銷售數據全干掉了,但慶幸的是全公司只有我一個人知道這是什么原因,冒著被炒魷魚的風險,我熬了幾個通宵,找回了這部分數據。
這件事對我影響很大,我開始意識到,原來這些英文字母組成的玩意能夠輕易的摧毀一家公司。這也堅定了我繼續走程序猿道路的決心,當然我得首先跨越一個檻
入行,成為一名程序員
幸運的是我任職的這半年正好是銷售的淡季,我每天的工作就是去各個門店給大媽修電腦,修電話線,諷刺的是,這個階段我熟練的掌握了網線的制作技巧,雖然這個技能很有用,居家工作都用得上。空余的時間我如饑似渴的學習著c#編程的技巧,6個月后,我讀了不少書,也做了一個簡單的客戶端系統,自我感覺極其良好,我覺得時機來了,或許我能成為一名真正的程序員,2013年10月我離開了這家公司,開始新一輪面試。
上大學那會,我看得最多的書都是有關于哲學的,從古希臘哲學史到邏輯學,有時候我也能蹦出兩句富有哲理的話,譬如,預期和風險是等價的,預期越高,失落的風險也越大。
我對程序員的美好預期,造成了我面試的巨大失落,相比半年前海投的無聲無息,我得到了幾個面試機會,比如和從達內培訓出來的90后們競爭一個實習崗位。面試我的是個禿頂的中年男人,他給了我一張試卷做了一些c#的題目,完成得不是很好,很多面向對象的問題和術語我都不理解,但我印象最深刻的是他問我的最后一個問題。
“你知道怎么遍歷一個panel來修改里面元素的值么?”
然后我很懵逼的問了一個問題“。..。啥叫遍歷?”
然后?當然沒有然后了。我走出來的時候,除了失落,更有深深的挫折感,在過幾個月就28了,但從禿頂大叔的眼神中我看到了深深的鄙視“你是猴子派來的逗比么?”我發現自己看的書,網上抄抄改改的代碼并沒有卵用,從某種角度講,我連菜鳥都還算不上。當然如果失落可以拿來還銀行的債務,我還是愿意多失落會,只是沒了工作的我如何面對下個月超出我工資的銀行賬單。..
路過那些大公司的時候,我突然覺得這一幕很相似,剛畢業那會賣網站,我們那個小組長就給我們放《當幸福來敲門》洗腦,這真是部不錯的片子,其中男主在大廈外面看著投行的員工滿臉幸福的穿梭的時候,我突然感同身受,除了沒孩子沒老婆,不過這么一想我還不如他,誒。..
在大公司門口發了半天呆,最后我沒找到怎么進去瞧瞧,只好悻悻然走了,賬單的日子一天一天逼近,有時候人活著真得靠運氣,我終于碰到一家只面試sql的公司。當然后來知道我這主管水平比較低也只能面面sql。憑借著好幾個月的sql經驗,我再次得到了一個喘息之機。
網上有篇文章說中國正在經歷階級固化,90年代為什么下海就能發財,不是因為下海的人多聰明,那是因為那是階級固化的早期,充足的階級流動性制造了大量的機會,那個年代的人是幸福的,只要膽大,肯吃苦,誰都有機會成為更高的階級。但是今天,機會正在減少,而對于我們這種活在社會底層的人而言,機會是如此的重要。我知道雖然只是一個程序員的名頭,工資也就加了500,面對的電腦還是10年前的產物,對于很多人來說,這一切都不值一提,但對我而言,這或許是唯一的機會,就像一個救命稻草一樣。
面對殘酷的生活,我們有時候難免心生絕望,這時候來一點心靈雞湯就很必要了,而我的精神食糧就是《當幸福來敲門》無論男主在救濟站里挑燈夜讀還是抱著兒子躲在廁所里過夜都激勵著我即便是上廁所也不能放棄思考和學習,男主得活著,而我沒時間了。
三個月,找不到薪水更高的工作,我就得面臨被銀行追債的風險,或者說是必然。
寫c#的這三個月,我開始接觸到前端,javascript的靈活性,和前端開源社區的繁榮,都深深的吸引我,why?學習的門檻低啊。..相比c#和java,javascript你能在網上找到大量的優秀的代碼和示例,無數前端大牛們在貢獻著一個一個精妙的代碼庫,前端充滿了奇思妙想,同時這是一個新興工種,這意味著你的起點不會比別人落下多少。
故事到這里其實已經告一段落,后面就是我被銀行賬單催著不斷跳槽,學習,加薪,混進BAT。就像玩游戲一樣,游戲中最大的樂趣都在從新手村出來混到中級玩家的那個階段,你會遇到很多挑戰,然后認識很多朋友,最后在滿級的時候說別離。當然這不是個很恰當的比喻,技術是無止境的,但俗話說萬事開頭難,當你開了一個頭,只要堅持就會不斷的進步,別停下,你總會拿到你要的結果
堅持
最初面試前端的時候我遭遇了c#一樣的尷尬,被面的一無是處,但我深信堅持就會有轉機,就像我能碰到只面sql的公司,同樣也能碰到只面bootstrap的公司,而達成這一切的關鍵就在于你是否能堅持到轉機的出現,轉機何時出現,你,我都不知道,但我們至少還能夠鼓足勇氣去堅持,去尋找機會。
《幸福》中男主在面對他兒子打籃球的時候,悲觀的他告誡兒子,你打籃球是不會有出息的,但隨后他便改口
人總要為自己做的事情找個理由,說服自己也說服別人,寫博客也一樣,說到底,我們寫博客的最終目的還是為自己所思考的東西找個去處,換個說法,我們每一次思考,就像是玩一款游戲,如果你不保存你的進度,那只能寄望于一次通關了。不然永遠也玩不到更高的級別。這樣可以解釋為什么技術大牛都樂于寫博客和分享,只有這樣才能逐漸的把一個問題思考的更透徹,更深入而不是日復一日的重新思考。
故而隨著我們經驗和技術以及閱歷的增長,我們對問題的解釋也會發生變化,對于半路出家的倉庫管理員如何成為一個“好”的前端工程師,在不同階段的描述也截然不同。
過去我習慣于從左到右的思考,因為這符合書寫的習慣,對于“好”得前端工程師,我們首先可能會去思考什么是好,好的定義和范圍,標準和要求?但現在我習慣于從右到左的思考,因為我覺得越是抽象越難以定義,從粒度更小的名詞入手,我們更容易找到解開問題的路徑。故而我將這個問題分成三個階段來思考:
如何成為工程師,如何成為前端工程師,如何成為好的前端工程師
當然這一切還有一個前置條件“半路出家的倉庫管理員”
突出倉庫管理員的目的,在于任何轉行你都得有一個前提,那就是你得有時間,在日常工作之外能夠給自己流出充足的時間來學習和提升自己。而半路出家則說明了一個現狀,每個人都會對生活不滿,迫于壓力或者其他原因來尋求轉變,希望能進入投入產出比更高的職業領域。如果你仔細的去尋找一些逆襲的履歷,你會發現很多都有類似倉庫管理,圖書管理,保安等等之類的經歷,所以你想通過自學轉行當前端工程師。
第一步就是找一份,能養活自己同時又提供足夠的空余時間的工作。
如何成為工程師
軟件工程師可以看做是對程序員的一個加強,工程是一個商業化的概念,相對于程序員這個概念,工程師更復雜,程序員更純粹,簡單的理解,當一個程序員在某一個商業領域有了一定的項目經驗以后,他就是一名工程師。
當然半路出家意味著你不可能回頭再去讀四年大學好好學習如何當一個程序員,所以我們要跨過這個概念,直接進入工程師這個范疇,關鍵便是“在某一個商業領域有了一定的項目經驗”商業是以結果為驅動的,故而你只要獲取到一個完整的項目經驗,便可以跨過程序員這個雷區成為一名工程師。
所以在這個階段,尋找任何一份能夠接觸到實際完整項目的崗位就成了當務之急,每個人基礎不同,在這個階段,可能有人能迅速找到相符合的崗位,而有人可能只能找到一些似是而非僅僅是搭上邊的崗位,比如名為前端,實際卻只負責頁面修修改改,摳圖之類的工作或者被外包到某些公司里負責活動頁面等等。但只要目標明確,盡快獲得一個完整的項目經驗,你就不會在工作中迷失自己,這個階段跳槽可能會很頻繁,因為你在快速的調整自己。那么什么樣的項目是完整的呢?
一個完整的web項目包含了從前端的用戶輸入到后端的數據存取,任何復雜的大型項目本身也是無數個小項目構建而成,所以經歷一個完整的web項目,有助于你從前到后的了解數據如何從瀏覽器端經過服務器處理流入數據庫。過去我可能會推薦你試試php,因為它和JavaScript很像,現在有了node,要搭建一個web應用就變得更加簡單了。當你經過一系列不堪回首的過程,在作坊公司里開發了一個完整的web項目的時候,你就可以嘗試進入下一個階段。
如何成為前端工程師
在github上流傳著一份前端工程師技能樹,乍看之下絕對會打消你繼續朝前端努力的念頭,因為它太繁茂了,枝繁葉茂的技術棧層出不窮,更有新技術被不斷的添加進去。所以我這里并不推薦你按照技能樹的順序去學習,因為前端的技術迭代太快了,可能你還沒學完這個技術就已經被其他新技術所取代了。在我看來前端領域包含了兩個大塊,計算和設計。
設計
設計包含了用戶的交互體驗和視覺,css所要描述的內容,大多來自于設計領域可以說基本是ps上內容的移植,所以了解些ps設計上的知識有助于你將設計稿轉換成css代碼,而交互體驗主要是指用戶在應用上的操作是否流暢,這種流暢包括性能和交互兩個方面。
計算
如果細數前端這些年的發展,其實除了一些瀏覽器環境特有的問題,大多數還是在照搬后端的那些東西,包括模塊化,編譯,面向對象等等,這么做的原因是什么?我覺得是為了解決web應用中的一個趨勢,計算前置,為了使web應用在設計中能夠使用戶交互更加流暢,我們把很多后端的計算邏輯搬到了前端來完成,這種趨勢促進了前端技術的發展。
而面對如此繁復的前端技術體系,又從何入手呢?
首先萬變不離其宗,基礎不能落下,JavaScript是重中之重,掌握JavaScript其實不難,作為一門腳本語言,JavaScript本身的標準化庫也著實少得可憐,日常工作中,你用到最多的可能就是處理dom事件,發送ajax請求,處理回調,渲染dom。
JavaScript內部的機制,閉包等概念,在這個階段,你可以知其然但不知其所以然,因為這些概念本身是需要經驗和時間的積累去理解的。
其次css,說實話你能使用css3寫出動畫并且掌握常見的布局就足以應對大多數初創公司的要求,至于less和sass,懂更好,不懂也無妨。
最后你得熟練使用jQuery,因為它太簡單了,花不了你多少時間,另外掌握bootstrap,可以顯著提高你在一些后臺應用開發中的工作效率。有了以上這些技能加上一個完整的項目經驗,前端工程師的大門便為你打開了,你要做的很簡單---跳槽
如何成為“好”的前端工程師
經歷了前兩個階段的洗禮,我不知道你花了多少時間,數月或者數年?但這一切才剛開始。雖然我想說寫代碼是為了改變世界,不那么功利,但事實上,半路出家搞前端,多半都是家里揭不開鍋了。..想要養家糊口,自然得當一名好的前端工程師。
而所謂好在這里其實是和薪資掛等號的,這個“好”可能相對狹義,并且更具有商業化的色彩,故而成為好的前端工程師可以這么來。
關注業界動態,github基本上算是前端開源技術的風向標了,從backbon 到angular 到react都是各領風騷兩三年,掌握一門時下熱門的流行的開發技術對于你的薪資提升有很大的幫助,畢竟熱門就意味著更大的影響更多市場需求,而薪資顯然是供需關系主導的。
注意溝通表達能力的培養,想的再好,說不出來也枉然。
時間有限,盡可能投入到新技術或者投入產出比高的技術學習中去,比如現在再做ie兼容類的工作,就是很低收益的事情。
最重要的一點,一旦你目前的工作對你來說得不到提升,就要考慮走人了,不要拖,不要混,半路出家大多是大齡青年,混吃等死沒資本。
多看書,有些東西,你可以沒做過,但你不能沒說過。
-
工程師
+關注
關注
59文章
1570瀏覽量
68514 -
前端
+關注
關注
1文章
192瀏覽量
17750
發布評論請先 登錄
相關推薦
評論