工地青年已經確認轉行程序員,應該做哪些準備?

土木專業畢業一年,在某中字輩施工單位上班一年。目前已確認要轉行當程序員。先跟各位前輩介紹下我決心轉行的幾個主要原因:

1,我不知道我對編程到底有多少熱情,但是從上班第一天起,我對現在的行業現在的工作就充滿了厭惡。我對編程的興趣算不上那種敲敲代碼就能激動到拍打輪椅的程度,但是也很享指尖受敲打鍵盤,代碼隨之在屏幕上一行行浮現的感覺。【這是我可憐的辭彙量所能描述出的最符合我真實的感覺了】。

2,我的性格決定我屬於那種不太願意與人過多打交道的類型,比起經常與人接觸的工作,我更喜歡與「外星人」相處,當然現在貧窮的我還並沒有擁有一台外星人╮(╯▽╰)╭

3,我覺得程序員是有門檻的,是靠技術的,只要努力一定會有收穫。不需要在勾心鬥角或者不太必要的應酬上浪費時間;嚮往這種氛圍。【以上均為主觀臆測,歡迎各位指正】

·································奇妙分割線···········································

以上是題主的情況,目前自學一周JAVA,頗有興趣,只能說是「頗有興趣」,並不狂熱,這裡我覺得實話實說比較好。現在的工作性質讓我每天最多只有兩個小時去學習(極有可能沒有時間,了解施工行業的朋友都知道,工地就是這樣)。

這裡有兩個問題希望各位知友和程序員前輩們解憂:

一個是我應該果斷辭職回家,專心學習,還是先這樣邊工作邊抽時間學習。

另一個問題時回家學習的話,有必要報培訓班嗎。根據我對自己的自我認知來看。我有潛下心來專心學習的能力,說白了我是那種能夠「閉關」的類型。但是我對獲取信息的能力和調控學習速度節奏的能力略有欠缺,我自己學習的話不會明確的感覺到自己學得慢還是學得快。

---------------奇妙的分割線-----------------

有答主說題主是為了逃避現實,這點我確實承認,但是看來在施工單位待過的畢竟是少數,並不是很了解我要逃避的是什麼。如果現有的問題是你半年請假一次都不給假,將來生了孩子見一次面長高一截,所有困難由老婆一人承擔,爸媽見一次老一點,你不會考慮逃避?最後用我老婆說的一句話:逃避可恥,但有用。


針對這種日常轉行類的問題,感覺可以回答給出一個」預演版「的假設性原則。

要從以下問題假設考慮:

1.自己是否適合?(考慮因素:性格內向外向、身體久坐會不會出問題、生活習慣、有沒有魄力從頭開始做一件事很久)

2.適合的話,方向是什麼(考慮因素:數學能力、抽象能力、架構能力。方向:前端、後端、嵌入式、機器學習、深度學習、計算機視覺、計算機圖形學、遊戲、圖像處理、IOS、安卓等等等等)

3.目標(考慮因素:學成什麼樣(成為專家還是糊口慢慢爬就行)、要去哪個公司工作可以滿意、哪個級別的公司可以滿足養家糊口)

4.如何努力(考慮因素:家庭經濟狀況、辭職全職學還是抽時間學、報不報培訓班)

5.意外情況(如果公司都卡學歷了找不到工作怎麼辦?如果學完找工作被迫降低心理預期怎麼辦?如果不能達到目標怎麼辦?如果付出時間太短但是有幸進入某些公司發現自己能力不足怎麼辦?如果報了培訓班最後還不能順利找到工作,以前的工作還辭了怎麼辦?)

職業規劃牽一髮動全身。涉及人生規劃的問題,都建議全面考慮,三思而後行。


既然你說了大家不了解你的處境,那麼作為曾經的工地搬磚青年,現在的碼農來替你分析下吧。


07年的這個時候,也就是最熱的時候我還在工地搬磚推小車,既不是技術員也不是監理,就是純沒有技術只靠體力的小工。在工地經歷了很多,和不甘現實的技術員暢聊過人生,也和一個快六十歲的撅老頭建立了「戰友」關係,見識了包工頭的嘴臉,也佩服監理員一言不合就拆牆的「魄力」…說這些廢話其實想表明下我的經歷跟題主類似

