毕业后想成为一名软件开发工程师,应该如何学习,大牛给出建议!
畢業(yè)后想成為一名軟件開發(fā)工程師,應(yīng)該如何學(xué)習,我整理了一下,覺得可以如下幾個過程,逐步深入。希望對大家有幫助。
? ? ? ? ? ? ? ? ? ? ??
1、基礎(chǔ)
這是每個開發(fā)者的起點。開發(fā)者剛剛學(xué)會了某種語言, 比如C語言,學(xué)習了基本的數(shù)據(jù)結(jié)構(gòu)和算法,并通過一些練習對知識點進行鞏固。這些練習主要以課后練習為主,是一些簡單的基礎(chǔ)概念的練習,比如打印輸出、接收用戶的輸入、數(shù)組的遍歷、排序,或者鏈表等。
接下來是做一些簡單的項目,這些項目沒有復(fù)雜的算法和高深的領(lǐng)域知識,比如數(shù)據(jù)的統(tǒng)計分析、產(chǎn)品的售后管理系統(tǒng)等。這些項目雖然簡單,卻是一個真實完整的項目。不僅練習了開發(fā)者對語言的應(yīng)用能力,也體會了軟件開發(fā)的全生命周期,即軟件工程,從項目的需求分析,到設(shè)計開發(fā),到軟件發(fā)布和項目驗收,最后到軟件的維護。
通過簡單的項目,掌握了對語言的駕馭能力,并熟悉了軟件工程。隨著能力的提升,慢慢地就會接觸更復(fù)雜的項目,使自己能力得到進一步的鞏固和提升。
能力的提升方面包括:對語言的應(yīng)用得心應(yīng)手,對軟件的設(shè)計駕輕就熟。接觸并熟悉更多的語言,如動態(tài)語言Pyhton、腳本語言Bash、新興語言Golang、Swift等。通過語言間的對比,對語言的優(yōu)勢和缺點又比較清晰的了解,從而在項目中合理選擇語言。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
2、架構(gòu)設(shè)計和系統(tǒng)分析
隨著項目越做越多,會發(fā)現(xiàn)多數(shù)是在重復(fù),到了一個瓶頸。這是可能要閱讀大量的書籍,向軟件架構(gòu)和系統(tǒng)分析轉(zhuǎn)型。在設(shè)計軟件時,要多留意架構(gòu)設(shè)計。軟件架構(gòu)可以通過演化得到。但是若能看得更遠,提前做些設(shè)計,會事半功倍。
這個階段,可能要花大量的時間在業(yè)務(wù)領(lǐng)域。因為軟件技術(shù)已經(jīng)暫時不需投入太多精力了,也有時間關(guān)注業(yè)務(wù)領(lǐng)域了。熟悉業(yè)務(wù)領(lǐng)域,能分析用戶的需求和約束條件,寫出信息系統(tǒng)需求規(guī)格說明書,制訂項目開發(fā)計劃等,能根據(jù)實際工作環(huán)境,評估和選用適宜的開發(fā)方法和工具;能按照標準規(guī)范編寫系統(tǒng)分析、設(shè)計文檔等。在實際項目中鍛煉系統(tǒng)架構(gòu)和系統(tǒng)分析能力。
另外C/C++就是一個既可以強化思維能力,又可以打好編程基礎(chǔ)的編程語言,你要做做軟件開發(fā),成為核心程序員的話,就來摳摳學(xué)習C/C++吧!你如果感覺自學(xué)C/C++語言有困難的話,C/C++編程學(xué)習,六零四,一六8和917。即使是零基礎(chǔ)的學(xué)習者,都可以一起成長進步。愿意的話,可以考一個系統(tǒng)架構(gòu)師或者系統(tǒng)分析師。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
3、基礎(chǔ)算法和項目管理
發(fā)展到這個水平后,對軟件技術(shù)和業(yè)務(wù)領(lǐng)域都比較熟悉。所謂窮則獨善其身,達則兼濟天下。很可能會帶帶新員工。這是練習領(lǐng)導(dǎo)力的一個機會,可以體會一下如何帶人。為下一步帶團隊打下基礎(chǔ)。可以把手上的一些事情安排給他們做。自己抽身出來研究更重要的事。比如研究基礎(chǔ)算法、拓展新的領(lǐng)域等。
其實到這個階段有兩個選擇,可以向項目管理進一步,做項目經(jīng)理。也可以鉆研基礎(chǔ)領(lǐng)域,做領(lǐng)域?qū)<摇?/p>
希望對你有幫助。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的毕业后想成为一名软件开发工程师,应该如何学习,大牛给出建议!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C/C++好不好学习呢?
- 下一篇: 7种有害的IT团队行为,不根除就坏大事了