有小夥伴跟我說,他想自學編程,從他的話裡行間,我了解到他是零基礎,想學Java,但是又不知道怎麼學,打算自學又不知道從何學起,字裡行間顯露出無比的迷茫。
根據他自己介紹,他才21歲,我也沒有問,他也沒有透露他目前的職業狀态,所以不知道他是否還是個學生。但是,他比較關心的還是入門時間的問題。
開始問我三個月能不能入門,我隻是跟他說:“三個月想要快速入門有點難,如果沒有任何基礎的話,三個月時間可能去培訓機構比較合适!”。
估計是比較失望,于是他又問:“不說快速入門吧,隻想在一年之内能知曉一個大概!”。
緊接着,他讓我給他推薦了幾本Java的入門書籍,我也沒有嫌麻煩,就給他找了兩本,想讓他以最小的成本去了解編程的難度他是否可以接受!
其實,很多想要學習編程的人都不知道學什麼,從何學起,以及自學編程到底有沒有公司要。
自學編程有沒有公司願意要? 自學編程隻要學得不錯,是會有公司願意要的。但是,這種公司一般都是體量比較小一些的公司,大公司更願意去招一些計算機專業科班出身的編程底子比較好一些的程序員!
如果您是自學的,去小公司雖然可能會要您,但是依然會存在一些問題,如果您接受了沒什麼問題!
首先,很多小公司程序員的工作内容都比較簡單,因此,他們會出比較低的薪資去招一些有編程基礎的計算機專業畢業的應屆生或者培訓機構出來的學員。這樣的公司一般出得薪水都不會太高,基本上最開始的薪資也就僅僅超過當地最低工資水平而已。
另外,往往這樣對的公司在研發體系上多多少少都會存在一些問題,為了最大利用每一位員工,但您又暫時無法獨當一面,可能會要求您去做一些跟編程無關的事情。比如去做測試、做運維甚至是做實施相關的工作。
這樣的狀态可能會在您接下來的兩三年内一直持續下去,直到您的編程水平達到了公司的要求,這時候再跳槽就行了!
如果您接受在工作以後的兩三年内,您得工作是這種狀況,那麼也是可以的!
但我見到過很多人會在工作中迷失自己,慢慢地也不堅持一定要做一個程序員了!比如一些人可能就慢慢地往運維、實施方向發展。
自學編程學什麼好? 上面說的小夥伴,他想自學Java,我雖然沒有勸他學别的,但是我認為自學編程如果學Java的話,可能會比較難!
編程語言分“大語種”和“小語種”,像Java這種編程語言就歸類于“大語種”行列。而“小語種”則是在特定場景下使用的編程語言,核心還是由“大語種”驅動的。因為我這裡是寫給一些不懂編程的人看的,所以我不會用一些比較專業的詞彙來描述我的看法,還請見諒!
所謂“大語種”和“小語種”的區别就在複雜度和使用場景。顧名思義,兩種類型的語言的區别就在于使用場景的大小。目前主流“大語種”包括Java、C#、C/C ,“小語種”我隻推薦JavaScript!
像Java這種編程語言基本上能做得事情非常多,所以如果想要自學的話,我們自己就要先從很多種使用場景中将我們想要學習的基礎内容單獨摘出來,否則的話,就容易出現混亂,影響我們學習的方向。
Java能做的事情包括安卓前端、網站前後端、硬件服務等等,其實如果專門從一個方向去學還是挺容易的。可是,很多人自學不出來,原因就是他們在看書或者看教程資料的時候看得比較亂,可能上述三種都看了,因此無形之中給自己的學習增加了難度。
但是,從自學角度上來說,一個沒有任何編程經驗的人,是無法辨别哪些知識是應該自己吸收的,哪些是不應該自己吸收的!
所以,我不建議一些自學者去學“大語種”。
而“小語種”的應用場景則比較純粹,比如網頁前端相關的編程語言,如HTML、CSS和JavaScript,俗稱“網頁三劍客”。這三種編程語言分别叫作“标記性編程語言”和“解釋性編程語言”。
“标記型編程語言”的表現就是一些我們日常浏覽網頁時看到的控件,比如說按鈕。而Css則是控制這些控件的表現方式,如按鈕的顔色、大小等等。而JavaScript則是一種“解釋型編程語言”,它是用來控制一些控件或者整個網頁的一些邏輯的。比如說按鈕點擊以後是什麼效果、網頁如何跳轉等等。
“小語種”的好處就是它的基礎内容基本上在短時間内就能學完,而常用的HTML标簽(比如按鈕)也就十幾個而已,雖然不至于短時間内學精,可是入門足夠了!
而且,一般來說,“小語種”的知識一般都是碎片化的,您今天如果想去學A内容,大多數情況下隻需要去關心A内容就可以了!不會因為需要一些前置知識而擾亂我們的學習視線!
而像JavaScript,其實常用的編程語法也不會太多,隻要熟悉了一些常用語法,基本上也能自己結合HTML、Css來寫出自已的第一個程序。
所以,如果真的想自學編程,我建議從“小語種”開始學。利用“小語種”先快速入門,找到工作以後利用工作機會慢慢根據“小語種”來鞏固編程知識,最後如果再來學習“大語種”會容易很多!
哪些人不适合學編程? 與這個小夥伴差不多的是,在此之前,我的一位認識了很多年的女性朋友突然問我,她想學習編程,但是自學又覺得沒有悟性,問我怎麼看。
她和開始那位小夥伴不一樣,她是家門口有個培訓機構,她找我時,給我截了幾張培訓機構的培訓内容,我一看内容立馬就勸住她了!
一來,我這個朋友已經二十八歲了,以目前的年紀即使學出來了,找不找得到工作另說,她還能在這行幹多久還是個問題!另外,那個培訓機構培訓的東西雖然和編程相關,但是基本上沒什麼用!
估計是我這位朋友覺得便宜,看我這麼多年薪水一直不錯,所以就想轉行。自學了一段時間後,覺得還是報培訓班比較好,但是我還是給她勸下來了。她也挺知勸,所以就放棄了這個念頭!
我勸她放棄的原因很簡單,就像上面說的,以她現在的年紀,不管是自學還是報培訓機構,即使學出來了,出路都很小。
自學成材的概率有多大? 雖然我前面說了,自學可以先從“小語種”開始學比較容易一些,但是我身邊各種事實告訴我,自學成材的概率還是比較小的。
對于一般人而言,自學不成的原因并不是編程語言有多難學,而是因為很多人剛開始對于學習編程的熱情很高,對于自學編程的難度比較模糊,所以抱着一腔熱情去學。
但是學習過程中會遇到種種困難和打擊,沒有一顆恒心根本堅持不下來,于是有超過半數的人都在中途放棄了。剩下的那幫人有可能學得不錯,但是學習方向偏了,也許學的東西壓根就不是現在公司裡面所需要的,因此而找不到工作。
所以,自學編程的話,成材率相對來說就比較低了!
總結 我的建議是如果您想學習編程,自學雖然是一種途徑,但是難度會比較大。我們可以在學習編程之前先從網上找一些免費的編程基礎視頻看一看,如果您能看懂再進行下一步。
我知道很多人想學習編程技術我是怎麼說也攔不住的,但是,自學并不是唯一途徑。條件允許的話,可以報一些編程相關的培訓班試一試。但是,編程培訓班往往費用比較高,一定要量力而行。
另外,選擇語種的時候,如果本身沒有太好的悟性,還是先從“小語種”開始學起,工作以後再慢慢學“大語種”。
如果您的年紀比較大,年齡越大學習的難度和成本越高,越難找工作,這裡不建議您去學了!
#自學編程到底有沒有出路?#
,