十年後,當我又從事了另一個搬磚行業後,我發現兩個行業有共性,也有各自的苦樂,而這些你若都能接受,那麼勇敢來吧:

工地生活雖然很累,但那種累是單純的身體上的,累的踏實,那段時間我睡眠質量特別高,而現在漸漸養成了熬夜的習慣,即便早早躺在床上也睡不著,也曾經因為一些線上問題,半夜被叫醒去公司排查…

工地的小社會是局限的,外面的燈紅酒綠似乎完全與你無關,那種時候慾望特別小,每晚完活後的包子啤酒讓人就滿足了,再就個蒜瓣更賽了,而當你離開了那個圈子,你來到大城市,你的慾望就不僅僅是那幾個包子能滿足的了…後來你會發現即便吃了慶豐包子也沒有當時工地上那幾個包子好吃了

回過頭來看一下程序猿,首先這是個職業,職業也就意味著你從事的是一份工作,而不僅僅是碼出幾句hello word時的那種成就感,在工地混凝土裡沙子,石子,水泥的比例是固定的,而程序猿面對的需求是千變萬化的,你做好了準備了嗎?

其次,你需要付出比別人加倍的努力,因為你和別人不在一個起跑線上,過程非常枯燥的,人很容易眼高手低,看書的過程中很容易自我滿足,真正動手去做的時候就無從下手了,所以,你需要不斷的親自動手去做

第三,這個行業也絕對不是你想的清凈,你見過社區里撕逼告領導的嗎?見過CTO乾的一包勁最後股權都不翼而飛了嗎?當測試幸災樂禍的捉了一堆bug喂你,當產品給你表演需求大變臉時,當妹紙離你而去,甚至連程序都埋個bug坑你的時候,你能付之一笑嗎?

至於培訓還是自學,根據自己的個人素質去衡量下,自制能力強就系統性的自學,注意系統性很重要!自制能力差還是走臨時捷徑吧,但之後你要保持不斷的學習才能不被淘汰…


你們工地還招人么


計算機碩士在讀,科班出身來答一發吧。

說一下目前的大背景吧,互聯網確實是在實體經濟疲軟的情況下,看起來還不錯的行業,也正因為這樣泡沫也就很多了,這個後面我會說到。先說一下建築行業的大背景吧,我爸就是在工地做包工頭,技術工,建築行業最好的是在08年經濟危機以後,國家大力發展基礎建設的時候,近三年的感覺就是明顯不如前幾年了,像我爸這種辛辛苦苦的農民工一年大致兩百個工作日左右吧,十幾萬的樣子,但是我想,想樓主這樣的人是不願意去做這樣的工作的。為了配合我爸的生活體驗,我去工地呆過半個月,最後因為腳扎了一顆小釘子,然後就終止了,實話說我也是快受不了了,真的是賊累。 建築行業大致就是政府用地大頭,然後從老闆一層一層的各種轉包下來,中間成本早就高了不少,總體來說只要是能吃苦的還是能夠賺到錢的,這也是我父親這一輩人目前比較滿意的地方,能夠吃苦,還是能夠賺到錢的,難不成對於那些剛畢業,沒什麼能力,就能賺到跟這些辛辛苦苦從事高強度勞動的人比,天天坐辦公室吹空調,就想輕輕鬆鬆十幾萬,開玩笑呢?這裡暫且不提資本什麼的問題。樓主說自己行業工資低,大概是因為自己真的是很普通,而且也做不了基層的工作,普遍來說,我是不相信一個掌握技術的能吃苦的人賺不到十幾萬的,只是大多數人可能認為碼農賺個十幾二十萬很輕鬆。知乎輕輕鬆鬆幾十萬幾百萬的那些人,你就看看就好了,真以為沒有資本,除了老老實實工作,是誰就可以一夜暴富么。講真題主我懷疑你對待現在工作的態度,也不是很適合互聯網技術,所有看似光鮮的工作背後,都沒那麼容易。

