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