先解釋下標題吧:好玩 指的是愛好、以爲有趣,玩好 指的是把事情搞定、讓事物變得更好。前端
我最先接觸電腦是小學四年級的時候,一九九幾年,那是一個秋天,有一位老人在中國的南海邊寫下詩篇,我坐在學校機房的386電腦前照着一張A4紙上的代碼敲入一連串的命令,通過若干次失敗、重啓後,成功進入了DOS系統並開啓一個練習軟件 —— 開始五筆打字練習。雖然教電腦的女老師很美,那時候上電腦課對我來講是個負擔,多是由於我以爲更快地用五筆打字對我來講沒有什麼卵用。若是我生在美國,那會兒應該玩的是 Apple II 吧,徹底不是一個檔次啊有木有。react
不過我始終記得一個有趣的事情:那個練習軟件會統計打字速度,女副班長學得最快打得也最快,每次數值都是最高。有個女生表示不服,說必定是副班長的電腦時鐘走得比較慢。因而副班長作了一個咱們這種所謂的」少年藝術學校「的學生纔會乾的事情來證實她們倆的時鐘速度是同樣的 —— 副班長對照她本身電腦的時鐘用手打節拍,一秒一個節拍,保持打節拍,走到那個女生電腦前,一對照,發現節奏是同樣的。因而,那個女生居然立刻相信了他們倆的時鐘速度是同樣同樣的...linux
在有本身的電腦以前我常常混跡於市區惟一的一家網吧,一家在裏面看黃色照片會被制止的網吧。2001年初三畢業的時候,暑假,家裏給買了臺電腦。 webpack
和其餘騷年同樣,我開始混跡於本地的盜版光盤一條街。5塊錢一張的光盤,一兩年下來家裏就屯了一百多張遊戲光盤。 web
和其餘騷年不同的是,我會和盜版光盤店老闆交流,顯然老闆是見過世面的,他們推薦我玩 Flash、Dreamweaver、Fireworks 所謂網絡三劍客。後來我順藤摸瓜,在新華書店發現了一本《少年學Visual Basic》(大致是這個名字吧),圖文並茂很好玩,因而裏面跑去盜版光盤店買了張VB6.0的安裝盤。那個暑假,把那本書學完了,期間也學了Flash和Action Script,能夠本身作個小軟件。電腦裏的東西是按照本身的意思去計算、去運動、去反應的,那時候的我以爲這個很好玩。固然,這個好玩也僅限我本身,周圍沒人知道、沒人理解。面試
後來,在另一家賣電腦器材的店裏,老闆給我推薦了一本更高階的VB的書,說是他店裏最後一本了,我花25塊錢買下來。有一次在學校廁所上大號,書掉下去了...掉下去了...。考慮到,這多是咱們這個小縣城裏最後一本了,我把書拿去洗了洗,再用剪刀剪掉一部分,曬了曬,接着看了...chrome
高一的時候,學校有個班級網頁製做大賽,我表明咱們班拿了第一名,用 FrontPage + Flash 作的靜態網站。電腦老師跟我說能夠參加學校裏的Pascal編程課,未來參加全國比賽,拿獎的話高考加20分,說不定還能保送浙大。因而我跑去買了本Pascal的書,晚自習的時候都在看,回家也練練。天然,我在編程課上表現很好,老師都是讓你們來圍觀個人代碼來着。然而,不知道爲啥,編程課沒開幾節就不了了之了,有一種白折騰了的感受。唉,「保送浙大」啊,至今耿耿於懷呢。編程
高二的時候,常常一塊兒交流遊戲心得的小夥伴告訴我他在網上看到文曲星能夠編程。因而,我開始鼓搗這個,實際上文曲星自帶Basic編譯器(對,就是比爾蓋茨發明的那個)。我利用金山遊俠的原理找到了系統密碼和遊戲密碼的存儲地址、能夠查看和修改別人文曲星的密碼、能夠修改俄羅斯方塊的難度值到更高級別、能夠改掉不少系統默認文案,後來還在文曲星裏寫了點小動畫。提這個不是爲了說本身多厲害,而是想表達:那會兒純屬是以爲好玩而Coding的。事實上,咱們班上一個同窗看了我代碼後,現學現用,回家閉關一天,回來後給咱們展現了他本身用文曲星寫的有開頭、有情節、有結尾的動畫——《老吳傳說》(老吳是咱們班主任)。redux
金山遊俠的原理:金山遊俠是一款能夠修改遊戲參數的軟件,原理是這樣的:假設你遊戲裏生命值是10000,那麼遍歷全部存儲空間,找出值是10000的地址,記下來,而後想辦法讓生命值變一下,假設9500,再遍歷一遍,就能夠找到這個地址了,而後就能夠直接改它了。segmentfault
2004年,高考考得不是很理想,進了一個三流院校,讀計算機專業。由於有老底子,在學校裏成績還行,尤爲是專業課。不過時間除了課程做業要求,就沒怎麼寫過其餘的代碼了。青春的荷爾蒙所有用在了《魔獸世界》上了。直到《魔獸世界》一直停留在60級,不能更新資料片,讓我很失望。大三下學期,在拿到最後一個我想要的裝備後,我長期AFK去考研了。考研實際上是個體力活兒,很辛苦的,我基本上天天都是那棟樓裏最後一個離開的。不過,期間系統地複習了一遍計算機專業的主要課程,極大地提高了英語能力,這兩項一直受用至今。
這句話是Linux的做者Linus回答Linux到底怎麼唸的時候說的:連接
08年如願進入浙大計算機學院,在實驗室裏乾的主要是跟linux有關的項目。簡單點說,就是在Fedora的基礎上,給某軍區定製一款以安全爲特點的Linux操做系統。老闆(我導師)做爲產品經理給咱們提出了各類奇葩的需求,好比:開機界面要改爲和 windows xp 同樣...
雖然產品經理比較噁心,但總的來講研究生第一年仍是很輕鬆的。除了上課,都得在實驗室待着。在實驗室裏,1/4的時間是和實驗室師兄弟們玩遊戲,1/4的時間看看電影、電視劇,1/4的時間上網、讀RSS,剩下1/4的時間纔是作項目。期間系統地學了Shell、用GTK+Glade作了幾個GUI軟件、讀了點Linux源碼。總得來講,混日子吧,沒啥追求。
友情提示:高潮來了
咱們老闆除了作項目外包生意,也作勞務輸出。他和幾個軟件公司有合做:他把手下的研究生、博士生派到他們那兒實習一年多,那個軟件公司給相應的好處。固然,被派去的學生也是包食宿有點工資的。研一那個暑假,我估摸着也要被這麼「賣」掉了。因而,在和一個一樣被賣到杭州某公司的師兄商量事後,到有了個計劃...
我找了個也是浙大畢業的在外面開公司的師兄,讓他找咱們老闆說:久聞x老師您的大名呀,我讀書的時候就上過您的課,咱們須要一個實習生,咱們有個和聯通合做的項目(項目書是我事先作的)須要大家實驗室的研究生幫忙,能不能合做一下。老闆贊成了,也談妥了價錢。而後咱們幾個下學期立刻研二的學生被叫過去作了一場筆試和麪試(筆試題是我事先出的)。我天然是「脫穎而出」啦。因而,我本身花錢買了自由,開始找實習...
由於比較主動,基本功還算紮實,09年9月份很在淘寶搜索中心找到了實習。開始作的事情比較簡單,配配正則之類的。後來在師傅的帶領下寫爬蟲,偶爾也幫運營同事寫些腳本作數據處理,算是把Java、Python給入門了吧。淘寶真是把實習生當正事員工用啊,感受很被重視,能感受到本身作的事情能產生價值的,因此幹活兒也很賣力,常常深夜騎車從創業大廈返回玉泉校區。因此,在這兒跟在實驗室裏幹活的感覺是徹底不同的。
在淘寶實習了半年,我聽信一個師兄的建議作了一個如今看了極其錯誤的決定:換個公司實習。理由是體驗體驗不一樣的城市、不一樣的公司,這樣才能清楚本身未來適合在哪裏、幹什麼。嚴格來講,目的是達到了,但失去了繼續呆在淘寶,讓本身技術更精進的機會。
先去了Intel,在上海閔行,作 Meego(Intel和Nokia搞的針對上網本和平板的操做系統)測試工具相關的事情。然而,很閒,沒啥事兒作。2個月後,10年暑假申請到eBay暑期實習計劃,去他們在上海的運維部門的 Unix Team 實習了,所在部門的TL如今應該是某知名公司的CTO了。eBay對實習生安排仍是很的:硬性的活兒很少,安排了不少培訓和活動,好比:職業規劃、如何發工做郵件、英文話劇、TMC(Toastmaster Club)等等。不過我仍是作了些事情的 :)。這期間用 Django 作了個 VMware 虛擬機集羣的管理界面。爲了讓界面好看點,開始自學CSS、JS,感受前端這塊挺好玩的,彷佛找回來小時候 Coding 作小軟件、作動畫的快感。這爲後來的職業選擇埋下了伏筆。
eBay 有個企業文化我以爲很是好:公司選擇信任你,但若是你被發現一次誠信有問題立刻開除。好比發票報銷,審覈是很寬鬆的,但只要你被發現亂報,立刻開除。
臨近畢業,我陷入了迷茫。按說,從技能上來講,最適合我乾的是運維,事實上也拿到了阿里運維部門的offer。然而,我想幹前端。但,10年、11年的時候,前端的地位還不像如今這樣高、那麼有挑戰,不少人以爲前端其實很low,沒啥技術含量。我在矛盾中掙扎了好久,最後仍是去了天貓寫Java。
然而,並不開心,
我辭職在家裏待了半年想本身創業,用Flask + Backbone,基於百度地圖作了個旅遊規劃相關的網站,雖然最終沒把這個事情作大(如今想一想,當初本身很不成熟嘛~~),但系統學習了前端、積累了不少前端方面的知識,12年我進入了網易杭州研究院,如願成爲一個前端工程師。
在網易參與了網易雲音樂官網、PC端的開發。這兩個項目都是基於網易本身的 NEJ 框架的,雖然語法有點詭異、入門有點難,但讓我收穫很是很是大的。我前端層面的大局觀、模塊化思惟基本上都來自這裏,至今受用。尤爲PC端,是 chrome 的殼子套一個單頁面的HTML頁面,整個架構是網易首席前端技術專家蔡劍飛作的。裏面體現的思路和現現在很火的 webpack、react redux 單向數據流一模一樣。我剛開始作這個的時候也是懵懵懂懂,很難跟大牛統一思惟啊,無數次找他請教。反正問題到了他那裏,老是很快定位,輕鬆解決。這個過程當中,我學到不少,成長很快。
其實,管理上若是更接地氣一點、工資能稍微正常點給漲一漲,我應該蠻喜歡在網易長期待着的。
14年初,我辭掉網易的工做,加入瞭如今的公司:有贊,那會兒還叫口袋通。此次換工做,我就投了這一家,比較篤定,就以爲這家公司有前途...
過去兩年,是我最辛苦的兩年,也是收穫最大最開心的兩年。
我從一個騷年成長爲前端技術TL
咱們梳理了前端架構,造成了比較完善的持續迭代更新擴展的UI框架和JS組件庫
咱們造成了一套還不錯的開發工具:線上打包、數據Mock、UI測試
咱們將移動頁面性能提高了一個臺階,打開速度比原先減小了一半多
咱們針對全站作了 https + spdy
咱們至少兩週一次的技術分享
咱們在React、Node方面作了大量的探索和應用
咱們積極有擔當
嗯,文章寫到這兒,不加一個招聘廣告太說不過去了,畢竟這篇文章是HR姐姐鼓勵我寫的,歡迎優秀的工程師 加入咱們
」以工程師的方式把事情作好「
這句話是我最近我本身對碼農這個職業最大的體會。做爲一個前端工程師我愈來愈強烈地感受到咱們不該該強調本身是個前端,而是要去強調本身是個工程師。工程師是幹嗎的呢?工程師就是創造東西、解決問題的。咱們應該利用設計、前端、後端、運維等各方面的優點來解決咱們遇到的問題,而不是陷入之前端的方式解決任何問題的思惟牢籠。在作性能優化的時候,我就強烈地感覺到:好前端必須得是半個好運維。因此,咱們前端團隊的羣里長期有三個運維同窗駐紮,咱們把他們當爺供奉來着。
同時,咱們應該追求以最優雅的方式來解決問題——不僅僅是把問題解決了,並且解決問題的過程和手段是優雅的、有技術產出的、能對其餘工程師有幫助的。或者說,咱們的智慧成果應該是可累積的,尤爲是一個團隊內部。
"前端同窗應該多去看看藝術展提高本身的美學修養"
這是我一直想在團隊裏倡導的,但還沒付諸實踐。「打造面向將來的有戰鬥力的團隊」 是我給本身定的今年的OKRs的目標之一,前端做爲承前啓後的工種,就應該是很全面的。
"基礎真的很重要"
前端技術突飛猛進,翻看應聘者的簡歷,我總能看到不認識的新名詞。前端工程師的知識圖譜裏,變得快的其實只是其中一小部分,還有不少變得並不快的知識咱們是否是都掌握地很好了呢?好比:http協議、瀏覽器原理、網絡安全、設計模式等等...
圖題:作木工和碼代碼是同樣同樣的,都須要工匠精神思密達。
本文參與了 SegmentFault「個人編程之路」計劃,歡迎正在閱讀的你也加入,一塊兒分享。