再來說一下,最近的事情,我回答了我一個吉大學車輛工程的朋友的類似的問題,和題主比較類似,他也簽了一個國字頭在重慶做車輛檢測的工作,問我要不要轉到互聯網做技術,我是這樣分析的:1.從目前的大環境看整體是實體經濟疲軟,互聯網發展火熱,但是這個其實背後的問題是實體經濟國家改革不動,很多時候只能靠互聯網來續命,難不成經濟都沒有希望才好么?這就是為什麼要理智的看待李博士的「大眾創業,萬眾創新」,本身就是對實體經濟的力度不大,只能切入互聯網,剩下的你自己思考。2.同時,其實對互聯網來說,其實本身人才還是沒有滿足的,即使是目前的水平算下來,每年計算機科班出身,算上985 211其實也沒有多少人,最後還有很多計算機的同學轉行去做產品,還有各種相關不相關的。即使是有很多相關專業的,在目前的狀況下,我依舊認為,只要技術不是太差,985 211畢業的能夠找到一份不錯的工作還是沒問題的,做技術的我為什麼繼續讀個碩士的原因,也是為了提高一下競爭力。但是這個市場其實在慢慢飽和,尤其是對於底層碼農來說,說來不怕各位鄙視,我姐夫就是做技術培訓的(以前是傳智),同樣是碼農,一個是科班出身的,一個是沒有科班出身去培訓的,在能力相差不大的情況下,我肯定是更願意選擇科班的,本身所有的工程行業是一個系統工程,而工作入門技能是一個短期技術手段,因為我是科班出身的,我可以有把握的說大多數公司的系統操作和規範那一套,只要有演算法和編程基礎,一兩個月能夠達到工作要求是肯定沒有問題的,然後問題來了,在這個時候,誰的前景更好呢?當然是科班的啊,科班的優勢不是僅僅就只是多學了四本操作系統、計算機組成原理、計算機網路、數據結構,還涉獵了更多專業的東西。滿足市場一般底層開發甚至高級的理論基本都是涉及到的,講真工業化的技術確實不夠高大上,當然不涉及具體技術細節,然而據我所知,大多數培訓機構只會教你一門語言,再教你做幾個項目,講道理,這種橫向的項目,只要正規的理工科大學畢業,對寫代碼不抗拒,真的是都可以學會的。3.對於培訓出來的,我沒什麼討厭的,也沒什麼不討厭的,主要是擠壓了底層碼農的生存空間,所以也就沒那麼好找工作了,但是中上層還是那樣。4.互聯網技術是一個需要隨時隨地更新你自己的知識體系的,不可能讓你依賴於原有的知識體系就可以穩坐釣魚台,所以沒有不停學習的意識,是不可能在這個行業有什麼好的發展的。5.最後問題就來了,既然你要轉行,在上述我說的你都不具備的情況下,你有什麼優勢呢?沒有優勢,Boss憑什麼刷掉別人招你呢?這就是你自己需要思考的,你自己的核心競爭力是什麼?不一定是要轉行,你在你自己這個行業的核心競爭力是什麼?你憑什麼做的比大家好,比大多數人好,比身邊的人好。6.成年人,做的每個選擇都講究風險評估,你適不適合你自己清楚,反正最後找不到工作也是你自己承擔,沒有人能百分百的給你一個保證,說你能拿到高薪,走向人生巔峰,我們這群技術狗 ,說白了還是被剝削的,自己的選擇承擔風險就行了。

然後就是要轉行了,應該做什麼準備?

一個優秀的碼農需要具備哪些素質呢?

我覺得主要有以下幾點:不錯的數學基礎、英語、團隊溝通、自學能力、專業能力、分享。

最後比較重要的是身體啊,自從選擇當了碼農,視力又降了一波,健身廢了一波,感覺肩又不行了,感覺最近心跳有點加速。你自己意會一下就好。整天都要提醒自己別太拼,小心猝死。

1.首先你要做好吃苦的準備了,別人學了四年的東西,你要從頭學起。不是有一句話嗎,給你兩萬小時,能夠成為一個行業的專家。對於計算機技術來說,這個很適用的。

