軟件開發,你應該這樣學習
當下互聯網時代,軟件開發被稱為高薪代表,很多畢業了的、沒畢業的童鞋都紛紛投向碼農行業,那對于對軟件開發幾乎一無所知或知之甚少的零基礎人員,該如何學習軟件開發,該怎樣開啟碼農生活呢?
首先,給出幾點學習建議:
1、先有一個想法,像學鋼琴也有一開始想彈奏的曲子,提出一個想用生產出來的產品,或者買一本評價好的入門書,看一套評價好的軟件開發教程,做以出書或教程中提出的“產品”為目標;
2、將這個目標細化,可以找專業人士幫忙,梳理出知識的“切入點”以及周圍的“關聯點”,然后開始計劃第一次迭代(做出第一樣東西),可以是一段很短的程序或者一個作品,但必須有具體的產出;
3、每次產出后都重新調整計劃,重要的是自己或者專業人士要能具體地評估這次產出的價值。如果是跟著教程就自然容易了,跟教程上對一下就是了。
如果要具體給到一個切入點,那么建議:
1、從基礎的C語言開始,然后學習算法,走科班路線;
2、從網頁制作開始,然后學習網站工程,走產品路線,這是編程中最好入門的了;不管是Java、python、php這類后端開發,還是iOS、Android、WP這類移動開發,抑或是前端開發,對網頁制作的掌握都是少不了的。
不必太擔心學錯,因為到達工程級別,你學過的八成知識都不會被作為工具使用,而它們的只是實現了它們的歷史使命——成為你現有某個實用知識的中間點/橋梁、為你現在的學習效率做了一次鋪墊。
首先吧,別想速成。這要能速成,那么專業人士不就該喝西北風去了?
所以要真解決了學習范圍的問題后,你下一個問題應該是“要實現**應該具備那些知識”一類的了。等你在某個點扎根后,想的就是利用這個學習能力,去另一個自己更喜歡的領域,還是就此為據點擴充范圍,亦或者深入這個領域(也是擴充的一種吧,方向不同)。
最后,重申的一點,就是軟件開發本身就是一個學習的過程,只是產出的代碼具備不同的價值而已。軟件的特殊性已經導致了難以重復地寫出兩段相同的代碼,一般只會改寫重寫,或者重用原來的代碼(就是復制黏貼或者引用調用)。
上面講的內容算是比較泛的了,以Android學習為例,如果你是一個零基礎童鞋,那么首先你要學習的就是一些Android的基礎知識,比如:Android開發環境搭建和配置、Android 編碼規范及代碼風格、Eclipse IDE、Android Studio、Java 語言等等基礎知識。然后在逐步向下,學習Android的基礎編程、Android進階、Android高級開發、Android相關知識拓展等等。至于如何學習,你可以在網上找一整套視頻教程學習,也可以直接報培訓班。自己學習的話,一般要半年左右時間,當然也不一定,因人而異,而報安卓培訓班的話,他們聲稱是4個月。當然這些都只是基礎知識掌握階段,如果要熟悉、要精通肯定是要在工作中去慢慢摸索。對于零基礎童鞋而言,個人覺得比較好的方法就是自學+培訓班,很多時候自學是有些吃力的,而僅僅靠培訓班的教學肯定也是不夠的。
不管是學習什么語言,只要是做軟件的,要想成功、要想變大牛,除了學習、實踐,就是學習、實踐。這是一個苦逼的行業,也是一個必須要靜得下心的行業。如果你有信心能成為一個優秀的程序員,那就別猶豫,趕緊投入學習吧。
相關文章:《移動開發學習,安卓和iOS哪個好?》 http://www.maiziedu.com/group/article/6774/