趣话题:底层码农的心酸,那么我们 如何避免成为底层码农呢?
前言
碼農(nóng)是世界上最苦逼的職業(yè),沒有之一。996的福報,007的辦公室猝死,尤其是底層碼農(nóng)更為辛苦,接下來博文以親身體會來告訴大家如何避免成為底層碼農(nóng)。喜歡博主的小伙伴,動動你的小手,一鍵三連吧。
在這里喂自己袋鹽,可視化(tableau)和畢業(yè)設計(matlab)的小伙伴,可訂閱以下博主精心整理的幾個專欄。
?
tableau可視化數(shù)據(jù)分析高級教程
https://blog.csdn.net/wenyusuran/category_9596753.html
Tableau可視化數(shù)據(jù)分析知識點詳解
https://blog.csdn.net/wenyusuran/category_9274958.html
MATLAB-30天帶你從入門到精通
https://blog.csdn.net/wenyusuran/category_10614422.html
MATLAB深入理解高級教程(附源碼)
https://blog.csdn.net/wenyusuran/category_2239265.html
在博主的資源中也有各種算法的應用實例源代碼,需要的小伙伴自取喲。
?
端正心態(tài)
?
制定目標我們人人都會,當我們立下flag:想要成為優(yōu)秀的工程師、想要學會TensorFlow的時候,其實就是樹立了目標了。然而樹立目標并沒有什么卵用,目標還是目標,你還是你,不說接近并且達到目標了,就連往目標移動的趨勢都沒有。這也是絕大多數(shù)人中途放棄的原因,所以在一切的一切開始之前,首先要端正心態(tài)。
世上沒有一蹴而就的事情,想要提升自己的實力,往上走是一個漫長的和自己對抗的過程,不是今天打了雞血看了幾篇技術文章,明天刷了兩道LeetCode就能變強的。
巴菲特說過一段話,我們長久以來持續(xù)不斷的努力,就像是在一個長長的斜坡上往下滾雪球。這個斜坡太長了也太平緩了,以至于一開始的時候幾乎看不出來它是一個斜坡,雪球滾起來也無比地緩慢。但是,只要我們堅持下去,它就會越來越快,越到后面雪球也越大,給你的收獲也就越大。
我現(xiàn)在越來越覺得,所謂的天賦其實很多是一個人的耐心而不是聰慧。你能有多耐得下性子,能夠有多熬得住,你就能把事情做得有多好。
很多人聽到這些道理估計都怕了,擔心自己熬不下去,但好消息是提升技術實力的斜坡其實非常陡峭,比大家想象的要陡峭的多。
堅持一個月能學會一門語言,堅持半年能夠熟悉一個領域的技術,堅持兩到三年就可以成為一個優(yōu)秀的工程師。這其實已經(jīng)非常非常迅速了,不相信的話,我隨便舉個例子,你們可以去看看《人民的名義》和《大明王朝1566》這兩部劇,去看看想要在官場混得如魚得水,把事情做得滴水不漏有多難。我個人的感覺是想要從愣頭青變成官場老油條,至少需要十年起步。相比之下,工程師的兩三年成才,是不是已經(jīng)快得多了?
?
制定目標和拆解目標
?
很多大神給你分享了許多方法論,都很有道理。但是真正讓你實操,你可能還是不知道該從何做起。這里面的原因其實很簡單,因為你的目標本身就沒有找好。
在績效考核領域有一個著名的SMART原則,分別是specific,mesureable,attainable,relevant和time-bound。翻譯過來就是具體的、可衡量的、可實現(xiàn)的、相關的以及有時效的。舉個簡單的例子好了,我們想要提升自己成為高級碼農(nóng),那么問題來了,什么樣的碼農(nóng)是高級碼農(nóng)?我們怎么量化指標?這個目標有哪些相關的小目標?你準備用多久達到?
這幾個問題問一問自己,是不是感覺立刻就清楚了很多?不再像是剛才那么迷茫了?
我們都知道做事前要有目標,但是很少有人清楚目標分為兩種。一種是用來持續(xù)努力逐漸逼近的長期目標,另外一種是當下可以立即執(zhí)行的短期目標。在你努力的過程當中,短期目標隨著你進度的不斷推進,是一直會變化的。而長期目標,相對穩(wěn)定,幾年內保持不變。
就拿我自己來說吧,成為頂級博主,坐擁10多w以上的粉絲是我的長期目標,當下把每日讀者閱讀量提升到5000以上是我的短期目標。長期目標可能需要幾年甚至十幾年的時間,但短期目標是實時迭代的,也許下周我就達成了。到時候就會指定新的目標。
人很多時候迷茫,主要原因有兩個,一個是不確定做什么對我們的目標有幫助,第二個是不知道如何找到目標當中的執(zhí)行點。針對這兩個問題,最好的辦法就是拆分。把目標拆分地越細越好。越細的目標越明確,越明確越容易執(zhí)行。
比如你想要進入BAT,針對這個大目標你什么也做不了。但是當你拆解出夯實基礎、積累經(jīng)驗、準備面試這三個中等目標之后,你就不是一頭蒙了。如果你繼續(xù)拆分,把夯實基礎拆分成熟練掌握Java,再把熟練掌握Java拆分成了解Java中面向對象的概念,那么你當下就很明確地知道你要做什么了。如果在這個過程當中再能結合上上剛才說的SMART原則,那么你的目標感以及驅動力也會更強。
?
知其然更要知其所以然
?
前面講了一些總的方法,后來來聊聊一些具體的舉措,可以實實在在地應用起來幫到大家。
?
?
程序員的成長貫穿著bug,碰到bug與各種問題是必然的。但是遇到bug之后每個人不同的處理方式是完全不同的。
打個比方說,寫java的時候,少配置了配置文件,導致環(huán)境異常,報錯。有的人是什么也不做,這次遇到了這種情況,花了很多時間查資料解決了,下次再遇到還是要查資料。有的人呢,則是記住了這個異常發(fā)生的原因,下次再遇到就不用查資料了,直接可以解決。還有的人呢,不僅記住了異常的原因,而且搞清楚了問題產(chǎn)生的背景和原因,為什么需要配置文件,這個配置文件起到了什么作用。這樣,不僅下次遇到相同的問題能解決, 遇到近似的問題,都能想明白該怎么解決。而且解決問題背后帶來的就是技術的成長和突破。
我以前剛畢業(yè)做java的時候,git、maven都沒有用過。maven非常容易出問題,寫過java的應該都懂,稍微一個包沒配好,或者是版本不對就會報錯。一開始的時候,都是師傅幫我解決問題。后來我發(fā)現(xiàn)這樣我根本沒有長進,于是我試著自己去解決。
一開始的時候要花很多時間,才能摸索出來問題的原因。后來,我花了點時間學習了一下maven的原理,以及和spring以及tomcat等框架運行的時候是怎么配合的。很快,我不僅可以解決自己的環(huán)境問題,還能幫助別人搞定別人搞不定的問題了。我技術的飛速提升正是在這個階段。
做程序員這行,需要技術積累。技術怎么積累?僅僅靠我們自己去學習鉆研也是不夠的,我們在實踐當中積累的經(jīng)驗也是非常重要的一個部分。利用好每一次遇到問題的機會,去學習到一個原理或者是一種方法,日積月累,你會發(fā)現(xiàn)好像自己什么都懂一點了,好像很多零碎的只是拼湊起來了。等到了這個時候,你離技術大牛也就不遠了。
?
多做10%
?
最后一條其實有些普適性,不僅僅適合程序員。
怎么樣能從普通到優(yōu)秀,從優(yōu)秀到更優(yōu)秀?
總結來總結去,無非是付出更多的努力,以及用更高的標準要求自己。我個人把這條量化一下,設計成方法論,就是一句話,那就是多做10%。
你我都知道,追求決定成就。如果你追求成就大師,即使你成不了大師也能成為專家。如果你追求成專家,你可能只能成學者,如果你追求學者,可能你只能做一個普通員工,如果你追求普通員工,可能連工作也找不到……
但必須承認,不是所有人都敢于設定高標準。也不是所有人都有能力追求高標準,但多做10%卻是完完全全可行的。
這樣的例子太多了,比如老板讓你做一份數(shù)據(jù),你用了一個小時跑完了數(shù)據(jù),是不是可以多用十分鐘寫一段python做幾張圖表呢?你花了一下午的時間開發(fā)了某一個功能,是不是可以多花二十分鐘多review一下自己的代碼找找潛在的bug呢?你花了很多時間學了一點新技術,是不是也可以再多花一點點時間記錄下來方便以后復習呢?
我剛畢業(yè)的第一年是我技術成長非常迅速的時間,那時候當時的主管每周都會給我們做技術分享。其他人都是帶著耳朵來聽,聽完就結束,只有我一邊聽一邊記,之后還花了點時間把筆記整理了一下。
結果靠著筆記記錄的內容,以及充分的準備,我用一年的工作經(jīng)驗面試過了一家大廠。不僅如此,我把這份筆記借給過許多朋友,幫助他們也獲得了不錯的機會。
仔細想想,其實這也非常符合邊際效益,很多事情邊際效益是先遞增再遞減的,好比考試,從0分考到60分其實要比從60分考到80分難得多。因為能考到60分,說明大部分基礎題都會了,只需要再鞏固一點,再學一點附加題,完全可以考到80。反而是從80分考到90分很難,因為容易做的題都做了,剩下的都是硬骨頭。但很多人付出了許多努力,剛做到60分就迫不及待地放棄了,不得不說是非??上У摹?/p>
突破自己,其實并不需要我們做驚天動地的大事,很多時候就是從這些看起來很小的事情上入手的。
最后的最后
希望各位小伙伴能夠多多提升自己的碼農(nóng)層次,在今后的日子里不斷突破自己,拿大廠offer拿到手軟!
?
?
?
?
?
總結
以上是生活随笔為你收集整理的趣话题:底层码农的心酸,那么我们 如何避免成为底层码农呢?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 还在为数学建模的事发愁?带你一起来看看数
- 下一篇: 趣话题:同为技术岗,算法和开发哪个才是你