阿里前端兩年隨想

謙行發表於2016-01-09

其實按照我的情懷和尿性,文章的標題應該是 前端登堂入室寶典前端成長就這三招 之類,奈何這是篇軟文 ~

看官先別急Command + W,尤其是和我經歷類似

做著其它崗位的工作,卻多少會接觸一些前端
發現有些興趣,但又不肯定這應該是自己未來
也會有些成就感,但似乎挫折和沮喪來的更多一些

我可以負責任的說,這是一篇有態度的軟文

欲語淚先流

我希望做些有用的事情,甚至可以做個有用的人

才畢業工作的第一年我是滿足的,學到了很多新知識,寫的程式碼不但能work,還能真的跑在生產環境中

我提交程式碼上線,忐忑的測試之後沒有問題,看著螢幕傻笑了一下午,雖然整個兩年半可以說失落更多一些,但那天我是幸福的

最後的半年我想走了,那裡有人真心對我好,工作氛圍也不錯,待遇也不至於讓人失望,可我還是想走了

有天早上醒來莫名其妙的沮喪,下午我看著程式碼發呆的時候忽然想起我早上做的夢,客戶鋪天蓋地的投訴我做的產品問題太多,忽然覺得滿世界都是委屈,情不自禁的滿臉都是淚

除了登入後首頁,我負責的產品根本沒人使用,永遠躺在免費的Package中,客戶投訴對我來說是一種奢望。公司方向也好,個人努力也罷,我一直在做一些可有可無的事情

那天才瞭解,我的成就感不像大部分技術同學來自於對技術的追求,寫極致的code並不能直接讓我感到滿足,如果我的程式碼幫助了一些人提升了工作效率,如果我的產品幫助了一些人生活更美好,這是我喜歡的

我希望做些有用的事情,所以我必須走了,親愛的朋友,知道自己喜歡什麼真好

這個團隊不太冷

Leon, I think I'm kinda falling in love with you. It's the first time for me, you know?

How do you know it's love if you've never been in love before?

Cause I feel it.

Where?

In my stomach. It's all warm. I always had a knot there, and now it's gone.

能來阿里巴巴做前端是個美麗的意外,因為工作的前兩年我一直是後端,寫Linq的時候我想過將來可能會做DBA,沒想過會去做前端

和之前的兩年半告別,我怯生生的走進了阿里巴巴的大門,關於未來,我有一些憧憬

直到現在我給別人介紹我們團隊的時候都會說我們是一個活潑、有生活氣息的團隊

大家在做前端之前多半有些有意思的經歷,後端、設計師、化學、賣燒餅 。。

如果不是螢幕上的程式碼,很難想象這是一個技術團隊,我以為我會在一個極客的環境氛圍中程式設計,然而每天接觸的都是一群嘻嘻哈哈

才來的時候在群裡自我介紹

“我是XXX,今天入職,這裡拜一下各位老大碼頭”

“XX(我師兄),是不是該帶新人去看看西湖十景”

“還是東莞十景吧”

大家的熱情讓我賓至如歸呢,可惜師兄沒有帶我去

在這裡我看到自信和包容,可以各種肆無忌憚,老馬說的 “快樂工作,認真生活” 至少在這個團隊不是空話

人說有種感覺叫一見鍾情

說從前,到永遠

一週年,認識了很多有趣的人,做了一些有用的事,大部分時間過得有期待,不虛此行

我的一週年感言被好多朋友解讀成了告別 。。

現在讓我回頭看看,做前端似乎是我必然的選擇,這是離使用者最近的地方。來到阿里巴巴終於讓我如願以償,我在做一些有用的事情了,我做的事情有些幫助了運營同學,有些幫助了使用阿里巴巴產品的客戶,我很快樂

快樂的同時讓我思考了一些之前想不到的東西

學會思考

這聽起來是句廢話,這並不是一種方法論,而是時刻要提醒自己的一件事情

走了無數彎路,至今仍然在不停碰壁,回頭總結的時候發現多是沒有思考清楚才讓我狼狽不堪

有一個很好的例子

爸爸讓張三去打水,張三挑著水桶到了村東頭,發現沒有井,於是覺得需要挖一口井
挖井過程遇到了石頭挖不下去了,找人幫忙解決挖井遇到石頭怎麼辦
有人建議用***,有人建議用金剛鑽
張三想到個好主意,在旁邊挖
又遇到了石頭
在換到旁邊挖
如此反覆終於挖出了水
解決了問題,張三陷入了嬸嬸的思考中

很多人會啞然失笑,張三都沒有考察周圍地質就挖,甚至沒發現他家裡裝了自來水管 。。

剛入門的時候遇到問題我們很容易成為辛苦的張三,廢了很大力氣解決的問題,卻被別人輕易解決了,看看人家用的方法自己也會

一樣的道理,我們在遇到問題後太著急去解決,想到一個方案就去實施了,太快進入細節問題而沉陷,以至於都沒有看清楚問題的本質是什麼

