近段時間,996成爲了技術社區的熱門話題。工做壓力大、做息不規律,甚至脫髮、禿頭,是碼農常常要面臨的問題,甚至已經變成常態。那麼面臨持續高壓的工做,碼農應該如何自我減壓呢?一位軟件工程師給出了本身的建議。
選自Medium,做者:Julia Haigh,機器之心編譯。
git
開發者的世界老是忙碌的。不管你是個徹底的新手仍是經驗豐富的專家,總有事情在找你,你彷彿永遠都忙不完。下面,做者給出了一些建議來幫助開發者更好地工做。它主要分爲四部分:心態、學習、社會壓力和工具集四部分。編程
心態網絡
心態是一切的開始。感受壓力大是由於要同時處理太多任務,受到太多的刺激。你須要從新調整注意力,把任務按照優先級進行排序。架構
理解問題app
理解問題是解決問題的第一步。你爲何會感到壓力山大呢?根本緣由在哪裏?有太多東西須要學、須要跟進嗎?工做中的責任太大?來自同齡人、同事的壓力太大?對本身指望太高?框架
坐下來,拿一張紙、一支筆,把你的問題寫出來,它能幫助你找到本身最大的問題所在,這樣你就能知道本身最須要學習什麼。less
你不能一我的完成全部任務編輯器
每一個人都不是全能的——因此咱們須要團隊。你不多是全部方面的專家。工程裏的每一個領域自己都是一個完整的課題,從 AI 到 DevOps,再到 CSS。相似的,寫教程、開源代碼、編外項目都須要花時間。每件事都須要花時間。工具
沒有所謂「正確」的方法學習
現實生活中的作事方式有好有壞,但並無所謂「對」的方式,只有最適合的方式,編程尤爲如此。
找到本身的目標
你真正想要達到的目標是什麼?你是想成爲世界上數一數二的專家,仍是作好本身的工做而後回家陪伴家人?仍是想找一份合適的工做?你沒必要按照別人的標準去生活,知道本身真正想要什麼能夠幫助你劃定本身的界限,專一於本身的目標並篩選出那些與你無關的事物。
學習
做爲開發者,大部分知識須要自學-但對於咱們中的不少人來講,這是一種至關新的學習方法。這種方法與正規教育不一樣,最重要的是,你不須要記住全部東西。理解主題範圍以及知道哪裏能夠得到正確信息更爲重要。熟能生巧嘛!
創建本身的學習架構
自學的其中一項阻礙是瞭解本身學習什麼-從哪裏開始、哪些是重點內容以及須要覆蓋哪些知識點。沒有人爲你設置相關課程,因此重要的是明確本身的學習架構。把全部要學的東西明確列出來會減輕你的認知負擔,同時促使你在從此的學習中堅持下去。作一些探索性研究有助於你把握住全部事情,你能夠嘗試下列方法:
開發者學習路線圖,像 Kamran Ahmed 的同樣。這能夠爲你提供一些可視化結構,並將全部知識置於上下文背景中。記住,沒有人可以徹底瞭解它。
把本身不瞭解的知識列個清單,並將每次聽到的不熟悉的知識添加進去。
看網絡課程和課程大綱-即便你不是一位初學者。你沒必要上這些課程,但依然能夠從涵蓋的主題中學到一些東西。
教科書。教科書內容也許過期了,但你依然能夠對主題範圍有所瞭解。
瀏覽招聘廣告,看看你中意的工做須要什麼知識和技能。這樣一來,你會了解什麼是實際須要的,並確保本身沿着正確的職業道路發展。
建立本身的核心資源
咱們能夠得到的內容有不少,但並非全部的都是有用和準確的。要知道發表一篇文章太容易了。只有當你發現本身須要某些文章而且這些文章能夠解決本身的問題時,它們才最有價值。除此以外,一個好的方法是找到本身的核心資源——那些你能夠反覆依賴的關鍵網站和專家。下面提供幾種主要類型:
文檔。即便文檔的可讀性不強,但它們一般是最準確和最新的信息。
參考文獻和學習資源。這些網站儘量以最實用和有用的格式展現現實中最佳的實踐信息。
專家。這些人和博客從頭至尾都知道本身的位置,他們會寫一些關於更好地作事方式的文章來幫助你。這些人並不難找,由於他們的名字會反覆出現。
一旦你找到了本身最喜歡的資源,你就不多會去看其它的了。固然,偶爾走出去看看其它資源也是很好的,但前提是你把已有的東西都掌握好了。
安排學習時間
每週留點時間去探索和學習。也不必定要學習多大的項目,僅僅熟悉一下清單上的幾個項目也行。一個小時的學習就能改變不少哦。
用 Pocket 保存文章以供之後閱讀,而不是把它們放在書籤中,或者工做中途閱讀它們。你能夠用喜歡的方式標記它們,這樣有助於之後集中閱讀。
有時候,僅僅查詢一些東西並找出其定義就頗有用,有助於你聯想腦海中記的一些事情。有時候有些看起來很重要的事情其實很簡單。
一次集中於一件事。不要嘗試一次解決多件事情,能夠花半小時研究一個特定的主題,並正確理解它。
查看你的核心資源。可能你使用的一個框架須要更新,或者你發現了一些本身不知道的有用功能。
嘗試新事物。不是要你作一門課程或者使用工做中的一些東西來得到其要點,就作一些好玩或者感興趣的事。好比,若是你沒用過 NoSQL 工做,能夠克隆 MongoDB/Mongoose 種子項目玩一下。
按期作某件事能讓事情變得使人期待。通勤時間能夠用來閱讀,周天晚上能夠作實驗。另外,你還能從成就中得到多巴胺的提高。
社會壓力
外界老是充實着各類噪音,尤爲是網上,這很容易讓你感受本身作什麼都是錯的。其實你沒有錯,你只是須要更多角度。
許多人寫的代碼很蹩腳
正如世界上有不少蹩腳的做家、歌手,就連谷歌也有人會寫出糟糕的代碼。咱們能作的就是持續練習,不斷學習。
人們只會展現本身作得好的地方
沒有人會告訴你本身修復一個簡單的小 bug 修到夜裏 2 點,也沒有人會告訴你他們的平常工做都是在處理一些遺留代碼。他們展現的都是本身的編外項目以及本身近期的得意之做。社交媒體讓人以爲每一個人彷佛都在作本身夢想的工做,但其實許多人只是在不眠不休地遇上 deadline,直到深夜才離開辦公室。
優先級劃分因人而異
一些人將開發視爲本身的主業,有些人有其餘的優先事項。有些人爲最新技術而生,有些人爲本身的副業拼命,還有些人只是想在社交媒體上出名。你沒必要花時間去追趕那些把每一分鐘的空閒時間都用在閱讀最新博客上的人。讓他們幫你作總結就能夠了。
想法因人而異
一邊有我的站出來宣稱某個框架或方法將大有可爲,另外一邊卻有人宣稱該框架或方法已死。人們對同一個事物老是抱有不一樣的見解,由於他們的視角、經歷、用法都不相同。也許他們都是對的,也許他們都不對。最有可能的狀況是,他們都有部分意見是對的。如何評估這些意見取決於你本身。你要有本身的見解。
文章都是騙人的
人們總喜歡寫一些關於可能性,而不是慣例的文章。多數文章你在平常工做中都用不到。看起來很酷、很吸引眼球並不表明有用,也不表示你須要掌握。
招聘廣告誇大其詞
招聘廣告上的要求彷佛無窮無盡,但這些一般都是爲理想的候選人寫的。上面有些技能要求是你須要知足的,但剩下的只是吹毛求疵。有些東西你會在工做中學到,而有些東西他們雖然想用但沒有付諸實踐,有些是五年規劃的一部分。還有一些只是關鍵詞堆砌,用一套大概的技能來吸引候選人:若是你瞭解 LESS,你就能輕鬆地學會 Sass。
確保項目經理被通知到位
有時候項目經理不知道你在作的事情難度如何。可能他們不是技術人員,也可能他們的技能過期了。好比,解決某個問題並非「添加一個下拉列表」就能夠作到的,實際上,這是一個具備自動完成功能的定製選擇組件,它須要兩個新的 API 路徑。
工具集
編碼只是其中的一部分,有一套好用的工具將幫助你更好地工做以及管理工做負載。
把時間花在覈心技能上
像解決問題、批判性思考和測試這樣的技能對開發人員來講很是重要。花點時間學習如何有條不紊、系統地解決問題能夠幫你節約不少時間。並且它對生活的各個方面都有幫助。
使用適當的項目管理工具
規劃你的項目,管理任務,追蹤 bug。使用 git 進行版本控制。這些工具的存在就是爲了幫助你追蹤全部正在進行的東西。不要把全部的東西都記在腦子裏,那樣太累。
最大限度減小重複工做
有些事情須要你花費不少精力去作,而有些事情你能夠刪減一下讓它變得更簡單。
好用的代碼編輯器。像自動完成和工具提示定義這樣的功能能夠幫助你集中精力編寫代碼,而沒必要總查看代碼庫。
使用代碼片斷。好用的代碼編輯器可讓你用快捷方式設置代碼片斷,但有時候把代碼片斷放置在文件中以便複製粘貼也很好。好比你發現本身老是搜索同樣的東西,你能夠把它放在代碼片斷文件中並添加註釋,這樣你下次要用的時候就能輕鬆地找到它了。
記錄原因。一般你會發現本身總在經過一些代碼來弄清楚本身爲何這樣設計。這樣子重複地去嘗試和理解一樣的東西實在太費腦子了。因此,好好記錄代碼將有助於你節省時間和精力。
呼吸新鮮空氣、去鍛鍊、去交談
直直地坐在屏幕前盯着電腦看 10 個小時是不健康的。你可能會被想象中的問題搞得焦頭爛額,從而忽略大局。擺脫這種狀態,保持大腦和身體健康很重要。去外面呼吸,遛遛狗什麼的。讓你的眼睛放鬆一下。和那些不懂什麼是 HTML 的人聊聊天。
尋求幫助
你社區的人會支持你的。因此他們會寫文章幫助你們,構建開源項目,並詢問你想要什麼。針對你的工做負載,尋找好的資源、建議或支持。一般他們都會樂意幫忙。
但願這些建議中至少有一條能讓你感受生活沒那麼艱難。但我還有一個建議:
何不關上電腦?