大齡門外漢如何進入軟體開發行業?
本人男,27歲,現有的工作工資增長有限,想進入軟體行業,數學好,肯學習,有一定的英語基礎,應該往軟體行業的哪個方向學習並發展比較合適。
現有房貸跟結婚的雙重壓力,迫切尋求轉行並取得不錯的收入。希望回復中包含如下幾點:1、具體的發展方向以及該方向的就業情況;2、學習的步驟,包括基礎內容的學習,專業內容的學習;3、一切以找到合適的工作作為指導目的;
求指導,謝謝!2014.2.6 update1、本人已經開始自學java了,最新進度2.3 Recursion 在線學習:Introduction to Programming in Java: An Interdisciplinary Approach,配合教材:Introduction.to.Java.Programming;2、計劃學習完java後,接著學習android app的開發;3、非常感謝大家的解答,後續有新的進站,將會在此更新。2014.2.24 update1、之前的學習資料過於籠統,網路檢索後,改用Introduction to programming java(8th edition)了;現正學習到module 6:array;
2、現有的工作很忙,雖已經盡量的擠用時間,可學習的進度依然不夠快,本打算在三個月之內學完的,現在看起來沒有那麼理想了;***************************2015.3.7首先,非常感謝大家的答覆,謝謝!不過在磕磕撞撞下,本人還是在去年的十月份終於找到第一份Android開發的工作了,然後一致做到現在,最終還是轉成當碼農了,我的這個經歷有寫下來,放在另外一個問題的答案里:如何通過自學成為一名安卓軟體開發工程師? - 韋東鐧的回答
先去找那篇傳說中的入門教程《Teach Yourself Programming in 10 Years》看一看
看到LZ更新的學習狀態了,也許我以前的一個回答你能用得上:
正在學習java, 有哪些比較好的java源代碼論壇或者開源項目網站(中英文都可)?------------------------------------------------------------------------------------------------------------------------------------------
臨時加兩句話:
看到了樓里有同學講到的學習順序,跟我見過的一些學校的課程設置是有出入的。至少我個人覺得單純根據編程語言分出先後順序是有誤導性的,或者說,是耽誤你職業規劃的時間的。例如,我上學時母校課程上的設置:Level 1 的課程(入門級課程)接觸到的編程語言有HTML,CSS,JS,Python,C ,資料庫相關知識。這些都在Lvl1的必修課程中都會接觸到,然後到了Lvl2的課程的時候,對基礎課程都有了一定的了解,然後根據自己的Major(專業方向)來具體規劃2,3階段的課程。而不是把Python 和 C單純的放到了後面去學習,一門語言學習也不是一蹴而就的事情,並不是說1階段接觸過了,後面就不用繼續學習了。說的不清楚,說的不對的地方大家見諒了,大家一起互相學習。等我有時間回來補一份具體的順序,大家新年快樂啦^^
***所以最後還想啰嗦一句,我還是覺得找個正規的學校學習最靠譜。也許等你成為大師的時候再回頭看上課的內容會覺得很低級。但是,畢竟,那也是從很多的人身上總結出來的方法,的確可以帶你入門,以後的修行也就看個人了:)&>&>&>END&<&<&<-----------------------------------------------------------------------------------------------------------------------------------------
【北大青鳥歡迎你】上面的建議我是真心的噢,回答了你列出來的全部問題。如果你不想接著看下去,看第一句就足夠了,也是我覺得最實際的做法。我相信這些培訓學校完全有能力給你很好的建議,也能教給你需要的知識,也能幫你分析問題,所以,如果真的想改行,就有點行動去諮詢,而不是還在網上問學習方法和專業方向了。我不是否定了你肯學的態度和學習的能力,只是對大多數的人來說,在學校有系統的指導,比自己花時間去研究學法要省時省力的多。不要覺得自己是那1%的天才噢,很有可能你就是那99%的普通人。這句話貌似我天天對自己說,因為的確很多情況下都適合用來告訴自己:萬事沒有捷徑,唯有努力努力再努力。@vczh 那篇值得一讀,網上的原文很多,找出來讀讀看,會很有收穫的。
鼓勵你的話我就不說了,網上有大把了,比如說多晚開始學習都能出人才啊,等等。
以上把你的問題都回答完了,下面說點題外話,但覺得對你來說也有用。
你的現狀:
27歲,現有房貸跟結婚的雙重壓力,【迫切】尋求轉行並取得不錯的收入。如果是迫切的話,那就不要進入軟體行業了嘛,如果這是個經過短期學習就能開始工作,也就沒有拿到高薪的可能了啊,你說是吧?任何技術行業,技術含量一般都是和工資成正比的。而技術人員自身具有不可替代性,簡單點說:- 這工作不是大街上隨便拉個人來就能做
- 這知識不是一天兩天就能學完
國外很多大學的IT Master是允許招收沒有任何IT學習背景的學生的,而Master又是任何年齡段都可以讀的,我讀的時候,同學還有快60歲的同學呢,人家可是著名的大律師,律師行業幹了大半輩子想改行了,還有個快50歲的叔叔,課堂上最積極最活躍的就是他,還有個快40歲的阿姨,在家當了很久的全職媽媽,有了3個可愛的孩子。
所以,年齡不是問題,重要的是你肯不肯花時間去努力,以及,你有沒有興趣學。
縱然努力能讓你達到優秀,但唯有興趣才能讓你做到最好。以上,加油^^我還是來回答題主的問題吧。
第一步,自學,推薦書籍計算機導論,計算機組成原理,一本合適的c/c++教程,數據結構,推薦在兩到三個月內完成,一個基本原則是,不要深究,簡單的瀏覽即可,能理解到什麼樣就理解到什麼樣,預期效果么,不好說,看個人天分。
第二步,根據自身情況選擇一家合適的培訓機構 (其實我個人非常不認同這種填鴨式的教育),題主的核心訴求是快速跨行並且收入上有提升,所以我推薦的可選項按優先順序依次是java,php,.net,至於那些android,iOS的不要考慮,投入產出比太大。與此同時可以同步下載一些視頻教程(通常會遭到科班出身程序員的鄙視)預期效果是培訓完能實際參加編碼工作,給人當上小弟。這一步代價是三個月,六個月甚至更長的時間開銷以及高昂的學費,忘了說了上邊第一步可以是業餘時間。
第三步,實際參加編碼工作,切身體會這是一個多麼悲催的職業,與此同時重複第一步。預期效果是,堅持半年,半年後如果沒有萌生退意並且沒有過勞死的話,恭喜題主,算是入行了。
第四步,不斷後悔培訓機構太坑爹了,屁都沒教那麼多錢,但其實這是好現象,說明題主的知識儲備正在日漸豐富。
第五,技術上沒啥可說的了,自己積累自己學習就是。心態上要逐漸向一個程序員進化,陶冶自己的情操,提升自我人格,脫離低級趣味,時刻徘徊在牛A和牛C之間,努力成為一個既不普通,又不文藝的大好青年。
27歲在軟體行業根本不算大齡,還是小哥、學徒級,現在啟動一點不晚。
&>&>數學好,肯學習,有一定的英語基礎
這點很好,說明你是塊搞軟體的料!告訴你幾點快速成長的捷徑(一般人我不告訴):
1、一定要編學編練,照著教科書把demo運行起來,不斷添加代碼做實驗,這樣記憶深,效果最好。
2、編程能力提升需要足夠的代碼量,所以平時要多寫代碼,儘早突破3萬行。
3、學習Java等語言的同時,學習UML建模和OOAD(包括設計模式),能快速提升自己的抽象思維、空間思維和邏輯思維,對代碼的掌控等能力。
4、找幾本經典教材耐心精讀,如Craig Larman的《UML和模式應用》等。
5、找到能帶自己快速成長的好師傅,可以事半功倍,少走許多彎路。
6、尋找自己事業上的貴人,爭取早日進入一家好企業實習。
7、繼續強化自己的英語能力,尤其是閱讀能力,多讀原版經典。看題主描述:「本人男,27歲,現有的工作工資增長有限,想進入軟體行業,……現有房貸跟結婚的雙重壓力,迫切尋求轉行並取得不錯的收入。」抱著這種拿高工資的念頭進入軟體開發行業並打算以此為主要謀生手段,實在為題主捏一把汗……在這個行業拿高工資的,多數人本身就聰明勤奮,很多從中小學就開始接觸到軟體,動手編程也早,並且很多也在業界打拚了至少有三五年之後才有高收入的……這行競爭激烈,技術進步飛快,永遠得不斷學習,壓力也不少……如果不是真心喜歡開發,僅僅看到收入較高這一點,慎入!
種一棵樹最好的時間是再10年前,其次是現在。
先把妹,再編程,永遠不遲。
先編程,再把妹,把妹無望。題主有房貸和結婚的壓力,表明已經有妹子了,大膽進入這個行業吧。他們說的都不對,因為他們都是合格的程序員,且大部分功力紮實。
作為一個外行
技術樹可以這樣發展
最開始學前端(也就是網頁開發),作為很多序員一開始推薦c或者JAVA這個是不對的,原因:一個是學習那些高級語言很需要功力,另外一個非常枯燥或者說不實用。學習HTML CSS js這些一方面入門簡單,一方面很實用。最起碼能寫油猴的腳本。中級的話能幫單位寫網站。nb的話就可以自己接活了。
如果你一年能做到寫個網站或者按照要求改模版網站很熟練了,證明你對編程是有天賦的。可以進階下一步,如果這些都掌握不了,就打斷轉程序員的念頭。
中級,學點perl或者python,能用他們寫點小程序或者寫點系統管理的腳本。前者下一步的科技樹是程序員,後者可以做系統運維
高級,c,c++ 或者JAVA這些都是需要一輩子填的大坑。
為了賺錢搞軟體?個人不能認同。軟體工作從業者們,總是因為對那種成就感欲罷不能,才來做這份累死人的工作的吧。
現在從事的工作不忙的話,去先搞點書來看看研究研究,感覺自己能否接受這種活。感覺搞得來而且一定要搞的話,去傳智播客之類的地方報個班學他半年,然後去搞也可以的。以上都是我瞎建議的,其實我還只是個菜鳥。不過感覺這行人要拿高薪,是以多少個日日夜夜的沉浸式的學習和付出為代價的吧。其實我建議你去做生意。-
Ruby on Rails Online Bootcamp
Ruby China | 招聘
-最煩看n段羅羅嗦嗦的了。一句話:去培訓機構轉一圈是最快餐式的途徑。
去搶啊,來錢快......法治社會呢,大不了坐牢...
學做網站開發吧,JavaScript HTML5神馬的,這些都很有前景以及錢景,現在出的起大價錢的都是網路公司,C++, Java神馬的都是大坑,裡面站滿了玩這個玩了很多年的大牛,你何苦呢。
編程其實。
沒有什麼樂趣。開始的時候是激動。進行的時候是枯燥。完成的時候是乏味。如果這樣你還要繼續。
那麼。先不要結婚吧。把房子賣了。帶著這筆錢。給自己規劃五年。讀多少代碼。學多少課程。花多少時間。選一個編輯器。
買一個好鍵盤。帶上耳機。點一支煙。如果你抽的話。就這樣開始。
五年之後。
凌晨二點。你驀然回首。才知道寂寞的人。就是自己曾經羨慕的。高手。同是大齡青年。的我敬上。1.適合門外漢
2.快速轉行3.馬上高收入想不出能同時滿足這三個條件的的方法,最多兩個。按照題主的心態,如果是為了賺錢,我倒是有個建議學一些開發知識去做軟體方面的銷售
你要真喜歡寫程序,然後設定一個你想達到的目標,比如Ken Thompson什麼的,然後就開始.
喜歡 就去學習。多做事情多思考。堅持不下去了 就放棄。或許真的不合適
在自學mit的公開課系列,數學背景,共同努力吧。。。
其實我覺得樓主不適合轉開發為方向:其實任何工作的未來發展趨勢無非是:技術、業務、管理。
- 從技術上,樓主並未在問題中表示出開發行業的興趣。
- 業務上,如何可能需要更進一步闡述下近些年的工作經歷,和你自身的學習能力,是否能適應這個行業呢?
- 管理,估計肯定不過關的。
如果只是抱著找工作的心態對這種年紀已經是不合適的。
當然,如果真的有興趣,建議先證明自己在軟體上的能力,多參與網上的社區。學習android開發和iphone開發,至少入門會簡單點。但是這些都需要花費時間。你的時間是否很急迫?至少從這個問題的修改歷史記錄中看出,樓主只注重開發。從各種角度都是不適合的。- 工資的要求高(因為這個年齡-房貸和結婚),相對於應屆生沒有優勢
- 應屆生至少可塑性強,還有很多真的對開發有興趣的
- 工作這麼多年還無法證明自己,說明未來發展的想像力比較小
其實在軟體行業也有很多分工,最初級的碼農,如果想這個,最好還是學習做饅頭。我媽媽做饅頭還過得滿好的,志向高的學習甘其食。
推薦閱讀:
※在目前的互聯網環境及要求下,後端開發工程師變為全端工程師更容易些,還是變成前端工程師更容易些?
※為什麼較多知乎用戶認為編程能使自己愈加富裕?
※如何系統性的了解計算機視覺/圖像處理的現狀和業界研究方向?
※Google的 工程師實習生 (EngineeringPracticum Interns)申請是怎樣的過程,怎樣能獲得機會?