【廣告】
開發(fā)軟件當(dāng)然要使用某一種開發(fā)工具或是一種編程語言,因此想要學(xué)習(xí)軟件開發(fā),要做的就是選擇一門編程語言進行學(xué)習(xí),并且專心學(xué)好一門語言,因此初學(xué)者根據(jù)自身喜好以及對自身將來的職業(yè)定位來選擇要學(xué)習(xí)的語言。其實編程語言之間有他們的共通性,比如每種編程語言都有數(shù)據(jù)類型、變量、常量、流程控制語句、函數(shù)、輸入輸出等概念,但不同語言針對這些概念有他們自己的表現(xiàn)形式,而在學(xué)習(xí)的過程中,重要的是要養(yǎng)成“編程的思想”,了解編程的內(nèi)涵,將自己培養(yǎng)成一個開發(fā)人員。在軟件開發(fā)這個非常抽象的領(lǐng)域,只要涉及到多人協(xié)作,那么通過文字來進行交流敘述是非?;逎y懂的,需要溝通好幾遍才能理解達成一致也是比較常見的情況。在專一門語言的過程中為解決問題你會發(fā)現(xiàn)“算法”很重要。
軟件開發(fā)高手的一些經(jīng)驗之談"
用戶也是人。我們的產(chǎn)品和我們的失敗都可能直接影響他們的生活,對你行為的后果要三思。有創(chuàng)新意識,雖然有很多的一些小的開發(fā)技巧在網(wǎng)上都能找到,但是如果沒有創(chuàng)新意識,每天只是為了完成任務(wù)而工作著,應(yīng)該沒有多大的意義吧。人與人并不相同,人們的思維方式也不同:有時候我們認為困難的東西從商業(yè)人士角度看來可能很容易。這是我們必須解決而不是逃避的矛盾。勇于改變需要改變的,接受那些無法改變的,用智慧來分辨其中差異。
軟件開發(fā)者不“只是寫代碼”,而是參與開發(fā)過程。所以如果公司在使用敏捷(Agile),你必須對其認真對待,起碼也要對其保有尊重。代碼評審(Code review)是軟件開發(fā)過程的重要組成部分。對代碼評審有所疏忽就不能成為好的軟件開發(fā)人員。
作為軟件開發(fā)者,我們對自己部署的代碼要負責(zé)。我們也負有道德上的責(zé)任,不要做不道德的事。有時候?qū)﹂_發(fā)人員來說不重要的事情卻有極高的商業(yè)價值。隨著時間的推移,軟件將變得越來越重要,因為人們對軟件的需求正在迅速的增長。商業(yè)是一個好的角度,不要逃避它。很少有公司關(guān)心你的個人成長。如果公司對你目前的水平不滿意,他們一開始就不會聘用你。
對截止時間(deadline)負責(zé)。如果在截止時間前完成不了,你必須重新溝通新的截止時間。任務(wù)有兩種復(fù)雜性:內(nèi)部和外部復(fù)雜性。內(nèi)部復(fù)雜性不可避免,因為這是任務(wù)本身;外部復(fù)雜性來自重新架構(gòu)系統(tǒng)過程中異常決定的后果。要格外注意外部復(fù)雜性超過內(nèi)部復(fù)雜性的情況。如果開發(fā)者在寫代碼或架構(gòu)系統(tǒng)時選擇容易而不是好的解決辦法,他欠下的技術(shù)債遲早有一天是要還的。我們與人合作,只是有時候?qū)懘a,所以人際關(guān)系是工作的重要組成部分。