剛畢業的程序員,如何快速提升實力?
畢業入職後一個月寫的計劃:重新思考工作
看到一篇關於工作還是愛好的文章之後,我在想當前似乎已經找不到我真正愛好及喜歡的東西。於是,我開始在我想做的事情裡面找到了一些。
現在的工作對於我來說是合適的,也就是適合我的,只是我似乎是在比較某些東西。
不要把注意力放在工作給你帶來的價值上,那是一種愛好的心態。
雖然我並沒有將注意力放在工作給我帶來的價值上,我所需要的或許是技術上的成長。因為我也是出於一種所謂的愛好的心態,只有愈強才能愈喜歡。我想對於自己來說,就是一件事:
- 積累所需要的技能
加強基礎技能
對於一個開發人員來說,基礎的技能便是:編程。在上一篇文章中《編程同寫作,寫代碼只是在碼字》,我似乎將編程說得有點簡單,然而事實也似乎是如此。
一、加強碼字的速度
對於26字母來說,已經沒有必要,但是對於大部分的字元來說。。以下圖為例,大部分的程序員常用符號
""/.,<>;:[]{}()_-+=
都是由右手完成的。
對於我來說,通常右手更多的時候可能是流離狀態,也就是離開鍵盤。還有一個不好的習慣便是,打大小寫字母的時候,就算只有一個字母會用caps lock,而不是shift+字母。於是我想,我需要提高打字的技能,即使相對於我來說,已經很快了。但是還沒有達到專業的程度,所謂的專業我想應該是沒有那麼多的錯誤。
二、寫出更整潔的代碼
整潔的代碼似乎是很有必要的,雖然寫的代碼很少,但是總不能不寫,多看,多實踐多試試。於是很快也就有了一個清單:
- 將《重構》與Intellij Idea結合,寫在博客上
- 將《設計模式》的思想運用到某實戰中
- 看點書加上實踐
三、英語
英語對於我來說,我也想不清難度在哪,多半是口語+單詞量不夠。翻譯一些文章可以做為一部分,但是似乎不一定靠譜,要找一些沒人翻譯的文章可能會有點難。
至於口語只能多聽多練了,過去曾經有寫英語博客的技術。只是其中不可行的因素可能會比較多,於是就漸漸地放棄了這個念頭。
四、針對性的加強語言技能
沒想好具體針對於哪個語言,但是現在有兩一個比較好的想法
- 寫一個基於libGDX的遊戲
- 寫一個針對於移動領域的CMS
剩下的我想就是慢慢思考和計劃其的可能性了。
然後,都實現了。。
歡迎關注我的微信公眾號:
我畢業時的編程技能可以忽略,大概九年前開始第一份工作,入職六個月後開始做leader,八個月內加薪兩次,別急著討厭我顯擺,下面才是重點:
- 我把工作帶回家做,資料是帶上公交車的,我不相信work smart,也不相信工作和生活平衡,工作就是生活,非工作的部分全部簡化
- 我把英文作為職業第一語言,我運氣比較好底子不錯,99.9999%的搜索我用http://Google.com(http://jump.im/i6),所有的資料我都選英文
- 我下班回家和周末的娛樂是上Youtube看視頻,快速地了解當前技術生態,我基本沒有扯淡的應酬浪費精力和時間
參加工作一年後我就能獨立搗鼓出一個沒人用的PHP框架,完成8千行的JS項目了,水平當然不是最好的,但是我對自己提升的速度滿意。根本沒有什麼辦法,方法是戰術問題,砸時間是戰略問題,如果沒有砸時間的戰略基礎,再好的方法都是浮雲。那時候我大概每天工作時間10個小時,回家看視頻大概每天四個小時。你要出類拔萃就不要相信那種「平衡」,work smart的鬼話,狗屁方法論,只要大方向對(用英文),投入,走點極端,就可以以極快極快的速度積累,將來你受益匪淺。兩年前我到了美國,用了八年,不是什麼知名公司,和矽谷的不能比,但我起點不高,我為自己驕傲。
想提升,但下了班不想碰鍵盤的,永遠理解不了。你見過倫敦凌晨四點的夜景么……
我覺得技術發展有4個階段。
1.開始
剛開始有個初始目標就是學java語言,另外很多人都是從學校開始或從培訓機構出來的,這個時候目標還算明確,就是學習java語言,只是缺乏方式方法,有條件的都去培訓班,沒條件的到網上找視頻看,down教程,學習各種實例源碼。
2.成長
經過一段時間的學習提高,逐漸發現自己可以用ssh等三大框架做網站了。這時候最是滿足的時候,雖然是反覆的copy,paste,但是看著網站從自己手中逐漸由產品的設計到上線運營,那種感覺是很陶醉的,這也是做為技術最輝煌的時候,或許回家過年也可能那這個和家裡的親戚炫耀一番。
3.成形
當經歷了多次這種線上產品的磨練過程後,發現自己總是在重複同樣的複製粘貼代碼,雖然很苦惱,但起碼產品是按產品的意願實現了,各種bug修改,產品總算穩定運營了,自己也在反思著這樣工作的意義和技術的提高問題。
4.動蕩
但是經過反覆的這種思考後發現對自己的技術總是沒有提高,於是敢於大膽的和領導提出自己對於技術的想法,想按自己的想法去搭建公司的技術框架,但是因為是從0開始,難免會有各種意想不到的問題,比如資料庫connection未關閉,資源文件句柄未釋放等等問題,雖然這個時期壓力很大,但是對自己的技術提高總是是很有幫助。
4個階段都是無限循環的,只不過每個人的程度不一樣,感想也大同小異,但是只有經過這樣的多次循環後你才能真正的成為某個領域的技術大牛,大家對照下處在哪個階段,得如何向下個階段發展。
原文:程序員職業發展每個階段都會迷惑如何提高技術,不知道大家有沒有這樣的疑惑?
- 多動腦思考
- 多動手實踐
- 多看官方文檔
加班
就送你兩個字,堅持!
多寫代碼,不要怕bug,出錯才會成長,寫程序沒捷徑,多練習,個人見解~
看到上面有四重境界,就想起來獨孤求敗。利劍無意 軟劍無常 重劍無鋒 木劍無滯 無劍無招
推薦閱讀:
※成為網工還是程序員,迷茫?
※想去參加JAVA培訓,千鋒,黑馬,動力節點或是其他哪家比較好?
※if(x>y)和if(x-y>0)有沒有區別(x,y都是int)?
※如何通俗易懂地介紹「即時編譯」(JIT),它的優點和缺點是什麼?
※做軟體開發但是現在公司學不到技術性東西想跳,自己又技不如人怎麼辦?