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