作為一個從事軟件開發十多年的人,我分享一下我的經驗。
1.學校期間
如果還未參加實際的工作,在學校里就盡量多學相關的知識,專業課和高數一定要學好。
專業課如C++,java,數據結構,算法等,各種原理要搞明白。再深入點,學習一些java的框架,如spring,jpa等,學習別人的編程思想,推薦看看thinkinginjava,springinaction等書。學好專業課,可以對畢業后找工作有很大的影響。高數則對于后續的繼續深造或者學習更高等的技術,如深度學習,神經網絡等人工智能課程,高數是基礎。學好高數,則事半功倍。
理論學的差不多了,需要多找機會實習或者找導師,多參加項目。編程是移一門實踐課,必須要實際動手才能更好的成長。在項目中要多總結經驗和教訓,最好搞一個云日記,把每天的資料,想法,經驗和收獲都記錄下來,每周做一次復盤。幾年后你會驚訝的發現原來自己成長了這么多。
2.實際工作
假如已經參加工作,如果想獲得最大的成長,參考張一鳴剛畢業時的工作經歷。首先就是在做完自己的事情后,對于其他同事的問題,只要自己能解決,都要去做。這樣對自己的能力范圍的增長非常有用。另外就是要非常的積極和努力,把公司代碼庫的代碼都看個遍。這樣對公司整個業務體系和技術體系有個宏觀的了解,站的高看的遠。再就是做事不設邊界,各個領域的工作都要去參與,和產品經理探討需求,和銷售去見客戶,對自己的綜合能力有極大提升。就這樣,兩年的時間,張一鳴從一個普通員工成長到了部門經理,負責整個公司的技術工作。你想成為張一鳴嗎?想的話就按照這個路徑努力成長。成功是可以復制的。
不是每個人都能想成為張一鳴,假如我們做不到那些,那就努力做好自己本職工作的同時,做好技術和經驗積累,多總結。不要做好一個項目就扔到腦后,現在很多程序員,寫代碼都是直接百度,復制,運行,完事。復制粘貼的代碼,也不去推敲明白原理,都是為了完成工作,能運行就完事大吉。久而久之,自己的能力會比同期的同事弱一截。到5年工作后,別人成長為架構師了,自己還是個初中級程序員。
作為新參加工作的程序員,要保持對新技術的好奇和興趣,能主動去學習新技術。程序員這個行業,需要一直保持學習的動力,積極主動,學習-工作-解決問題-工作-學習,不停的循環。阿里P10,年薪數百萬不是夢,努力吧,少年。
本人對軟件開發,架構設計,開發管理都有深入研究,我,持續更新相關文章。