我想學習軟件編程技術該怎么學呢?隨著眾多傳統(tǒng)工作面臨失業(yè)的風險,編程成為21世紀必備技能,但是很多人卻抓不住重點,導致耗時費力,甚至無法入門。
初學編程都需要學什么?這幾根支柱一定要打牢!

1、基礎優(yōu)先
很多初學編程的人一上來就學習框架,這就好像是把人放在賽車上,教人如何開車。忽視了他們可能會把剎車錯當成油門的事實。
作為編程的初學者,首先需要了解的是編程的基礎,在使用別人的代碼之前,需要熟悉基本要素和意義。基礎很重要,在學會基礎之前,不要貿(mào)然前進。
2、測試驅動開發(fā)
TDD帶來了很多好處,但這是一個高級主題,對初學者來說,可能有些艱難。初學者不應該寫測試,相反的,他們應該學習如何使用測試及如何配合測試。
每一門編程課程都需要大量練習,進行實踐。每當你掌握一個模塊或功能之后,都要進行重復練習。
3、庫和框架
當你花費了很多時間學習編程后,就可以了解庫和框架。
跟TDD類似,你應該對庫秒殺Redux保持懷疑態(tài)度。一旦了解了庫的作用之后,對框架的重要性自然就能明白。

4、師徒關系
如果你對編程毫無經(jīng)驗,那自學就是一個非常不理智的行為。雖然有很多成功的故事,但是卻不得不考慮他們的效率。
在學習的時候,最好有一個師父,一開始師父自定的規(guī)則,你可能不太理解。其實這些內(nèi)化的規(guī)則會形成一道安全網(wǎng),如果你迷路了,能保證別人可以安全的帶你返回。
5、激勵與挑戰(zhàn)
師父對徒弟的激勵是非常重要的,同樣的,挑戰(zhàn)也必不可少。非程序員可能會對開發(fā)者每天寫的代碼行數(shù)至少感到驚訝,甚至有時候會刪除代碼,一天下來,又回到了原點。
在編程過程中,總會有各種狀況發(fā)生,比如花費大量時間修復一些機器怪異的Bug,結果發(fā)現(xiàn)只是拼寫錯誤。一些工具無法使用,可能僅僅是因為一個庫進行了小型的版本升級,或者因為有人忘記把一個文件添加到git而導致系統(tǒng)崩潰。
生活不是每天都充滿陽光,初學者需要做好準備,但也要昂首闊步,抬頭挺胸,才能一路披荊斬棘,實現(xiàn)夢想。