github總基地:http://www.github.com/dashnowords/blogs
博客園地址:《大史住在大前端》原創博文目錄
華為云社區地址:【你要的前端打怪升級指南】
位元組跳動幸福里大前端團隊邀請各路高手前來玩耍,團隊和諧有愛,技術硬核,位元組范兒正,覆寫前端各個方向技術堆疊,總有位置適合你,Base北京,社招實習都有HC,不要猶豫,內推簡歷請直接瞄準[email protected]~
目錄
- 10000小時練習
- 我做對的事情
- 被“位元組范兒”圈粉
- 下一個3年
你配得上所有美好的事物,但你必須自己主動去拿,
10000小時練習
關于10000小時定律,你可能在很多雞湯中都看到過,大致的意思就是說人們眼中的天才都是付出了持續不斷努力的,10000小時的練習是一個人從平凡成為領域專家的必要條件(我感覺到有杠精已經在摩拳擦掌了),
我第一次找到一份前端工程師的作業是在2017年7月底的時候,那時候除了自學的一點點angular.js的技能外,沒有任何正規的技術從業經歷,找同學幫忙內推菊廠,投了5個部門,4個無音信1個婉拒,然后就沒有再堅持,我依然記得那是2017年夏天最熱的時候,每天拿著簡歷頂著大太陽,奔走于各家小公司去面試,最終大概花了一周的時間后,過了3輪面試然后進了西安的一家外包公司,
2020年8月,我有幸成為位元組跳動的一名前端工程師,算起來入行3年零1個月,如果每周按6個作業日算,平均每個作業日11個小時,那么這段時間大約就是(52周*3年+4周)*6作業日/周*11小時/天=10164,也就算是剛剛熬過了10000小時,作為年近三十才轉行的野生碼農來說,這樣的結果來之不易,從外包進大廠有多難,圈內的人都明白,運氣之余,也有自己腳踏實地的努力,這篇文章寫于入職后的一周,希望跟過去告個別,然后自信地抬起頭,在新的生活里Inspire Creativity,Enrich Life!
我做對的事情
-
努力作業,及時復盤
在職場里,這永遠是第一原則,過去的作業里我的平均績效在
B+的水平,至少自己不會因為作業內容枯燥簡單就草率對待,及時復盤,把經驗沉淀下來,但一定要強迫自己反思,無論是學會了什么新技術,或者觀察自己在面對一些事情時采取的策略,或者對產品和業務的想法等等,寫什么都可以,但一定要做, -
補習JS基礎
2017年入行開始,我做的第一件事情就是補JS基礎,不夸張地說,當時即便能夠用
angular.js+php+mySQL寫出可以交付的完整產品,我卻連JS里的陣列方法和字串方法都分不清楚,基礎特別差,幾乎每天早晨5點就起床,然后看書看博客記筆記,犀牛書,紅寶書,蝴蝶書,忍者書等等市面上能找到的一本一本看,就這樣近2個月的時間里基礎知識水平大幅提高了,當然最終你會意識到JS基礎和減肥一樣,都是近乎永恒的話題, -
參與一個簡單的JS開源專案
2017年8月中旬,我在
github上偶然看到一個講原生JS編程的小專案——【JavaScript30】,這是一個為期30天的編程練習,希望幫助開發者了解JavaScript原生語法,當時自己就每天跟著專案做練習,每道題目都要求自己用ES5和ES6的語法寫兩個版本,然后再去看其他人的分析和編碼,2個禮拜后,發現自己一直跟的那個作者斷更了,后續的部分都沒再提供原始碼和注解,于是自己開始貢獻代碼,撰寫解題指南,提供擴展題目和自己的答案,用了近2個月的時間,完成了后半部分的題解,這個專案已經1400多Star了,如果你也是JS新手,不妨跟著練習一下【JavaScript30解題指南】,盡管這不是什么知名的輪子,但是參與開源專案本身是一種不錯的經歷,它的門檻并沒有想象的那么高,但卻能夠重繪你對自己的認知, -
接了一些私活
這是個稍微有些敏感的話題,但已經很久不做了(因為時間投入到其他事情上可能長期收益更大,總有一天你也會走到這一步),覺得這些經歷對自己還是很有意義的,我其實很推薦技識訓不錯且有余力的同學至少完整地做一次私活,你可以自己去網上找或者通過熟人介紹,你可能還會面臨和其他人競標,可能會把最終能落入自己口袋的收益想象得過高,可能還要自己擬協議,程序中除了搞定自己的開發,還要督促著其他協作者,甚至最后被隊友拖累,或者為了要到尾款而不得不裝孫子、送禮、請吃飯,程式員的那點傲嬌和面子在真實的世界分分鐘被轟的一地雞毛,那時你才明白,成年人的世界沒有“容易”,世界上也沒有那么多“應該”,我接私活有個原則,只接自己不會的,如果一個私活對我來說沒有任何鍛煉,自己會引薦其他人,簽了協議,沒有退路了,你會發現其實學點新技術也沒那么難,我就是用這樣的方式學會了使用
RN,ionic,Python,Three.js等等很多技術,也在一些規模稍大的專案中鍛煉了虛線帶組的能力,而這些東西,在常規的小公司和作業中幾乎是沒有機會的, -
堅持聽前端公開課
算是個硬廣告吧,我從入行時起,在網上看到了京程一燈的介紹,那時候公開課才做到第3期,只記得當時老袁(就是京程一燈的創始人)講1個小時的10行代碼,自己下去查資料搞了5個多小時才整明白,但他勾畫的前端知識體系的藍圖真的讓人充滿期待,由于個人時間關系,我直到今年才報名了精英班的課程,但3年間光是免費的公開課幾乎也聽了一百多節,也是這樣的機緣才讓自己能在過去重度依賴
angular.js的外包作業環境里,保持對前端前沿技術的關注和了解,另外像是慕課網的基礎課程(自己前兩年幾乎把前端大類的免費課程全看了,App統計的學習時間約1000小時),極客時間的專題(別舍不得那點投入,少擼一頓串不就有了,尤其是每年GMTC大會的視頻),阿里D2的視頻(優酷上有),今年掘金上大火的《前端早早聊》大會,都是很不錯的,可以挑感興趣的聽聽看,比如定個計劃每周看一個視頻,其實很快就看完了,掘金我刷的并不算頻繁,不夸張地說,在自己2年前端經驗的時候,上面的文章我幾乎是看不懂的,因為作業里用不到,我并不知道別人在討論什么在分享什么,現在周末會抽時間上去看看, -
持續學習,寫技術博客
2018年5月,大約1年左右作業經驗時我開始嘗試寫技術博客——《大史住在大前端》,自己博客里整理出來的文章看起來都是規范認真的,但其實我寫的第一篇文章,僅僅是描述在一個vue工程里,組件里參考圖片時路徑的寫法和webpack里的配置應該怎么對應,它浪費了我一整天時間,一共不到300字,我真的盡力了......我的方法是每個月初找一個前端領域自己不熟悉的技術,然后這個月的學習和博客都圍繞著這個主題展開(所以自己的博客大都是系列專題性質的),最終1年半的時間,大約寫下了110多篇不摻水的博文,大多都是基礎知識的學習筆記(因為作業環境的關系,實在沒有機會輸出什么有價值的實踐經驗,只能不斷去夯實基礎),剛開始并沒有什么目的,寫東西是自己的學習方式,它可以幫助我檢驗自己是否真的弄懂了某個知識點,后來的識訓都是意料之外的,在【仰望星空的人,不應該被嘲笑】這篇文章中描述了很多,不再展開,希望你也能保持學習和輸出,只要開始,總是不晚的,
-
做了一次外部的技術分享
作業里其實也做過不少公開的技術分享,還有被邀請去其他組做分享的,并不是說你必須技術非常牛逼才可以分享,畢竟分享不是裝B,你要做的是讓別人知道自己有認真思考過一些東西,而且愿意分享,這才是非常重要的,當然這也能在一定程度上幫助你克服自卑心理,2019年11月,大約2.5年作業經驗的時候,有幸在谷歌西安開發者社群的年會上做一些關于瀏覽器方面的知識分享,很認真地準備了PPT(其實我可喜歡做ppt了),也認識了很多新朋友,這樣的機會不多,如果有遇到,希望你盡量抓住,否則當你還一臉羞澀的給自己加內心戲的時候,機會可能就被別人拿走了,覺得自己行和覺得自己不行的人,往往都是對的,
-
付費參加業界前輩的成長咨詢計劃
2020年過年時,大約2.5年作業經驗的時候,報名了Scott的前端早早聊咨詢營(就是掘金上經常霸屏的那個前端早早聊),這是一個為期2年的1對1技術咨詢計劃,任何你遇到的職場問題或者技術問題都可以找Scott約談,他的經驗和資源足夠覆寫你遇到的大部分實際場景,我更傾向整理好提綱和自己的一些思考,提高溝通質量,有人帶路是非常重要的,但咨詢并不是保姆,只有你自己先搞明白面對的問題是什么,別人才可能更好地幫助到你,很多時候別人不是不愿意幫助你,而只是不知道怎么幫,當然這種咨詢模式是見仁見智的,我想對于Scott自己來說也是一種模式的探索,如果你是那種等著別人找上門來給你指導的,那可能并不適合這種形式,
-
機會擺在面前時,請走出舒適圈
當你發現自己處在一個困局時,是否還有勇氣走出舒適圈呢?2019年底,大約入行2.5年時,我面試了很多西安和杭州的大廠,盡管幾乎全都到了HR面的環節,但最終只拿到了2個很一般的Offer,擺在我面前的有兩條路,接受少量漲幅的薪資然后留在西安,或者選擇大幅度漲幅的薪資去杭州,如果這時候的你已經30歲了,有車有房還單身,你能接受去另一個城市嗎?我能,相比于孤獨,平庸更難以忍受,也因為自己知道,如果留下,4~5年后的自己很可能因為眼界和能力而被職場淘汰,
在杭州的作業仍然是外包,雖然枯燥但也不是特別忙,作業氛圍也不錯,但是當我在作業中看到正式員工承擔的任務和能夠調動的資源后,很快就意識到雖然大家都在一起辦公,但其實并不在一個賽道上,他們受到的鍛煉和成長的速度遠遠超過外包員工,而作我們只是在別人參加完一場場戰斗后過來幫別人打掃戰場的,當我想要主動去學習更多時,桌面上通常只會跳出那刺眼的提示“外包同學沒有權限”,這種環境最可怕的地方在于,處處存在的差異化待遇會讓人養成“受害者心態”,覺得面臨的一切都是客觀環境造成的,最終忘了自己還有選擇的權力和能力,
原本的計劃是參加完京程一燈半年的課程后,等到2021年春季再挑戰大廠,base杭州,但是在一燈班主任的嚴厲督促和全程盯梢下,意外且幸運地拿到了位元組的offer,只是base在北京且薪資漲幅也沒有達到自己的期望,剛剛習慣杭州生活的我再次面臨選擇,是再次走出舒適區抓住進大廠的機會(北京租房是真貴,其他消費其實并不夸張),還是按照自己的規劃穩扎穩打半年后再挑戰杭州的大廠,短暫的咨詢和考慮后,我選擇了北京,想起了那個上帝解救信徒的故事,機會到來的時候,它并不一定是你期望的樣子,
在位元組跳動開始作業后,我很慶幸自己沒有錯過這次機會,對于一個只在外包公司作業過的技術從業者而言,它真的意味著另一個世界,
被“位元組范兒”圈粉
大廠真正的價值,并不是那些顯而易見的福利待遇和光環,而是一個野蠻進化的機會,
-
國內頂級的福利待遇
位元組的福利待遇是圈內公認的好,好到讓我頭一天下班時站在天橋上感慨得差點哭出來,在外包真的沒經歷過這樣的待遇,上班不打卡,住宿有房補,免費的三餐下午茶健身房,頂配的16寸MacBook,27寸4k的大螢屏連著雙屏還能直接給電腦充電(領顯示幕的時候IT小哥說如果有需要還可以再申請一個24寸的),錯過周年慶的我還補領了團隊的周年紀念大禮包,周圍同事也是大咖云集,而最讓我欣慰的是不用再因為外包的身份被區別對待,
沒有在外包公司待過的讀者可能無法體會這種對比有多強烈,在外包公司的時候,我入職比其他人晚結果只領到了13寸的macbook,IT告訴我最近沒貨了,到組里后發現除了我以外其他人用的都是16寸的,外包同學的工卡和正式員工的顏色是不一樣的,那種低人一等的感覺真的很難描述,我的工牌還特別不一樣,園區各處的門禁都刷不開,真的造成了很多麻煩,天天在樓下被保安攔住,我心里不痛快,一度都只把工牌裝在口袋里,那時也申請過顯示幕,然鵝連到電腦后平均5分鐘黑屏一下,黑了3次以后我就再也沒用過,我知道可以去換,但真的懶得費那個功夫,作業中用到的連接線、資料轉換芯片什么的,也都是自費從某寶買的,測驗使用的付費賬號也是自己充錢的,更不用提跟正式員工合作時那種人微言輕的感覺了,
沒有黑外包公司的意思,客觀講福利待遇和薪資方面外包比很多小公司都更好,但它能帶給技術人員的提升和精神識訓真的有限,每個人的想法和追求也不一樣,它總歸是能滿足一大批人的訴求,
友好的入職流程和巨大的知識庫
公司安排了非常細致的入職培訓,從企業文化、價值觀,到各項規范制度和作業方式,再到辦公軟體的技巧、福利待遇介紹等等,真的很用心,入職當天主管和導師就找你溝通發展規劃和期望,告知位元組工程師的原則、紅線和基本作業流程,以往的作業環境里真的從來沒有人跟我聊這些;一切行政事務都可以通過飛書聯系到相關部門,真的很方便,位元組的知識庫建設真的讓人佩服,統一的入口可以導航到海量的指南和知識沉淀,甚至其他各個產品線整理的技術和業務檔案等等,唯一的問題就是留給社招同學消化這些海量資料的時間非常有限,想起《鹿鼎記》中陳近南對韋小寶說“這本只是絕世武功的目錄,那邊那堆才是絕世武功的秘籍......”,最終能消化吸收多少,那就取決于自己的意愿和行動了,
我看到了認同
很多同事喜歡穿位元組的文化衫,7周年的,8周年的,很多女生背著印著位元組LOGO的帆布袋,還有很多定制的周邊產品,開會的時候大家經常會拿“位元組范兒”的要求來當論據,也會用“位元組工程師文化”作為原則開懟,你可以說這是“洗腦”,但它本質上是一種價值認同,我到今天依然可以背誦大學的16字校訓,身處低谷的時候常常用它鞭策自己,這依舊源于認同,這些精神層面的東西承載著我們內心深處的驕傲,在逆風的時候給我們挺住的信念,信是所望之事的實底,未見之事的確據,這種事真的不用太較真,我只是談談自己的觀點,你懟我被洗腦,我懟你沒信仰,相視一笑心里互罵一句傻X,擦肩而過自己開心就好,
追求極致的工程師文化
參加了2次周會的代碼檢視,負責主持的同事會提前把周會大綱發到群里,從業3年我還是第一次經歷這樣的代碼檢視,被“示眾”的代碼從業務功能的實作上來說通常沒什么問題,大家討論的是邏輯策略、編程風格、某個語法糖的優劣,甚至性能和設計模式,沒討論清楚的知識點,很可能幾天后就會有同事在群里發檔案來闡述自己理解,積極主動且思維活躍,這樣的同事和技術氛圍真香,想起以前我們代碼檢視的時候,70%以上的case都圍繞著一個叫做“魔鬼字串”的術語,對比之下真的有些Low了,來到位元組以后才知道,原來你覺得產品設計不合理的時候是可以溝通甚至拒接的,原來介面的mock資料是可以直接要求后端同學提供的,原來除了無奈接鍋以外還有很多坦誠有效的合作方式,
辛苦,但心不累
忙碌且生機勃勃,這是自己在位元組作業一周時的感受,忙是真的忙,但是有識訓,公司在野蠻進化,每個個體也在快速成長,當然也可能是新鮮感麻醉了自己的疲憊,有人說1.2倍的成長速度讓人欣慰,1.5倍的成長速度讓人焦慮,2倍的成長速度讓人痛苦,更高的速度讓人崩潰,你能承受哪個級別的壓力,就能擁有哪個級別的成長速度,我并不羨慕那些以更快的速度成長的人,畢竟成長是需要付出代價的,而每個人能接受的代價不可能都一樣,我更希望找到更適合自己的節奏,由于剛上手作業,業務還不熟悉,我幾乎每天都是11點多才離開辦公室的,即便如此,同事分享的很多技術資料也只能先躺進收藏夾里,我還沒有學會如何更好地調度時間,可能這樣的節奏還會持續一段時間,但我卻樂此不疲,朋友說這是因為“有成長,心不累”,作業之余,位元組的人也很會玩,有人喜歡騎行,有人喜歡狼人殺,有人喜歡游泳健身練瑜伽,這和自己之前對大廠的印象倒是很不一樣,不過混在年輕人的圈子里明顯感覺自己也變年輕了(不要打我,也不接受吐槽),
我開始關注作業效率
以前覺得自己的作業效率和時間管理做的還不錯,至少能拿出時間做一點大家想做卻沒有做的事情,但現在才發現這也許只是錯覺,你總做容易的事情,當然不會感覺到時間的壓力,即便是專案進度比較緊的時候,加加班,搞搞996似乎也就那么回事,我們通常都會愿意延長時間,而不是考慮如何提高效率,在同樣的時間內完成更多的作業,當然也有很多不言自明的客觀原因,
但是如果有一天,你發現手頭的事情多到如果只靠加班根本就不可能做完時,反而會開始思考如何提高做事的效率,時間就像R溝,擠擠總是有的,我買了時間和精力管理的書籍,想審視一下還有哪些是自己可以嘗試的;買了新的機械鍵盤,因為不習慣macbook的鍵位和敲擊感會降低我敲代碼的速度;買了Logitech anywhere 2S滑鼠,因為覺得觸控板實作同樣的動作速度有點慢,但是又不想舍棄觸控板的快捷手勢;買了KOKUYO的活頁本和周計劃矩陣的內頁,因為覺得放在手邊的ToDoList比云檔案更容易跟進檢查OKR的落地情況,而且它非常適合以周為單位來安排要做的事情.....然后又制定了一系列深入學習作業中常用工具的規劃,這種細枝末節的時間累計起來真的很嚇人,你一個操作用5秒,別人用快捷鍵可能就1秒,一兩次操作看起來差別并不大,如果類似的事情每天發生幾百次你試試看?工具是為了提高生產效率而存在的,但提效的前提是你必須對它足夠熟練,如果你即將上戰場,恐怕不會把槍械的使用方式大概熟悉一下就沖吧,熟悉工具的程序是新習慣養成的程序,必然會有很多不適應,但扛過去了,那真的就很香了,或許可以搞個學習小組,大家一起玩可好?
下一個3年
成長,是永遠的課題,
我喜歡朋友以前講的一個比喻:當你想要開車去周游世界時,并不需要給自己的車裝滿足夠跑完整個世界的油量,而只需要加滿第一箱油就可以了,路上有那么多加油站,你隨時都可以加油,路上有那么多的人,你也不用所有的事都只靠自己,想要一箱油就跑完整個世界的人遍地都是,但他們可能永遠都不會出發,只有那些真正經歷過的風景,才會讓人真正變得豐富起來,哪怕看風景時的你狼狽不堪,
入行的前三年,我花了大量時間打基礎,因為想走得更遠,而不是走的更快,軟體開發本質上是一個工程領域,這意味著知識只能起到有限的指導作用,而經驗技巧和最終落地后能產生價值的東西,通常都是要一步一步實踐總結和探索才能得到的,就好像你在學校里學了很多理論知識,畢業后走進工廠的時候還是會一臉懵逼,知識到技能的轉換是需要一個程序的,
下一個三年,我希望自己把更多的精力花在實戰經驗的積累上,同時學著從更高的層面去理解技術、系統、團隊和業務,單一方向的知識儲備紅利讓我有資格擠進現在的賽道,但自己內心里非常清楚,后面的路只靠技術很可能越走越窄,而更高層次的機會意味著更加綜合的能力堆疊,而專業技術僅僅是其中一個板塊,甚至是權重并不高的板塊,成長就是不斷地打碎自己然后重塑的程序,其實最重要的,也不過就是一些勇氣和耐心吧,
未來,路還很長,原下一個三年,能遇見未知的自己,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/471.html
標籤:其他
