起因
“天天在那curd,也沒啥技術含量”
“你就是一個curd boy”
“你就是一個curder啊”
“你不寫代碼,你只是代碼的搬運工”
上面幾段話,程序員是不是經常聽到或者看到。這幾句話說明了什么?
- 高度概括能力:用幾個單詞組合,就概括了多數程序員日常的工作情況。
- 自嘲:自嘲有時是一種樂觀的品質,用一種調侃的方式來看待自身情況。
- 樂觀:上面說了,自嘲是樂觀表現之一,但這種樂觀中帶着些許無奈。
所以說,程序員還是很可愛的一群人兒。
除了“自嘲”外,我們是不是應該多想一想,是不是應該多分析一下原因,是不是要找出一些方法,來改善“天天curd”這種狀況。
分析原因
-
沒有意識到
自己剛開始做的時候,可能沒有意識到這種情況的存在,久而久之,你才慢慢意識到了這種情況的存在。但是,時間已經慢慢流逝了。你要盡早意識到這種情況。 -
天天加班
每天任務都很多,老板還愛催時間,導致天天加班到很晚,回到家就很累,只想上床睡覺,根本沒有心思想這些,哪有時間去改進。
這就造成一個死循環,沒有時間琢磨,改進程序,每天繼續重復寫代碼,回家睡覺。明天,又重復同樣的事情。 -
業務代碼
我就是底層天天寫業務代碼的,不curd我還能干啥。這里不要把寫業務代碼和curd相混淆了,寫業務代碼並沒有什么不妥,它是創造價值的地方。多數公司都是靠程序員寫出的業務代碼形成的功能來服務客戶賺錢。
我所說的是不要天天curd,自己要動腦袋想一想,能否有更好的方法改進代碼寫法,提高產出的效率。這是你創造價值的一種方法。 -
沒有方法
有的人自己知曉這種情況的存在,苦於沒有找到好的解決方法,無法打破這種魔咒。
下面我說出一些方法,歡迎大家留言討論。集思廣益,共同探討,找到更多,更好的解決之道。
解決方法
前1、2兩種情況
第一種情況:當然是你要盡快意識到這種情況,不要浪費太多的時間。“你還年輕,還有時間”這是一句安慰的話,不要輕信,時間是用一天就少一天。熟練了curd之后,就要自己琢磨向更高層次進發了。
第二種情況:就要評估下,是自己工作效率問題,導致加班到很晚,還是分配的任務確實過多,如果是任務確實過多,超過了自己負荷,那么就要向領導提出來減少任務,如果不行,那么考慮跳槽到好一點的公司。
后3、4兩種情況
后面2種情況的改進方法,也可以作用於前面2種情況,改進前面2種情況。
復用
“復用”的思想。
大家在平實的開發中,應該經常會碰到這種思想。比如java語言,“一次編譯,到處運行”,這就是一種復用的思想,編譯一次之后,可以在多個平台運行代碼。
那我們開發時候能不能用到這個思想,“一次開發,多處運行”。而不要做那種ctrl+c,ctrl+v的選手,“一次開發,到處copy”,這樣到處copy,重復代碼多,那么代碼維護起來肯定困難,如果想修改,就要修改多處重復的代碼。有什么改進方法?
能不能更好的抽象復用?經常的這樣想一想,促進自己改進,成長。
還有一個好方法:去看設計模式的書籍,比如大話設計模式。
重點:抽象復用,不斷改進,促進成長。
向上
向上,就是向上思考。找到為什么要寫curd?它產生的價值在哪里,有沒有可以改進的地方?你做的這塊越來越好后,上面會給你更大的責任,讓你負責更多任務,如果你做的繼續超出預期,那么你很有可能,以后會負責更多,擁有更大的抉擇權,包括技術的選擇。這時你也許會脫離curd初級階段,進入程序設計,研發管理的進階階段。
有的放矢
有的放矢就是要找到自己的那個“的”,也就是目標。那怎么找到自己的目標?
很多人告訴你,要結合自己優勢、興趣等,然后在紙上列出一個清單,在根據自己列出的清單去尋找自己的目標。
還有的告訴你,列出一大推要學習內容,從java基礎到java進階,從單體到分布式,從cap到base等等。
這種方式不是不好,是學習的內容太多,而學習是一件反人性的事情,太多就容易累,也很難確定自己的階段性操作目標。
我這里給一個簡單可操作的方法:找自己心儀的公司,然后看它的招聘要求,根據要求來學習。
怎么說?
就是自己心里想一想,盤算盤算,自己心儀的1到2家公司是哪2家,不要太多,太多精力會分散。找到了之后,去官方網站或者招聘網站,看它的招聘要求,根據上面的崗位要求,找出自己需要學習的內容,列出一個清單,制定學習計划,然后執行計划。這時才是像上面所說,找出基礎到進階,單體到分布式等等學習的內容。要有目標感的學習,才是好的方法。
這樣就可以了嗎?不行!
你按計划學習了2到3個月之后,去其他公司面試下,檢驗一下學習成果,然后根據面試結果,在回來調整學習計划。繼續學習,學習半年后,這時可以給心儀公司投簡歷,或者找人內推,再次檢驗學習的成果。
如果面試不上心儀公司怎么辦?不要怕,一次不行,接着調整學習計划,繼續學習。很多情況下,不是一次就能成功,那就多試幾次。要有屢敗屢戰的精神。
有的人說,簡歷投遞有時間限制?那你可以投其他部門,還可以說明情況找人幫忙內推。總會有辦法的。
再一個面試前,可以看看其他同學的面經,學習學習,不打無准備的仗。
還有,如果真的面不上,可以退而求其次,去找一個二級公司,把這家公司當作一個跳板,然后再去努力學習,來年再戰。
重要提示:
上面法子的幾個弊端: 1. 如果真的去面試,面試會比較花費時間,再一個你要請假 2. 如果公司發覺了,可能會對你有異議
后續思考
當你按照上面的方法學習了之后,你做事可能會越來越好,公司如果關注員工成長,那么它會看到你的成長,給你一定的回報獎勵。
說不定你會意識到,出去面試並不是目的,它是一種激勵你學習的手段,自己成長才是最終目標。逼迫自己去成長,其實這種方法也是逼迫你的領導成長,你的公司成長,如何更好的留下人才。
也許你還有更好的方法讓自己成長。歡迎大家一起討論。
如果在一家公司做的不好,到另外一家就會好起來嗎?不一定,每家公司有每家公司優缺點,自己要思考,改變能改變的。
方法總結
總結一下上面的學習方法,以便復用,概括起來就是:
GPDCA:goal -> plan -> do -> check -> adjust
G - goal, 定目標
P - plan, 定計划
D - do, 付出行動,完成計划
C - check, 階段性的檢查已完成的計划,看看學習的效果,這個階段性時間緯度:以2個星期為單位緯度,或者1到2個月左右為單位緯度,時間不宜太長或太短
A - adjust,檢查之后,如有不足,適當調整計划
然后循環執行檢查調整,直到定的目標達成
這個GPDCA方法,不光可以用於學習,還可以用於其他方面,需靈活自用。
以上就是一點思考,歡迎大家討論,推薦-讓更多人討論。
【完】