心裡時刻繃著一根線,動手解決問題之前先問問自己是不是想清楚了,看明白了自己面對的問題是什麼,而實際要解決的是什麼,這兩件事情很多時候的關係並沒有自然到我們一眼就能看清

我是工程師不是程式設計師

這可能是我來阿里第一年最大的收穫,我也在論壇裡辯論過.NET好還是Java好,那天聽一個團隊內部的NodeJS分享,聽眾也有後端同學,問了個問題:使用NodeJS後端是不是沒必要了?

分享的同學說了句讓我印象很深的話,我覺得沒有前端工程師和後端工程師的區別,我們都是Web工程師,解決Web領域的問題,並不是後端就不能使用NodeJS,前端就不能接觸服務

聽人講過:你對自己的定位是什麼,就能成為什麼樣的人,我也曾反脣相譏,我想成美國總統就能成嗎?

後來才明白這句話告訴的是你的上限,而不是下限。當我們把自己定位成程式設計師甚至是Java程式設計師的時候,就只能拘泥在Java語法中不能自拔了

才來的時候我覺得應該學習最牛的技術,才能做更好的事情。一年過後回頭看看我奔著學習技術去了解的知識大部分都是淺嘗輒止的瞭解語法和API後就沒有後文了;至於那些我覺得什麼最近流行應該學學,或者是學會了什麼框架我就可以怎樣的,大部分都不了了之了;而我為了解決某些問題而學習的知識反而成了現在的程式碼習慣

有些事情我們本末倒置了,我覺得這是程式設計師和工程師的區別。工程師在解決問題,程式設計師在完成任務。想把一個問題解決和想把一件事情做完,這兩種心態出來的結果判若雲泥

當然我這裡程式設計師是相對於工程師的叫法,相信大家理解,不會和我糾結字面意思。也許我們把自己的定位高一些再去看.NET好還是Java好這樣的問題時就釋然了

越早暴露問題越好

最早的暴露問題,是最大的善待自己

當我才來阿里巴巴的時候心裡想的是一定要夾著尾巴寫程式碼,少說多做,千萬別鬧笑話

漸漸發現了這樣做的不行,就像小孩子在你面前撒謊,你一眼就能看穿,我們的問題在招我們進公司的人眼中也是一樣的明顯,尤其是我帶了實習生之後,體會更加深切

不知道那時候師兄和主管是什麼感受,說說我帶實習生的感受,當下屬不肯暴露自己問題的時候,最讓我為難的有兩個地方

  1. 交給一個任務,我知道里面的困難,但是不知道他對這個有沒有把握甚至瞭解,很擔心某個實施過程會出問題,只能每天跟進進度,兩人每天都是心驚肉跳,擔心會不會出問題
  2. 我渴望的不是完美的同事,是真實的同事,這樣才能更好的互相幫助,共同成長。如果把自己包裹的密不透風,無法互相信任

現在如果實習生樂於接受的話我會直言不諱的指出問題,讓他們少走彎路。他們也會說出自己的顧慮和我的問題,讓我覺得這樣的氛圍很輕鬆

有一顆開放的心態,願意承認不完美的自己,別人才能更好的幫助你

在專案中也是一樣,很多時候在需求評審的時候我們隱隱約約會覺得有些問題,但出於各種原因沒有指出,根據我的經驗,問題如果真的有,早晚會暴露出來,往往最倒黴的是前端,因為我們在Web專案的最後一環

也不用苦惱是不是太晚了,當你在糾結是不是晚了的時候,其實是最早能開始的時候

成就感很重要

倉廩實而知禮節,衣食足而知榮辱

當公司給我們的薪水滿足了生活要求的時候,我們需要些動力催促我們前行。對於大部分技術人員成就感的獲取並不難,很多時候我們都能夠自娛自樂,寫出段精彩程式碼的時候內心都被自己折服

沒有成就感,很難驅使我們一天的興奮

但總有我這樣的人,對技術並沒有那麼極致的執著,成就感的獲取相對難一些。上面我也提到,我更在意的是我能做一些有用的事情,真的幫助一些人

工作的意義

我不會裝逼到認為工作的意義在於奉獻,之於我工作最基本的要求是解決生活問題,然而這不是意義,我覺得一個快樂的工作基本意義是個人價值觀的交代

回想起我來的第一年,有時候早上甚至會有迫不及待去公司的想法,有些有用的事情我還沒有做,我心裡還有萬紫千紅的色彩去繪畫。其實我的工作內容並沒有多高階,運營並不是所有前端的理想工作,很多同學戲謔的稱我們為切圖仔

但對於那時的我,這已經是天堂。我的工作給運營同學帶來了很多便利,為公司省了一些錢,可能對全球貿易都有些影響(必須有這麼高的情懷,寫麼寫的時候才會笑得得意)

我們運營團隊做了很多有意思的小嚐試,快樂的時候會情不自禁的動腦,發現處處是創造,這對技術人員的成長是巨大的

所以我始終覺得,如果工作內容你並不認同,對個人價值觀是個災難,不快樂的工作,很難去全力以赴,做出成績,提升自己