2.首先從一門編程語言開始,先學習基礎語法,和編程語言的各種高級特性,嘗試自己完成各種小項目。然後對相應的項目進行深入實踐,多看技術博客,多研究源碼。關於編程工具,語法,常規演算法問題,網上的解答我估計很詳細了。

3.計算機的專業課,在我看來,數據結構、軟體工程、計算機網路、操作系統...一系列的內容。其實挺多的。

4.一定要學會過濾獲取有效信息。

5.多實踐,多動手,還是多實踐,多動手...大部分不理解的內容,實踐可以形象的解決你的問題。

所以,沒有什麼大牛能夠救你,能夠救你的只有你自己,大家能做的也只有在大方向給你建議,或者在一些細節的小問題上給你解決。

最後給幾點比較中肯的新手入門建議:

不要做伸手黨,你需要的工程入門的大部分東西,搜索引擎都能滿足你的需求。多問為什麼,不要問是什麼(每次跟人分享的時候,我真的很反感這個,一個人問你是什麼,說明這個人問這個問題根本就沒有經過資料查找,認真的思考,就去問別人問題是對別人的不尊重,同時也是浪費大家時間,對於工程問題,大部分搜索引擎都有現成的,只看你願不願意動手去找了,你連自己動手去找一下,學習一下的意識都沒有,別人憑什麼給你回答你問題?別人不但要告訴你這個東西是什麼,還得再給你講一遍為什麼。浪費的是大家的時間。所以要想讓別人尊重你,一定得有深度。如果一個問題你查找了資料,實在找不到,也說明你真的在用心了)。不要怕別人超過你,可怕的是還待在原地,優越感爆棚。

最後,祝你好運!

真的神特么煩某些寫了幾年代碼,就搞出行業優越感了,寫幾個工程代碼沒什麼了不起的,調調API誰不會?造個輪子再來秀優越感行不行?還有秀Spring的,你倒是把源碼一行一行的來解釋一下啊,自定義個類就了不起了?好一點的工程師,怎麼著也得把別人的源碼搞明白吧,調調Spring的包難道就不是API?說白了跟你編程調個語法結構沒什麼區別,這種工程問題,學習學習,都是時間問題,新入門的不要看的太高大上了。搞笑!這種還談什麼分享,分享我看也特么是居高臨下,不好意思,你一邊去,講道理,這個行業大家誰看不起誰啊!除了造輪子那幾個大牛,還有誰能屌炸天的。

最後希望大家都有危機意識,其實最應該提醒的是自己,不要被現實麻痹了,搞出優越感!

生命不止,編程不止,學習不止,大家且行且珍惜且保重身體!


突然發現都沒有回答問題,慚愧,認真回答一下。

首先不想打擊你但不得不承認的是,現階段低端程序員確實過於飽和,若沒有十足並且持之以恆的興趣單純沖著高薪去轉行會吃很大虧,到最後可能工資水平並不能和你現在差多少(但工作環境肯定好很多哈哈)。

所以,首先你要知道自己如果要轉行,你給自己將來的定位是什麼。是當一個能找到工作糊口的一般程序員,還是想持續努力學習相關知識真正成為一名合格的說得出去的程序員。

第一個目標確實是培訓班加自己自學一下或許可以達到,但能達到的水平肯定有限。

第二個目標你要考慮兩個問題,第一是你是否有足夠的興趣去支持自己轉行並且深入研究。轉行不同於本科學習的專業,轉行初期是很痛苦的事情,若想當一名真正的程序員,要補的東西太多,不光光是語言問題,OS,Database,數據結構,演算法這些都是基礎,也都是很多科班出身的學生都可能掛科的科目。到頭來你或許會發現一門編程語言的學習都不算是最重要的。而你是轉行,要耐著性子一項項啃下來是很花時間和精力,沒有興趣根本做不下去。第二是你要考慮你如何和科班出身的學生去競爭。科班出身的本科生至少學了四年,你想搶他們的工作,你又有什麼樣的特殊的能力能讓你脫引而出,你又自己分析一下自己學習多久才能趕上他們的水平。

