如今軟件已經(jīng)是大多數(shù)公司的主要組成部分之一,它被整合到所有主要系統(tǒng)中,從金融機(jī)構(gòu)到農(nóng)業(yè)生產(chǎn),再到客戶服務(wù)和工業(yè)領(lǐng)域。
軟件開發(fā)者已經(jīng)成了最受歡迎的職業(yè)之一,事實(shí)上,用幾個(gè)人和幾臺(tái)計(jì)算機(jī)就能完成高影響的項(xiàng)目是可能的,這使得這個(gè)領(lǐng)域吸引了所有那些有絕妙想法并想為他們開發(fā)軟件的人。
幸運(yùn)的是,今天我們有了互聯(lián)網(wǎng),這個(gè)無限的知識(shí)來源,成為一名軟件開發(fā)人員完全可以通過自學(xué)。
重要的是要了解從哪里開始,什么是必要的基礎(chǔ),根據(jù)我的個(gè)人經(jīng)驗(yàn),編程更多的是一種激情,而不是一份工作,這條道路充滿了障礙和終點(diǎn),所以重要的是慢慢來,不斷攻克難關(guān),一步步走向成功。
作為工匠的軟件開發(fā)人員
研究表明,與藝術(shù)家在創(chuàng)作階段相比,編程是一種需要更多大腦容量的活動(dòng)。很多時(shí)候,當(dāng)我需要做一些困難或復(fù)雜部分的編程時(shí),我經(jīng)常需要音樂和電腦進(jìn)入狀態(tài),這樣我才能解鎖我的創(chuàng)造力,事實(shí)上,這個(gè)世界需要二者兼?zhèn)?,大多?shù)時(shí)候,軟件開發(fā)人員等同于工匠,這意味著必須完成從a到Z的工作過程,為自己的風(fēng)格選擇負(fù)責(zé)。
編程語言
一個(gè)人學(xué)習(xí)的第一種語言有點(diǎn)像他們的母語,你將越來越多的減輕讀寫,如果您想要深化應(yīng)用程序的世界,我推薦C或Java,它們是在現(xiàn)實(shí)工作中最常用的編程語言,另一方面,如果你對(duì)數(shù)據(jù)科學(xué)或者網(wǎng)絡(luò)安全感興趣,我建議學(xué)習(xí)Python,Python學(xué)習(xí)起來非常簡單,但是由于它是一門高級(jí)語言,你可能會(huì)忽略一些概念
關(guān)注基礎(chǔ)知識(shí)
軟件開發(fā)在大多數(shù)時(shí)候是一項(xiàng)非常有創(chuàng)造性的工作,但如果一直有沒能解決的Bug存在,那它也可能是乏味的,對(duì)于這一點(diǎn),在我看來,無論你有什么編程經(jīng)驗(yàn),以下方法都值得你學(xué)習(xí):CI/CD、Dev Ops、軟件設(shè)計(jì)、測試、重構(gòu)等,它們是一組工具、技術(shù)和標(biāo)準(zhǔn),如果使用得當(dāng),任何人都能讀懂你的代碼,它們很重要,因?yàn)樗鼈冏屇隳軌蚋斓匕l(fā)現(xiàn)并修復(fù)Bug。。如果項(xiàng)目是中等規(guī)模和/或團(tuán)隊(duì)由3個(gè)以上的人組成,那么幾乎必須使用這整個(gè)系列的技術(shù)。不管使用哪種編程語言,了解這些工具以最大化工作效率是很重要的。
一點(diǎn)一滴地積累知識(shí)
很多時(shí)候,有太多的東西需要學(xué)習(xí),有很多工具可以做類似的事情,因此在開發(fā)軟件時(shí),選擇何種工具經(jīng)常會(huì)碰到困難,這一切的原因都在于學(xué)習(xí)的不夠,帶著讓你開始編程的激情學(xué)習(xí),了解自己的優(yōu)勢和局限是很重要的,例如,你還不是很熟悉對(duì)象,那么專注于對(duì)象的設(shè)計(jì)或者一開始就想要?jiǎng)?chuàng)建一個(gè)完美的GUI是沒有用的。