雖然我很認同我的工作,但漸漸的我需要些工作之外的成就感

寫部落格

才學前端的時候我幾乎兩三天就寫一篇部落格,開始大多是讀書筆記和知識理解,評論大部分是一些批評和問題指出,但是讓我成長的很快,瞭解到想說明白一個知識點,必須有一條知識線,需要大量的查資料、學習,這個過程對個人提高幫助非常大,所以有些剛開始接觸前端的同學問我學習方法的時候我無一例外的都推薦寫部落格

慢慢的有些人會誇獎我,寫的清晰,幫他理解了某個知識點,或者學習到了新知識。分享讓人快樂,這種快感是東京熱給不了的

我還做了老溼

前端並不是大多數大學的授課內容,我看到了很多遇到自學過程中遇到了一些障礙,一番努力之後仍舊手足無措的同學,很多就放棄了,認為學習前端走不通。還有一些同學想法很單純,看到招聘要求MVVM框架等就急著學習AngularJS,然後就能怎樣

這些都讓我想起了那時候的自己,我很幸運遇到個耐心對我的朋友,我也希望把這種關懷傳播出去

機緣巧合我做了業餘的前端老師,給一些朋友介紹前端入門的基礎知識和遇到問題的思考方式。過程有失望,有不解,每次幫大家想通一個問題,解決了一個疑惑時更多的是幸福感,尤其是看到一些前端零基礎的同學通過半年努力,走上了職業前端的道路

那天看到一些同學做的感謝視訊,聽他們甚至叫我老師的時候,我不禁再次淚流,回味了好久,想起讓我離職的那個夢,那天我有種異樣的衝動,平靜下來後感覺那應該是自豪,我是個有用的人

還是一樣,分享讓人快樂,需要傳遞,也許這些人一兩年後也會一樣去幫助其它困惑的小夥伴

相信阮一峰、張鑫旭這些人在堅持寫部落格的時候也有類似的心情

淪陷 & 綻放

只有一種英雄主義,那就是認清了生活的真相之後依然熱愛生活

比起第一年的志得意滿,第二年在阿里我更多的是踽踽和膽怯。工作有了新的職責,讓我對自己有了新的要求,太想做對一件事情,而不敢動手去開始,生怕錯了怎麼辦,甚至會去市儈別人的勇敢

一定要去做對的事情,而讓我不敢去輕易嘗試任何可能,但沒有明白不去嘗試哪裡知道孰優孰劣

或許每個人到了某個階段都會有類似的問題,看看這半年的自己,多少讓我有些遺憾,太害怕做錯卻導致沒有做什麼可以給自己交代的事情,希望新的一年自己能夠尊重勇敢

朋友,你聽說過安利嗎

其實行文到這裡還不算軟

---------------------------------我是分隔線---------------------------------------

阿里巴巴國際站招前端,校招視窗已關閉,所以針對的是社招

崗位描述

  1. 負責網站應用前端開發,與後臺工程師協作,完成資料互動、動態資訊展現
  2. 使用JS或AS編寫封裝良好的前端互動元件,維護及優化網站前端頁面效能
  3. 研究和探索創新的開發思路和最新的前端技術
  4. 參與新人培訓和前端技術佈道

崗位要求

  1. 熟悉Web前端技術,HTML(5)/CSS(3)/JavaScript(ES6)等,能夠解決瀏覽器相容性問題
  2. 持續關注業界的新話題和新技術,研究過JQuery、React、backbone等框架中的一種或以上
  3. 重視團隊協作,願意探尋和改進目前還不成熟的前端開發流程,瞭解各種常用工具
  4. 熱愛前端技術,個性樂觀開朗,邏輯性強,善於和各種背景的人溝通合作
  5. 對前端工程領域有研究優先
  6. 如具備其他語言的開發經驗,比如NodeJS、java、php等優先考慮

其實

大家都瞭解招聘要求都是虛的,我們希望你是這樣的人

  1. 基礎知識紮實

    a. 知道JavaScript prototype、閉包、事件怎麼回事兒

    b. 多少了解HTTP協議和Web Server怎麼工作

    c. 知道CSS display、float、z-index、BFC

    d. 瞭解瀏覽器渲染頁面原理

    e. 模板引擎

  2. 對新技術有興趣

    a. 前端程式碼模組化與構建,gulp、webpack等

    b. NodeJS

    c. MVVM

    d. React、Vue、backbone、angular隨便說說

  3. 一定的工程能力

    a. 瞭解門後端語言,最起碼知道後端同學在說什麼

    b. 瞭解些web 安全知識

    c. 效能優化

    d. 前端程式碼工作及釋出體系

  4. 隨時準備自我介紹和瀏覽器從輸入URL到渲染出頁面發生了什麼

  5. 另外我們很喜歡錶達能力不錯的人,畢竟工作職責不是有個新人培訓和前端技術佈道

有興趣聯絡 luyong.sunly@alibaba-inc.com

相關文章