如何自學才能當一名合格的程序員?
利益相關,普通二本學生,對本專業(與計算機各專業相去甚遠)不感興趣,就業方向也是太差,一直對計算機十分感興趣,兩年了,專業東西還深入,多半這兩年是廢了,途徑除了考研(本專業),如何在保證畢業的情況下(本專業我可以畢業),從0基礎(自學)當一個合格的程序員(方向為C一類的,軟體工程師啊)?需要看什麼書啊?考什麼證啊?白話就是能糊口飯吃的。哭瞎T^T如何從零開始,應該怎麼做?準備暑假開始惡補。誠意跪求建議,來個過來人。感激不盡(^_^)ps有人理我嗎? 計算機雙學位沒有考慮(上課不太方便)
謝邀。恰好我就是那個沒報過任何培訓班,從零基礎開始自學合格的程序員。
首先從性格上分析,要適合做程序員。我恰好是那種聰明不足,勤奮有餘,對高度有期待,對速度沒要求的人。雄心的一半是耐心,如果是那種坐不住靜不下心的性格,做程序開發是有難度的。其次,軟體開發技術容量猶如長河巨浪般宏大,又涓滴可飲。一開始想要什麼都學是不現實的,從何處著手需要先從業內人士那裡諮詢一下意見,然後給自己制定一個符合自己的學習計劃,無論是從時間安排上,還是從由易到難的學習推進上。我畢業時在實習期間工作較為清閑,工作罅隙就先從一些電子文檔看起,下班回家後就開始從網上找視頻教程。反覆看,邊看邊跟著做,一定要做,並保留每次的練習代碼,隔天再拿出來看或者重寫。
後來辭掉實習的工作,把自己關在小屋裡三個月,沒日沒夜的學。羅永浩當年就是把自己關在小屋裡學的英語成為新東方填空一哥的。自學有個先天缺陷,就是沒有人告訴你可能犯錯誤的點,也沒有人給你解決你遇到的奇葩問題阻礙開發流程的繼續。這個時候就需要你多關注一些技術論壇了,同一個問題可能有好多種解決方案,哪一種是有效的,需要你去嘗試。堅持上幾個月,基礎算是有了。
接下來就是大膽地早一份工作。我當時由於不自信,耽誤了很多時間,總覺得自己的儲備還不夠。現在回想起來,頗為後悔。因為無論自己怎麼努力自學,教程中練習的東西跟實際項目中用到的還是有很大差距的,有很多知識點在實戰中用的很少,也有很多發生在實戰中的應用技術在教程中很難找到學到。要先找一份工作,哪怕工資很低,哪怕誰都不如。放下姿態虛心請教吧,儘管期間可能遭遇不少不友好的冷眼,但是沒辦法,欲成諸佛龍象,先做眾生牛馬。技術大拿都是從菜鳥過來的,體驗過做菜鳥的艱辛,等你「合格」後,會保持一個更寬容和氣的態度去對待下面的菜鳥。
最後,要對程序開發有興趣。客觀地說,開發程序雖然辛苦,但並不枯燥。因為人機交互會有及時反饋。你程序寫對了,運行起來就能看到效果,有錯誤就接著改,這種反饋非常及時,要知道其他領域的很多工作都是努力了很久都看不到成果的,而程序開發可以,尤其是把工作模塊切割以後。需求和功能的實現,能帶給人成就感,這種人機交互的及時性與相對簡單性,比複雜的職場人人交互要公平得多,有趣得多,只要你邏輯對了,技術合格了,就會滿足你。至於後面的升職加薪,那就是意外驚喜了。干工作猶如帶孩子,在取得階段性成果的同時,讓你費神,更帶給你歡欣。學html——學css——學js——學ajax你就可以當一個前端工程師啦
&
&
&
&
&hello world&
&
把這段複製到一個新建文本,把後綴改成html雙擊打開就變成一個網頁了,是不是很簡單?
話說這不是你第一段hello world吧……這是第一次嗎……接下來我們對上面的代碼進行優化(雖然依然很渣)&
&
&
&
&
&hello world 你好我是代碼&
&
&
把這段複製到你的文本(右鍵——打開方式——文本文檔)里,別忘了保存,然後會瀏覽器按一下f5(啊?你沒發現有變化?我這裡是可以的啊!)
這個時候聰明的你一定會想到,那如果我寫一萬行hello world都是這個格式的,是不是要把每行的樣式(我們管 style=「」 以及雙引號里的叫做樣式代碼)都要寫一次呢。
當然不用(不然我幹嘛提出來)接下來我們把其中的樣式提取出來,並且讓文字居中顯示,為了怕你看不到我做了加粗並放大,然後做個引用&
&
&
&
&
&
&hello world 你好我是代碼&
&你好我是複製體1&
&你好我是病毒複製體1&
&你好我是super病毒複製體1&
&
&
誒是不是還不錯。
好了我來做個解釋,我不知道你的基礎怎麼樣,我設定你為完全沒接觸過任何代碼的人。
html學名叫做超文本標記語言(什麼鬼),它的作用是告訴你的瀏覽器,每個標籤(&可以理解為一個標籤)是用來做什麼的。我來解釋上述代碼的意思&&這兩個標籤告訴你我要開始啦以及我要結束啦!雖然你把他們刪掉了在瀏覽器依然會按之前的樣式展示,似乎沒什麼卵用的感覺,但是!好吧你就簡單的把它們倆理解為格式要求,這叫代碼道德觀……&&表示這是頭,是腦袋,腦袋裡會放一些控制全局的東西,比如我們剛才提取出的樣式代碼,以及引用一些其他文件,或者放入什麼w3c標準(誰能告訴我這個是什麼卵用?)&這個標籤是告訴瀏覽器,我要開始裝逼啦哦不對我要開始寫點關於樣式類的的東西啦。為什麼要被&標籤包圍呢我也不知道,這也是格式要求……你是個有道德的人對吧。樣式類的東西,也就是style里寫的你可以簡單粗暴的將他們統稱css(樣式表)。而語法是這樣的.redFont(雖然字色是高級灰)代表我要給我的樣式取個名稱,以便於我在用到他的時候直接叫他過來,然而他有了名字就得能幹活了吧,但是他能幹什麼呢,在我規定工作里他能做把字體放大(font-size:24px),變個顏色(color:gray——前女友喜歡的高級灰,雖然並不是),變個字體(font-family:微軟雅黑,為什麼要叫family?),文字居中顯示(text-align:center),文字加粗(font-weight:bold,我討厭weight……),把虛幻變成實在的塊狀體(display:block,你不理解什麼叫虛幻?可是如果你把block改成none就什麼都沒有了,oh no!)&&標籤是用來中間放文字的,你可以簡單的把他理解成一個容器。而class=「redFont」代表這我這個時候叫了redFont過來幫我幹活。
我說了這麼一大堆並寫出了這麼炫(s)酷(b)的代(zha)碼(zha),到底是想說明什麼呢,其實敲代碼的過程就是你把前人規定好的一些東西拿來用,你覺得html這種玩意怎麼學的最快,簡單粗暴一個字:背!當然啦我們不需要面對考試對不對,其實網上有很多手冊可以查啦,你可以把我的&改成&
沒錯就是這麼一長串,並把後面的&改成&,然後按f5刷新你的頁面,你就會找到武林秘籍了騷年!!!
等你讀懂了這本武林秘籍以及對應的js+css秘籍!我們就可以繼續探討武林絕學java開發教程了。所以這個時候呢,乖~快去玩吧~代碼的汪洋大海在等待著你這個方法目前看在2015年是有效的
1、買一個macbook pro2、報一個iOS開發的培訓班3、夜以繼日的學習和寫代碼,保持6-8個月恭喜你,你目前月薪過萬沒什麼問題了。
====================================如果題主是有志和有資質的青年,夜以繼日的把學習弄好,去一個好學校讀碩士,去一個更好的學校讀博士,可以是計算機專業,你會發現這種酸爽不是那些碼農能夠比的,真心的勸題主不要在大學二年級結束時就把調用API的碼農當目標。[傳送門](http://www.ituring.com.cn/article/198286)
短時間不太容易搞定。我感覺你還是考個計算機專業的碩士。。。
想想自己真正想要什麼。僅僅是糊口,就業,轉碼農可能有點晚了。
可能的路線有幾個
培訓班自學CS或者SE專業課程,考點靠譜的證書讀個雙學位?讀個碩士博士啥的也行。不過最近深刻感覺到國內高等教育水平還是有點差,到本科還行,深造就不推薦了。(當然你要是能去讀TOP2啥的算我沒說)
其實無論是985,211大學計算機專業的學生,還是自學成才的程序員,都有幾乎一樣的學習套路。編程這個東西很講究套路,方法對了事半功倍,成功一大半。方法不對,輸在起跑線。之前看到過這篇文章,分析零基礎的同學是利用什麼樣的套路學習Java的,對任何編程也都適用。建議你看一下 經驗:初學者應該如何學習Java?
報個班吧,速成。不過難進大公司,大公司要985、211本科以上計算機相關專業才行。除非你技術真的很牛
推薦閱讀:
※程序員與軟體工程師有何區別?
※零基礎轉行學習軟體測試如何入手?
※北大青鳥是否在短短 5 年內從高峰跌落到瀕臨倒閉?如果是,這背後有什麼故事和教訓?
※PPPOE撥號上網,取消本地連接TCP/IP協議勾選會導致什麼問題嗎?
※做一名糟糕的程序員是怎樣的體驗?