寫在前面
時間過的真快,再過 5 天 2019 年就要結束了,相信每年的這個時候都是大家士氣最高漲的時候,滿滿的鬥志,想要大幹一場,哈哈哈。我也是這樣,所以今年決定挑戰一下自己,也來寫一篇年度總結!
如果你因為標題點進來,那麼你可能或多或少正在面臨跟我一樣的困境,所以這篇文章我想說說我的處境以及自己的心路歷程,如果你有更好的想法,歡迎在評論裡一起交流?。
這篇文章我想跟大家聊聊以下幾點:
一個初創公司的前端開發兩年半來的成長曆程 工作了兩年半,我明白的一些道理 回顧一下自己2019年做的比較好的幾點 反思一下自己2019年沒做好的幾點 展望2020年
工作這兩年半以來的心路歷程
今年我已經25歲了,國外有個詞叫做 quarter-life crisis ,意思是青年危機,25歲人生已經走過了四分之一。站在這個特殊的時間節點上,我想分享一下自己工作了兩年半以來的心路歷程。
工作第一年,像株野草般瘋狂成長
我畢業的時候就進了現在的這家公司,當時被公司那種開放的氛圍吸引了(後來看到網上有人稱之為矽谷風),薪資待遇也很有競爭力,所以我的工作生涯是懷著滿滿的憧憬開始的。而且很有趣的是,其實我當時是 Java 面進去的,但是去公司第一天,團隊老大找我聊了一下,說前端當時很缺人,問我願不願意轉去做前端,我想了想,點了頭,所以就此拉開了我的前端生涯帷幕。
那個時候真的是熱情滿滿啊,每天在公司待到十一二點才回家,感覺自己像塊海綿一樣,每天都在吸收新的知識。因為是剛組建的前端團隊,才三四個人,沒有什麼歷史包袱,但同樣的也沒有任何基礎設施可以使用,所以一切都要從頭開始,我們使用的是 React 技術棧,那個時候我一邊跟著文件以及社群的示例開始跌跌撞撞地支援業務開發,一邊瘋狂惡補自己的基礎知識,JavaScript、ES6、webpack、網路請求 以及React 相關的技術棧,瞭解什麼是SPA、什麼是元件、什麼是路由、什麼是資料狀態管理。
這裡要感謝 Facebook 的開源團隊以及所有開源社群的貢獻者,React 的文件非常完善,而且已經有了很多腳手架可以讓前端新手在沒有太多 JavaScript 基礎以及 webpack 基礎的情況下起步,初始化出來一個 React 專案
到了第三個月的時候,感覺自己已經可以獨立地應付一個後臺管理系統的所有開發工作了,這個時候公司招了一個非常優秀的前端團隊 leader,他之前在阿里待過,所以將阿里很多優秀的想法帶給我們,在他的帶領下,我們開始規劃前端的基礎設施建設,開始設計自己的專案腳手架、組建自己的前端業務元件庫。
我負責的是業務元件庫這一塊的工作,於是我接下來的工作除了支援業務開發,還開始誠惶誠恐地研究業務元件應該封裝到哪個粒度,要如何封裝業務元件,如何管理業務元件的釋出流程。因為人少,所以對於基礎建設的投入只能是排在業務開發之後,經常一週裡面可能只能投入一天的時候去做,所以進度也是緩慢的,但是在這個過程中,對於包管理、版本管理以及 CI/CD 的理念也有了更深刻的認知。最後的結果是,沉澱了十幾個業務元件,也開發了一些小工具,提升了團隊成員的開發效率。其中一個工具還申請了專利,拿到了兩千塊錢的獎勵,這也算一個意外之喜了。
總的來說,第一年感覺自己在技術方面得到了巨大的成長。
開始「睜開眼睛看世界」
工作了一年以後,我感覺工作開始得心應手了起來,每接手一個專案,我都能做的又快又好,每天工作都很愉悅。後來想想,自己在這個時候應該就進入了「舒適區」,但是那個時候我並沒有意識到這個問題。
剛好在那個時候,由於人手問題公司找了一個前端的外包,我負責帶著這個外包同學做業務。熟了之後我才知道,這位同學之前不是做開發的,剛剛轉行成為前端,我帶著她做了一個多月的業務之後,她也可以負責起一整塊功能的開發了,這時我才真正意識到,其實小公司裡的「前端開發」門檻是很低的,我這一年來的工作經驗可能更多是讓自己變成 React 的熟練工!
這時我才發現這一年來我光顧著埋頭開發,一直閉著眼睛往前跑,卻沒有停下來打點自己的武器庫,沒有停下來思考與總結,我意識到,應該「睜開眼睛」,好好想一想自己的競爭力到底是什麼,思考一下自己的長遠發展。這個時候我開始有意識地去提升自己的認知,也看了很多思維方式方面的書,後面一節會分享給大家。
初創公司,前端處境很尷尬
我開始在工作中有意識地去觀察公司的業務模式,工作中的人員配合,團隊老大是怎麼定目標的。我發現了一個很尷尬的事實:在團隊中前端的話語權比較低,有點邊緣化。在一個專案裡面,推動業務進展的是後端開發人員,而前端團隊基本淪為資源池,後端開發人員一人獨立負責一個專案,而前端開發就是流動的,像塊磚,哪裡需要往哪搬。
在小公司就是業務為王,誰掌握了業務邏輯的話語權,誰的價值就比較大。瞭解到業務知識的重要性之後,我開始逼著自己去深入業務,瞭解業務,我開始在專案中有意識地提高自己對業務的掌控能力,希望藉助於對業務知識的瞭解,將我們平時做的這些後臺管理系統打造成一個個「使用者互動體驗做到極致的好產品」,以此來提高業務需求方的工作效率。如果這是可行的,那麼這就可以成為我的價值點。
不過現實很快就狠狠地給了我一巴掌,我發現就算我把這個專案的業務瞭解清楚了,很多時間去改善某一個互動,也是收效甚微,從老闆的角度,你這些做法帶給他的收益甚至是負的!因為後臺管理系統類的專案都是重後端邏輯的,頁面做的好是錦上添花,做的不好也勉強可以用,價值提升不大,推動業務進展的還是後端開發人員。
所以,如果我只是把眼光專注於互動上的提升,根本不能做到影響這個系統的產品走向,也不能推動一個專案的業務進展。
跳出來,橫向提升自己的能力
這個時候我發現如果堅守前端的一畝三分地,我能創造的價值很有限,永遠是資源池裡的一塊磚,只能被別人搬來搬去,沒有主動權。這一點是我難以接受的。同時,作為一個一年多工作經驗的年輕人,我也正在苦苦地探索自己接下來的職業規劃:未來三年我要成為一個怎樣的人?是要成為前端的技術專家,還是走技術管理路線?如果是前者,會不會遇到發展瓶頸?作為一個程式媛,走哪條路子會更好呢?
如果是選擇前者,就是離開這家公司,去更大的公司安心地做一個專業的前端。如果選擇後者就是留在這家公司,培養自己的專案管理能力和產品思維,成為一個能推動業務發展的多項全能選手。
思來想去我還是選擇了後者,其實前者對我來說是更簡單的,因為我的性格是比較內向安靜的,跟人打交道做周旋更耗費我的心力,後者對於我來說是一種全新的嘗試,也是一個巨大的挑戰,但是我還年輕,還有試錯的資本,技術管理這條路如果我連試都沒試過就放棄,那才是真正的可惜!
站在 25 歲這個特殊的節點上,我給自己定了一個目標:2019 年要成長為一個可以獨當一面的專案負責人!
這之後我開始主動找我老大聊我的想法,他給了我很多建議,並且跟我說了一個需求點:公司目前沒有專業的 OA 系統,管理層做各類審批時沒有統一的入口,很不方便,所以急需解決審批這個痛點,但是目前又抽不出人手去做這個事。我立馬接下了這個需求,開始做需求調研和專案規劃,然後組織需求評審,設計原型……這中間的過程就不細說了,要不然這篇文章的字數可能要爆表了(以後有機會我可以再詳細寫寫這個專案過程中的辛酸苦辣?),說說過程中得到的一些教訓和收穫吧。
這些道理,工作了兩年之後我才真正明白
在這個專案推進的過程中,我成長最多的有以下幾點:
1. 認知上的提升,思考問題不要侷限於「開發人員視角」
舉個例子,以前我接手了一個前人的專案,程式碼太爛,維護成本太大,我一定會直接跑到老大面前說我要重構這個專案!如果我老大不同意我可能會在心裡覺得他啥也不懂,對技術沒追求。但是開始做專案管理之後,我才發現以前自己這樣的想法有多麼幼稚,只是想到自己對技術的追求,但是沒有任何目標規劃和風險管理,應該要先理清楚重構的必要性,不重構的話會有什麼問題?如果重構會帶來什麼收益?需要投入多少人力才能完成這次重構?重構有具體的方案嗎?重構後你想達到什麼效果?
如果將我們的認知稍微拔高一點,從 leader 的角度去思考,我們就會知道,他最需要的是專案順利按期完成,而不是你口中完美無缺但是遲遲看不到產出也沒有具體規劃排期的程式碼重構。
2. 做事情前要排好優先順序,保證 MVP
排好優先順序這個是專案管理裡面的概念,但是我覺得可以運用到工作和生活的方方面面。
從工作角度來說,做專案開發時,專案經理應該排好所有需求點的優先順序,並且做好工作量評估,因為風險是永遠存在的,事情很有可能並不難按照你的預估順利進展,這個時候你要知道哪些需求是最重要的,哪些需求如果當前沒精力做是可以先砍掉的,這樣你才保證你的專案有階段性的產出。
而從生活的角度來說這個道理也是適用的,之前我在《學會提問》這本書中看到一個詞——完美解決方案謬論,就是說規劃目標的時候總愛給自己定一個完美的全面的目標,這個時候只要稍微遇到一點阻力就乾脆什麼都不做了,因為覺得不是完全做完就不是完美的。我之前也陷入了這個執念,給自己定了一個寫作的目標,然後就想著一定要搭建一個美美的部落格之後再開始寫作,結果可想而知,部落格一直沒去搭,文章也一篇都沒寫。其實我們排好這件事情中所有行動項的優先順序後就會發現,其實寫出來一篇文章才是優先順序最高的,只要寫出來一篇文章,那麼寫作這件事就算是成功了第一步,搭建一個自己的部落格網站只是錦上添花,是次要的。
3.「工作情商」
這個話題太大了,我就說一點最重要的:說到做到。如果不能說到做到,久而久之就會給人留下不好的印象,貼上「不靠譜」的標籤。
如何“說到做到”?
在 leader 給我們下達指令,或者和同事們配合時,要先聽清楚了任務的具體內容之後再做承諾,並且要給別人回覆任務的時間和標準,如果承諾了就要盡心盡力去做,如果實在超出了自己的能力範圍或者超出自己能調動資源的許可權就要直接說「不」。
其實直接說「不」看似簡單,做起來非常難,我在工作初期就一直沒有做到這一點,別人找我做一個需求,我很難說出拒絕的話,結果就是接了超出自己工作量的活,自己要熬夜加班加點地做,並且可能還沒達到原來預想的質量。所以直接說不也是一種負責任的表現。
如果說第一年是我技術上成長最快的一年,那麼第二年就是我心智上成長最快的一年。經歷了這個專案,我開始意識自己之前的思維侷限性,鍛鍊了自己的專案管理能力與資源協調能力,另外也初步建立了一些產品思維,不管之後我是想走技術路線還是管理路線,這些經歷對我來說都是萬分寶貴的。
好了,以上我兩年多以來的心路歷程,不知不覺竟然寫了這麼多,感謝你堅持看到了這裡?。上面這些經歷,總結起來就是一個懵懵懂懂的前端萌新,到剛開始被做不完的業務需求矇住了雙眼,忽略了自己的個人成長,後面開始覺醒,花了一些功夫嘗試往業務方向靠攏,並用了半年多的時間嘗試去做負責一個專案,最終找到自己真正感興趣的發展方向的故事。
如果正在閱讀這篇文章的你也是一個剛剛工作的年輕人,或者你還沒有找到自己以後的發展方向,希望我的這段經歷可以給你一些啟發,也祝願每一個剛剛畢業的年輕人都可以順利找到自己的興趣點,快樂工作!快樂成長!
好了,回顧完我的工作經歷,接下來說點輕鬆的?
安利一些好的工作習慣/效率工具
1. 工作時將手機調成時鐘模式,放在桌面上
清晰地看見時間的流逝,人會比較有緊迫感,可以集中注意力。
之前我工作或者學習時注意力很容易被打斷,現在很少有人會戴手錶,所以對於時間的流逝並不敏感,往往都是浪費了很多時間之後才意識到自己的事情還沒做完。比如開啟 Typora,本來打算寫一篇文章的,結果知乎突然彈出來一篇推送我的注意力就被吸引走了,刷著刷著就忘記了自己原來的目標。後來我下載了一個顯示桌面時鐘的應用,將手機擺在桌上,這樣既能清清楚楚地感受到時間的流逝,又把手機給佔用了,防止你拿起手機刷訊息,一舉兩得,自從我這樣做之後,工作效率提升了好多。
2. 藉助 TODO 應用來規劃自己的待辦事項
我自己使用的是微軟出品的Microsoft Todo,每天晚上將自己明天要做的事情提前規劃好,第二天按照這個 todo-list 完成自己安排好的事情,做完一條劃掉一條,神清氣爽,而且不會忘記本來應該做的事。
另外這個應用還可以用來建立清單,比如像左下角那樣,我建立了幾個清單,把自己想看的書或者一些稍後要閱讀的文章連結都管理在裡面。
2019 年做的比較好的一些事
寫作
年底的時候又開始撿起來我的筆頭,開始寫文章啦~
正如我在前面章節中說的那樣,我之前陷入了完美解決方案的執念,總是寄希望於搭建一個美麗的部落格,然後再開始寫部落格。所以一直拖延著。
不過,從十二月開始我強制自己一定要有階段性的產出,累計到現在,我在掘金已經寫了14篇文章,其實堅持寫作挺難的,但是大家的點贊和評論裡面一些人的感謝給了我很大的鼓舞,新的一年我也會繼續堅持寫作,記錄自己的想法和經驗總結,希望能給別人帶去一些幫助。
看書
今年在微信讀書上看完了18本書!可喜可賀!我自己都不知道原來不知不覺中看完了這麼多書。這個數字在很多人看來可能並不起眼,但是對我來說還是挺難得的,因為工作了以後感覺自己就比較少有耐心完整地看完一本書了。
其中有好幾本都是小說,週末花點時間曬曬太陽看看書也挺舒服的。這裡挑幾本推薦給大家:
《82年生的金智英》 《長安十二時辰》 《解憂雜貨店》 《無聲告白》 《瀝川往事》
另外還有幾本是軟技能方面的書:
《結構思考力》 《學習力》 《子彈筆記術》 《極客與團隊》 《協同的力量》
堅持吃早餐
雖然今年沒有做到早睡早起,但是今年做到了堅持吃早餐,這一切都要從年中我做了個體檢開始說起。
以前在西二旗生活指北這個公眾號看過一張圖片,說普通人體檢的時候檢出個體重超標都要擔心半天,而程式設計師體檢只檢查出腰椎間盤突出、生理曲線消失、心率不齊就謝天謝天了,簡直太貼切了。
今年體檢爆出了好幾項警告,其中最可怕的一項就是膽囊息肉8mm,這個著實把我嚇了一跳,醫生說多半是因為長期不吃早餐引起的,想想自己確實經常為了早上可以多賴會兒床,把吃早餐的時間都給壓縮了,然後家附近、公司附近也沒有早餐店,所以索性就把早餐給省了。
所以從七月份開始我就堅持在家自己做早餐吃,其實也不費事,我買了一個小電飯煲,每天晚上預約上煮粥,早上起來了就可以吃上熱騰騰的粥了,再簡單配著點小鹹菜,早上吃的全身暖洋洋的,整個人都醒過來了。
其實年輕人有很多都不吃早餐的,在我們部門問了一下,幾乎早上都沒有固定吃早餐的,有吃的也只是吃點餅乾喝點可樂,以前我也是這樣的,我給他們安利了一下小電飯煲,有好幾個人也跟著開始早上煮早餐了。
大家一定要堅持吃早餐呀。
2019 年做的不好的一些事
作息比較混亂
今年總是熬夜,經常都是熬到兩三點睡覺,早上又睡到很晚,有的時候是熬夜看劇,有的時候是看到小說太精彩了熬夜看完,還有的時候是晚上下班完該寫的文章一直拖到了半夜才寫。反正熬夜的理由總有千千萬萬……
不過最近我已經真真切切地感受到了熬夜的危害——臉上時不時就會爆痘,早上一般都沒啥精神,整個人的精神也變得比較差,要靠大量炫邁來拯救。
沉迷於資訊碎片
現在網上的資訊太多了,除了每天逛逛掘金,知乎、豆瓣、微博以及自己訂閱的 RSS 都會推送大量的訊息,另外還有今日頭條、抖音這些娛樂影音型別的,在資訊流的餵養下,我感覺自己獨立思考的時間變得越來越少,甚至正在逐漸失去獨立思考的能力,新的一年我一定要嚴格控制自己刷資訊流的數量和頻率。
技術書籍看的比較少
這一條有很大程度是由於上一條導致的,在這個資訊爆炸的時代,我變得越來越沒有耐心認真看完一本書,技術知識的輸入只能靠官方網站或者別人的部落格文章分享,這是很可惜的,很多優秀的技術書籍會系統地梳理一個領域的知識點,而網路文章是碎片化,系統地瞭解一個知識才能建立起具有整體性的高質量知識框架。
展望 2020 年
2020 年的願望有很多,不過為了避免立太多flag明年這個時候瘋狂打臉?,我還是理性地選了幾個比較重要的,這裡簡單記錄一下:
養成良好的生活習慣,當一個健康的程式設計師 早睡早起 堅持吃早餐
技術上更加深入 重新梳理一遍 JavaScript 基礎 將更多精力放在加深自己的技術深度上 梳理已有知識點中模糊的地方 學習新知識時,深入實踐,並沉澱總結經驗
堅持寫作,將自己的一些經驗分享出來,幫助到更多的人 希望明年掘金可以保持至少一月一更的頻率,等級達到 level5 運營一個自己的公眾號
好了,以上就是我關於 2019 年的回顧以及對新一年的展望,再次感謝您的耐心閱讀?
如果本文的一些觀點對您有幫助,可以給我點個贊?~如果關於文章的一些觀點對您有所觸動,歡迎在評論中與我交流?~