點擊上方 "程序員小樂"關(guān)注, 星標(biāo)或置頂一起成長
每天凌晨00點00分, 第一時間與你相約
每日英文
Sometimes there is no next time, no second chance, no time out. Sometimes it is now or never.
有時候,沒有下一次,沒有機會重來,沒有暫停繼續(xù)。有時候,錯過了現(xiàn)在,就永遠(yuǎn)永遠(yuǎn)的沒機會了。
每日掏心話
其實,痛是很難分享出去的,你復(fù)述一次你就傷一次,別人沒共鳴,你就更受傷。隱忍不說,只是做事,時間會讓痛過去。
來自:碼農(nóng)翻身 | 責(zé)編:樂樂
程序員小樂(ID:study_tech)第 802 次推文 圖片來自百度
往日回顧:小米回應(yīng)暴力裁員:已提前三個月通知不續(xù)簽合同,并且給了N+1補償
正文
本文來自“辣椒炒肉”的投稿,她是一個前端程序媛,畢業(yè)半年成長很大,她的經(jīng)驗總結(jié)非常值得職場新人借鑒。
先自我介紹一下,我是前端程序媛妹妹,應(yīng)屆生,2019 年 7 月份入職到 2020 年 1 月已經(jīng)工作半年,這半年里自己以肉眼可見的速度成長,寫寫這半年的經(jīng)歷,回顧總結(jié)一下,希望我的經(jīng)歷能給你帶來不一樣的“雞湯”。
入職的每個應(yīng)屆生會分配一個導(dǎo)師,工作內(nèi)容大致和導(dǎo)師方向一致。剛?cè)肼毜囊粋€月,主要就是熟悉公司的一些基礎(chǔ)建設(shè)、用什么技術(shù)棧、跟導(dǎo)師一起開需求評審會、改改小 bug、調(diào)調(diào)樣式或增加小功能。
最開始的工作比較輕松,沒有具體工作的時候我就結(jié)合系統(tǒng)功能和代碼,梳理系統(tǒng)邏輯,繪制腦圖。這件事還是很有用的,對我后來快速定位 bug、迭代小功能起了關(guān)鍵性的作用。
**第一次獨立做一個完整的需求 **
第一次做一個完整的需求是入職兩個月的時候,當(dāng)時還是挺慌的,感覺自己還沒有摸清門路就要開始一個人做事了,而且還是一個倒排期的移動端需求,這無疑又為我添加了一份緊張感。
每天根據(jù)需求文檔瘋狂寫代碼,天天壓力大到夢里都在寫代碼、解 bug,早上七點鐘自然醒,最擔(dān)心的事情就是功能實現(xiàn)不完。
就在這時導(dǎo)師很忙,完全只能靠自己,遇到什么技術(shù)難題,都要自己來解,我迎來了前所未有的恐慌。
盡管后來功能上線了,但依然很虛,時刻都在擔(dān)心線上會不會有 bug。每天會不定時打開公司的APP幾次,實際操作一下自己上線的功能,驗一驗有沒有什么bug ;同時關(guān)注產(chǎn)研群,看是否有 bug 反饋。
過了大概 2 周的時間,功能在線上很穩(wěn)定,沒有任何 bug 反饋,這才放心下來。
由此我對自己的技術(shù)水平也有了新的認(rèn)識,實際上并沒有自己想的那么差。壓力最大、問題最多的時候也是成長最快的時候,做完整個需求以后,前后端怎么配合、什么時間節(jié)點該做什么事,需求從評審到上線的鏈路也漸漸清晰了。
**面對壓力 **
做這個需求的時候我感覺到了非常大的壓力,感覺每天自己就是一個高壓鍋。對壓力的思考,也正是這個需求給我?guī)碜畲蟮某砷L。
壓力來源于什么?壓力來源于自己認(rèn)為自己的能力不足以 hold 住整個事。因為自己沒有做過,面對未知的恐懼人就會不自覺產(chǎn)生壓力。有什么好辦法面對壓力嗎?
正視、面對、突破。
1. 首先不能給自己增加壓力的砝碼,切記不要思考是不是自己能力不行,我怎么這么菜。越是思考負(fù)面情緒因素,越讓自己頭腦不清晰,壓力越大自己越緊繃,這時候如果出現(xiàn)一點額外的差錯,就感覺天要塌了,越是壓力大越容易出差錯。
2. 有壓力的時候,也就是成長最快的時候。按部就班處理每天遇到的難題,不會什么就學(xué)什么,不要擔(dān)心它、也不要因此而焦慮,把該做好的事情做好,當(dāng)做好之后壓力也就解除了,同時自己也成長了。
3. 做事情的時候要給自己信心,不斷地給自己加油打氣,抗一抗,努努力加把勁就過去了。當(dāng)下次同樣難度的事情到來時,已經(jīng)經(jīng)歷過一次便不會緊張焦慮。想想看,能力是不是這樣增長起來的呢?
**換業(yè)務(wù)方向 **
在工作差不多兩個月的時候,整個前端大組計劃根據(jù)業(yè)務(wù)方向劃分成 4 個小組,我現(xiàn)在的工作屬于 A 組,趁這個時期,我想要在劃分方向前調(diào)整到 B 組去。
為什么要換到 B 組?
簡單說說 A 組。A 組的業(yè)務(wù),由于因為歷史項目較難維護困難,作為新人的我很頭疼,我每新增一點功能都感到緊張,畢竟線上無小事。
再說說B組。1. B 組同學(xué)經(jīng)常做 code review,基本上每周都會看到他們 code review 的會邀,作為新人我對 CR 這件事還是很向往的;B 組業(yè)務(wù)復(fù)雜、系統(tǒng)功能多,但是卻有一套規(guī)范,多人寫的代碼十分接近像一個人寫出來的。
2. B 組同學(xué)的能力成梯隊,有資深的老員工負(fù)責(zé)一個項目,帶著幾個同學(xué)一起做,看他們平時工作很 happy。
我有了初步的想法后,直接找到 B 組的 leader,先了解下 B 組有關(guān)的業(yè)務(wù)。聽聽這組的老大怎么說。(下文 B 組 leader 直接簡稱老大)
讓我非常意外的是,約到了 B 組 leader 后,他在會議室非常認(rèn)真地給我講了一個多小時,還寫了板書,把多個業(yè)務(wù)之間的關(guān)系講得明明白白;
不僅介紹了 B 組當(dāng)前做的事,還介紹了未來的規(guī)劃,規(guī)劃包括了業(yè)務(wù)需要和技術(shù)驅(qū)動。
我和 B 組 leader 在此之前沒有任何交集,但是就沖這認(rèn)真程度,我已經(jīng)決定來 B 組了,我仿佛已經(jīng)看到了未來的光明,哈哈。
我和 B 組的 leader 表達了我想來 B 組的意愿,他表示歡迎。接下來就是和大組的 leader 溝通了,在此次溝通之前,我認(rèn)為這是一件很難的事,因為我擔(dān)心:
如果 A 組人力不足不允許我去 B 組怎么辦? B 組真的需要我嗎?大組 leader 會不會覺得我這剛工作兩個月的新同學(xué),想法有點多啊?
認(rèn)真地準(zhǔn)備了自己的說辭,帶著諸多疑點,和大組 leader 溝通了一次。
沒有想到,結(jié)果如我所愿!大組 leader 不僅同意了,而且還非常高興我能主動表達自己的想法。
**主動反饋 **
事后總結(jié)了一下,主動反饋在職場中非常重要。主動可以改變你看似不能改變的事實,主動反饋也是站在別人的角度去考慮問題。
你的上級大概率不會了解每一個人,如果你能主動 push 消息給你的上級,和上級有一個良性的互動,那么他越了解你、越了解你手上的工作,也就越能幫助你,一旦你出了什么岔子或者有什么疑惑,他能切中要害給你解答。
除了和你的上級反饋,也要與自己合作的產(chǎn)品、任何角色的開發(fā)、運營同學(xué)等及時反饋,有消息及時反饋給對方,在對方的心里你更靠譜。
反饋什么樣的問題呢?我大致分了幾類:
**1. 可能延期上線的風(fēng)險 **
**2. 自己近期的工作進展和疑問 **
**3. 對團隊建設(shè)的想法 **
**4. 發(fā)生變化、會影響結(jié)果的消息。 **
獨擋一面的時刻
由于 B 組業(yè)務(wù)多,人力不足,剛來一個月,老大直接扔給我了一個 P0(項目優(yōu)先級的排序方法:P0、P1……)的項目,我一個人負(fù)責(zé)。
我特別興奮,自從獨立做了一個完整需求以后,自己信心大增,發(fā)現(xiàn)自己是有能力獨自完成一個需求的,而且技術(shù)能力也沒有自認(rèn)為的那么差,有了上次的積累,我相信自己這次會做得更好。
這次是我第一次獨自負(fù)責(zé)一個項目,檢驗自己能力和展示自己能力的時刻到了。
從零開始一個項目,遇到的挑戰(zhàn)還是很多的。平時只是在原有項目上迭代功能,現(xiàn)在從建倉庫、申請域名、搭建測試環(huán)境、申請上線機器等一系列事情開始,寫代碼只是其中一個環(huán)節(jié)了。
每天趕著做趕著做,還是遇到了一個大風(fēng)險,距離上線還有兩天,有一個關(guān)鍵的功能沒有實現(xiàn)。
這時候我已經(jīng)完全沒有了辦法,心里甚至有點崩潰,歸因于自己能力不足導(dǎo)致沒有開發(fā)完成,只能去問老大現(xiàn)在該怎么辦。
老大和產(chǎn)品溝通,結(jié)論是沒做的功能后續(xù)再迭代,問題解決了。
這件事讓我非常震驚!
因為在我的心里認(rèn)為已經(jīng)走投無路,這該怎么處理呢?老大和產(chǎn)品的溝通過程我是全程在的,我發(fā)現(xiàn)老大是知道這個風(fēng)險的,時間緊很可能完不成,每天站會的時候產(chǎn)品也在,他提前和業(yè)務(wù)方溝通過,在約定的時間點不一定會完成全部功能,業(yè)務(wù)方也給出了最小可用版本的要求。
原來業(yè)務(wù)方的要求并不是一成不變的,他們在開發(fā)前期也是了解到時間緊的,在擺明了客觀條件下出現(xiàn)問題,他們也會給出一些讓步,并不是咬得死死的要上線全部功能。
在這次需求完成后,有了很多新的認(rèn)識,大致分為以下幾個方面。
**態(tài)度 **
永遠(yuǎn)采取對解決問題最有利的態(tài)度。
開發(fā)過程中可能會出現(xiàn)預(yù)料不到的狀況,當(dāng)問題出現(xiàn)的時候,首先要擺正的就是自己的態(tài)度,不甩鍋、不帶情緒,采取對解決問題最有利的態(tài)度,缺少什么資源、產(chǎn)品有什么問題、接口哪里不合理就及時和對方溝通解決,以最短時間解決出現(xiàn)的問題。
對需求的思考
在做本次需求之前,很少思考為什么做這個需求。這個產(chǎn)品設(shè)計的合理嗎?在需求評審的時候大腦也不夠活躍,很少提出問題,通常是拿過來設(shè)計稿直接做,做完了上線。
但是這一次情況完全不同,我不假思索去做這個需求,結(jié)果就給自己留下了坑,在做的過程中才發(fā)現(xiàn)有問題,在開發(fā)中去改的成本遠(yuǎn)大于開發(fā)前想好。
這一次非常深刻提醒了我,開發(fā)前要主動思考需求,甚至說在某些時候細(xì)節(jié)的考慮要做得比產(chǎn)品還充分,做之前和產(chǎn)品充分交流,隨時提出問題,解決問題,開發(fā)前是萬萬不能少了思考的,要培養(yǎng)自己產(chǎn)品思維。
對于需求的思考和幾位前輩交流過,結(jié)合前輩給出的建議我給自己提出了開發(fā)前 5 問。
每次在拿到需求的時候我會問自己以下幾個問題,思考并嘗試回答,如果回答不清楚就問產(chǎn)品或者其他前輩。
1.首先了解為什么要做這個需求,它的背景是什么,能帶來多大的價值?
2.這個功能在當(dāng)前的系統(tǒng)是否已經(jīng)實現(xiàn)了?****如果實現(xiàn)了,是否可以復(fù)用,如果不能復(fù)用,差別在哪里?
3.這個功能除了滿足當(dāng)前的需求,還可以舉一反三用到別處嗎,是否可以抽出公用業(yè)務(wù)組件?
4.這個需求是一次性的需求還是長期的,后期會怎么發(fā)展?
5.技術(shù)上實現(xiàn)的成本高不高,如果高的話,是不是可以選最痛的、優(yōu)先級最高的做,然后小步迭代?
**提前暴露風(fēng)險 **
有問題、不能如期上線要提前報給上級。
提前是一個什么樣的時機呢?暴露風(fēng)險最好的時機是每天站會,如果沒有站會,就及時和上級說明情況,讓他提前知曉,而不是上線前才讓他知道。提前暴露風(fēng)險就是在為自己爭取時間,暴露風(fēng)險后可能的解決方案是延期上線、或者上線一部分功能。最初我很怕暴露風(fēng)險,怕上級認(rèn)為我能力不行,其實這都是以自己的角度思考問題,風(fēng)險的成因是多方面的,自己的能力只是其中一個。
**了解業(yè)務(wù) **
曾經(jīng)很不理解老劉在公眾號提出的了解業(yè)務(wù),也不明白自己的上級、部門 boss 經(jīng)常提醒大家去了解業(yè)務(wù),現(xiàn)在我有一點點感受了。
了解業(yè)務(wù)所涉及的名詞、流程、相關(guān)的功能、各業(yè)務(wù)之間的關(guān)系,可以使自己在開發(fā)過程中更加游刃有余,預(yù)測可能出現(xiàn)的問題,產(chǎn)品遺漏的邏輯分支,爭取做一個信息量最全的人。
在業(yè)務(wù)上常問自己,這是什么?這個業(yè)務(wù)的背景是什么?有什么價值?嘗試落實到紙面上,如果寫不清楚就繼續(xù)了解、去問,直到寫明白。
這是目前我認(rèn)為了解業(yè)務(wù)比較好的一個方式,問了解它的人,他也樂于給你講清楚相關(guān)信息。
寫在最后
我發(fā)現(xiàn),對于剛工作的小白來說,在工作中學(xué)習(xí)是最快的方式。每做一個需求,都會碰到一些技術(shù)難題,邊學(xué)習(xí)邊解決問題,能力嗖嗖嗖地就上來了,技術(shù)成長的速度遠(yuǎn)遠(yuǎn)超過自己周末默默啃源碼、看書本。
這半年是收獲頗豐的半年,自己成長了很多,由衷感謝這半年來幫助過我、給我解答諸多疑問的前輩。
2020 會面對更多的挑戰(zhàn),加油~
歡迎在留言區(qū)留下你的觀點,一起討論提高。如果今天的文章讓你有新的啟發(fā),學(xué)習(xí)能力的提升上有新的認(rèn)識,歡迎轉(zhuǎn)發(fā)分享給更多人。
歡迎各位讀者加入訂閱號程序員小樂技術(shù)群,在后臺回復(fù)“加群”或者“學(xué)習(xí)”即可。
猜你還想看
必須要掌握的 InterruptedException 異常處理
Github 3.4k星,200余行代碼,讓你實時從視頻中隱身
一次SQL查詢優(yōu)化原理分析(900W+數(shù)據(jù),從17s到300ms)
關(guān)注訂閱號「程序員小樂」,收看更多精彩內(nèi)容
嘿,你在看嗎?