否定潑你冷水的人給你鼓勵是一回事,而你認清自己的目標和認清自己的能力又是另一回事。

所以你開頭說你興趣一般,如果沒有足夠的興趣和持之以恆的決心和耐心,我勸你慎重考慮。

那個優越感爆棚的 @蘿魏紫 怎麼關評論了?其實我很少去跟別人爭什麼東西,可是看到這自以為學了幾年編程就以為自己很厲害,可以巴不得秀出自己優越感的人我實在是看不下去了。知乎多少大神都沒有你這種態度。也正是因為你這種面對學習的態度肯定也故步自封,又或者對公司里新人都看不上眼,真是為你的公司可憐。

你以為3天看懂一段代碼就很了不起?你所謂的看懂難道是查查給定段落的語法看看是什麼功能,然後複製功能過來解釋聽聽?看懂和會用差遠了,把你會的Java代碼寫出來還真學出了優越感。

那你想學我也成全你,給你一段不長,很基礎,功能很簡單的代碼,要搞明白每一句的意思哦,要會用哦,別複製語法說明哦,你要求人家新人三天看懂,那你這個大神你說給你一小時夠不夠哦。

(defun |universal-comment-reader| (stream char)
(declare (ignore char))
(loop (case (read-char stream nil nil)
((#
eturn #linefeed nil) (return))
(t )))
(values))
#-abcl
(set-macro-character #; "|universal-comment-reader|)
(shadow "(#:save-image #:save-system #:load-system #:leave-lisp #:print-backtrace) :cl-user)#+cmu
(setq ext:*gc-verbose* nil)
(setq *load-verbose* (setq *compile-verbose* t))
(defparameter *build-init-pathname*
(or *load-pathname*
*load-truename*
*default-pathname-defaults*
(error "Indeterminate load pathname...")))
(setq *build-init-pathname* (truename *build-init-pathname*))
(when *load-verbose*
(format *trace-output* "~%;Build root: ~s." *build-init-pathname*))


算算你的存款有多少
能不能支撐到你用代碼吃飯

其他問題都是扯蛋


你提的這3個問題和我當時想的真的是一摸一樣。第一,講講自己情況,兩年前帝都一所還可以的211土木工程畢業,畢業後後去了鐵路局,然而一年多的時間裡是帶著民工去鐵路兩邊砍樹除草清水溝裡面的泥,落差真的很大。其實國企裡面環境基本都是一樣的,我就是習慣不了這種環境,才轉行的,所以樓主所處的環境,我大概也是能感同深受的,真的,如果再讓我在裡面呆個兩3年,我是沒有勇氣轉行的。在國企的這兩年里,我自學過半年python,自學過ios,看過大半年的Java入門,但是效果都不理想。我也是屬於那種不太喜歡國企裡面的關係的,覺得很累,但是可以吹牛逼的是,辭職以後領導還主動給我多發了一個月工資。因為也有過和樓主基本一樣的經歷,所以說得有點多。
第二,我也想過是自學還是報培訓班,畢竟認為自己自學能力還行,但是最後選擇的是報培訓班。自學其實就是拿時間換錢,報培訓班是拿錢換時間,我這裡培訓班Java是半年,自學的話我覺得至少得要1年時間,應該是達不到培訓半年的效果。首先要弄明白培訓班的作用,其實就是幫助快速入門,入門後還是看自己的學習能力的,並不是什麼培訓完出來就高薪什麼什麼的,如果樓主你時間多,自學能力強,可以選擇自學,否則還是建議報一個培訓班。選擇培訓班如果能有同學去過的推薦是最好的,如果自己去找培訓班,不要被別人吹的牛逼給忽悠了,比較幸運的是我目前這個培訓班還是不錯的,老師真的是想盡了全部辦法幫助我們學習Java。還是那句話:如果時間多,學習能力強,可以自學,不然還是建議報個培訓班快速入門。
第三,Java是一門不錯的入門語言,裡面的思想接受起來比較容易,0基礎確實是該從語法和模仿開始學習,一上來就是什麼框架,虛擬機的,這些人你們一開始是從這些開始學的?不是說虛擬機這些不重要,是學這些需要有一定的基礎之後才比較合適。我這裡的培訓老師確實是大部分時間都在講語法,他們的目標只是教我們如何快速使用,像原理這些是需要自己去網上學習的,其他更深入的底層實現原理都是需要自己去學的,老師不可能一直在課上講這些的。哈哈,我現在這個班裡就不缺那種弄懂了點語法,就自我膨脹的少年。
第四,講講自己在培訓班裡面的一些學習情況吧,來這裡培訓Java有兩個多月了,當初之所以選擇Java還有一個原因,是市場需求量比較大,其實學了一門語言以後再學其他語言的時候,很多東西都是相通的。目前我學習情況是,首先把那些語法先要會用,然後自己再在網上看別人寫的博客什麼的,理解底層實現原理這些。所以我的學習Java方式是:首先語法要會用,然後要去看實現原理,偶爾也要看源碼,演算法,數據結構這些都是要補的。
第五,這是我第一次寫得這麼多內容的回答,主要原因是樓主目前的情況真的和我一年前一模一樣。手機碼字確實不易。


我就是從施工出來轉IT的人,給你講一下我的經歷吧。

我在施工行業呆了不短時間,干過高速橋樑、路基、隧道三個項目,去過三個省,運氣加上一點努力,很快就坐到了項目部門老大。這時候跳出來需要巨大的勇氣的,首先是因為在施工環境已經把我養的又懶又無能了,懶是因為施工確實是個溫床,很多人只是在裡面做無用功,看起來耗費時間挺長的,其實內耗居多。無能是因為除了施工我什麼都不會了。還有一個是施工這個活確實掙錢,因為你基本不花錢,工資就是存款,還有各種獎金,導致我出來之後收入明顯下降,這個是需要特別注意的。

下面說轉出來情況:自學了幾個月的編程,但是因為自己沒有毅力,什麼都不會,出來找工作當然也沒有找到。此時我並沒有辭職,只是請了病假,估計也是因為這個原因導致自己技術沒過關。在大城市漂了兩個月,沒有生活費了,灰溜溜的跑到項目去了。

但是!到了項目之後,我發現我真的受不了施工環境和施工生活,經過幾個星期的煎熬之後,我下定決心瞞著父母(不瞞著不行)直接辭職了,開始在在大城市漂流找工作,這個時候我什麼都不會,就在我快要絕望的時候,我去做了產品。

。。。。。

。。。。

。。。

。。

我給的建議是如果你在中字頭施工單位,並且是通過局級以上在學校招進去的,你還是慎重一些,畢竟這個崗位比知乎上很多號稱年收入百萬更實在,錢途也更廣大(注意:僅僅是錢途),現在雖然不比以前,但是如果足夠努力實現階級跨越是可以的。

如果你並不是這種所謂編製內的員工,無所謂,想辭職出去看看是可以的。

外面的生活並沒有你想像的那麼美好,在施工這個環境的「保護」下,你真的體會不到社會的陷阱,你可以在你的工作履歷上增加一些項目經驗來為你的簡歷增彩,但是,很多人事看到你的專業就pass了,這個你不可能造假吧。

少看一點知乎,你會發現現實社會還是有希望的,知乎的這些精緻小資也只是表面精緻而已,不會比你更滋潤。

跑題了,你確實要轉的話我攔不住,建議是:

1、技術,任選一個語言,學到精通,貴在堅持,多敲代碼,切勿紙上談兵。可以報班,挑好培訓班。

2、簡歷,不要造假,直說自己情況,並且用面試題和技術問答打動他們。

3、心態,剛開始不好找工作,但是不要慌,一定要抱著寧缺毋濫的原則,現在讓工作三四年的程序猿去找工作都不一定能夠能找到滿意的,更何況自己呢?

4、公司選擇,盡量不要找外包公司,因為實在學不到技術。可以找大的,有自己產品的外包公司。

5、最後,千萬不要被騙取傳銷,面試一定要去正規的地方(呼應第3條的寧缺毋濫),去大城市投靠可靠親友,他們總會比你有更多的經驗的。

說明一下:

沒有黑產品的意思,我這裡不想說怎麼轉的,所以故意這樣寫,自黑一下而已,希望不要誤會。我也已經畢業七八年了,並且對技術也很有興趣,邊工作邊學習中也算半個研發了,但是還是感覺其實產品很累,需要很強的業務溝通能力和邏輯思維能力,最佳的產品應該是一個優秀的程序猿。


@蘿魏紫 他的本意肯定不是裝B,畢竟靠這段代碼在知乎裝不了逼。反倒是幾個copy一段代碼質問他能不能看懂的更裝一點。
他說的捷徑是讓題主看看學了java將來大概率會做什麼。心中有個預期,而不是對著黑框寫半天猴子吃桃之類的問題不知道有什麼用。


大家都答的差不多了,我補充一點,學好英文。。起碼達到英文資料能看懂的水平。。。

雖然我認為漢語是世界上最屌的語言,但是這個年代的程序員,還是要會英文的。。

其他的,如果硬性轉行的話,其實挺難的,培訓班不失為一個行業入口,但是不要太相信培訓班,東西還是要靠自己學。

總結就是

找靠譜的培訓班

學好英文

不要嫌棄找到的第一份工作,這是入口。


1.任何行業都會有讓人厭惡的時候。支持走下去的多數原因是生存壓力;少數原因是興趣。但興趣決定最終誰走得更遠。

2.跟你的認識有偏差,程序員是特別需要與他人溝通的職業。有時通過文字,有時通過圖表,更多通過口才。

3.不論你是否相信,程序員用溝通、分析/設計與測試花費的時間是大頭。真正用於寫代碼是的時間不多,通常不超過20%。實際上,程序員需要跟各類業務需求和提需求的人作「鬥爭」。


現在普遍的情況是
會用個jquery就自稱為前端工程師了
會寫個curd就是自以為是後端工程師了
會service xxx start就覺得是運維工程師了
會建表的都說自己是dba了
會寫個NSL.request和playground就敢說精通iOS

培訓學校包裝你,讓你自欺欺人掩耳盜鈴,只是為了你的錢.程序員沒有笨蛋,資質稍差的根本連入門都難,強行併線,也就是被收一筆智商稅而已,用人單位也不傻,幾斤幾兩一問便知

不信是么?我面試的時候一般就問下面幾個問題就能知道是不是科班出生(後端問題)

1.buf/cache I/O
2.散列表
3.文件系統(之前寫的是ext3與ext4的區別)
4.冒泡(插入,選擇)排序
5.鏈表與哨兵


科班出身至少能回答出2個
半路出家的 普遍一個都答不出來

我不是鄙視非科班出生,我只是勸某些大兄弟三思,任何行業做精了都不會太差,你與碼農之間差的也不是一本《java編程思想》,網上的培訓課程,給你講的只有十分之一不到。

我見過很多人,得知碼農不錯,送孩子來北京學了兩年,最後還是一事無成,本就不是塊料,再巧的匠人也不能給你雕成美玉

不懟 此貼終結
php是世界上最好的語言!


如果你混知乎,沒理由不知道修真院啊(●—●)

難道修真院不是最好的選擇么。

在線,免費,1對1輔導,討論分享,項目實踐,開發流程,職業素養,六大基礎課程。


你還要什麼。


這裡提一個職場和學校很不同的地方

職場最看重結果。
他們不會管你是怎麼來的,你做了哪些努力,只會看你符不符合他們的工作要求,他們的用人需要。滿足了,就算你高中沒畢業也沒事。不滿足要求,就算你是清華生物,你說自己有多努力也沒用。

所以樓主不要怕,把自己的結果提升到最好


Java是不錯的入門語言,它替你遮擋了一些對初學者非常坑爹的事情,性能也還不錯。

對於初學者,我能想到要注意幾件事情:

  1. 不要光沉迷於語言,要了解數據結構和它們背後的組織方式,以及使用數據結構的代價輕重。
  2. 要注意程序的分層組織,不要搞成一坨。
  3. 要注意抽象化。比如,我們都知道,重用的代碼可以提取成單獨的函數,那麼這一部分代碼為什麼能被提取出來?它們會不會自己就是有業務聯繫的?這種業務聯繫是穩固的,還是很容易變變需求就變化的?
  4. 學會英語,stackoverflow上面累計的問題與回答非常豐富。

這些事情搞明白一些,你就能搞定大部分的需求了。


我覺得編程初學者學習java是個不錯的選擇,java是很棒的語言,在任何平台上都可以使用,用的人也多,以後你深入學習了也方便與人討論。
我覺得你可以先不慌使用IDE,在電腦上下載jdk以後把一些jar給解壓出來,比如rt.jar,從java lang的package開始學習。了解Object, Collection, Map這些非常非常基礎的class,然後沿著hierarchy 學習其他的class,先使用notepad編寫一些簡單的小程序,學會如何在cmd編譯,如何給classpath等等。
然後就是Collection裡面的一些用於實現基本數據結構的class,比如LinkedList, SortList, Tree, ArrayList. 了解這些在以後的開發道路上會事半功倍。
熟悉關鍵詞,比如access control類別的,public, protected這種。還有implements extends這種關係到interface和abstract class的。了解polymorphism和inheritance 說實話我覺得這個還是很重要的。
再然後可以使用IDE,因為隨著你的program變大,有時候不是一兩個class甚至一兩個package就可以涵蓋的,這時候用IDE可以幫助里管理你的project,以及一些dependency
至於一些api的調用,framework的應用,像maven這樣用於管理dependency的工具,真的不用太神話,基礎牢固的人實現應用起來也就是幾天的事情。
最後,希望你不要後悔自己的選擇,然後,多鍛煉,注意身體健康,勞逸結合。祝好。


同為搬磚工,隔行如隔山。


既然確定了,那就辭職報班學吧。你需要準備的是:錢和決心

雖然我一向不推薦培訓班,但你的情況並不同於那些還沒有確定要不要轉行靠碼代碼吃飯的。至於哪個培訓班靠譜,這個我就不知道了,沒法給你推薦。但有一個建議,希望你能聽:短期內學會編程是一件非常困難的事情,在你遇到困難的時候,請加倍努力,堅持下去就會迎來轉折和希望!


給你三點建議供參考:

1. 不要覺得學了編程就不需要和人打交道了,這是一種錯覺,在你轉行之前應該拋棄掉這種錯覺。

2. 既然已經確認轉行程序員,那麼你就立即馬上辭職回家開始全身心投入學習中。為什麼必須全身心投入呢? 前天看見三年級的小學生都在寫演算法編程了,你一個大學生剛畢業從頭開始學習計算機,你基本是沒有先天優勢的,很多跟你同齡競爭的沒準也是三年紀開始學習編程的。所以你得努力多倍才能彌補這些差距。

3. 先給自己一個機會,學會自學。對於一名合格的程序員來說,自學能力是非常重要的。如果實在覺得困難,或者你時間有限,再考慮培訓班。

謝邀。


我tm總是懷疑類似「某某職業、多少歲轉行IT是否可行?該如何準備?如何學習?」這樣的問題是知乎後台定時任務每隔一段時間出來發問的!
不然之前那麼多類似問題下的無數回答這些同學不會自己搜著看嗎?
這樣的問題老是會出現在時間線上,看的真心累,說些什麼吧大家都說皮了,不說吧你又誠心發問。建議發問之前多參考別人的問題經驗,甚至你可能找到和你有同樣專業同樣年齡同樣經歷的人,你問他怎麼做的,中間怎麼學的,最後結果如何,這樣的幫助可能更大!


推薦閱讀:

如何看待WePhone開發者與其前妻之間的糾紛?
為什麼TCP自定義協議報文頭由固定字元如『##』+消息長度+消息體+校驗位組成?
在博客園上看到<程序員的一天>, 不知道真正的程序員與這篇博客中的相差多少? 望各位前輩能夠解答, 謝謝.
在感覺項目代碼的構架不行的時候,你們會怎麼辦?
有哪些程序員的告白方式?

TAG:程序員 | 計算機 | Java | IT行業 |