軟件的一點經驗之談——java

相信一些小夥伴聽說java使用的挺多的,遂抱各種培訓班想要入坑學習;
藉此,穿插java來說說,想要入坑的一些注意。
很多,甚至可以說是非常多的,包括一些相當可觀的行業外的人涌進來想要學習java,並且其中相當一部分的人甚至沒有系統的接受過計算機學習。
希望,在學習的時候清楚一點,也就是學習的目的;相信大多數的小夥伴是抱着想要拿到高薪的目的去學習。畢竟學習的最終目的是就業,就業的目的是賺錢,這無可厚非。
也有的人可能是單純抱着喜歡的目的去學習,這非常好,善於鑽研的性格非常適合在軟件行業工作,畢竟多數行業沒有軟件行業面臨的更細速度和學習成本大。一個聰明的程序員除了在編程的時候邏輯清晰,學習迅速,更善於將軟件邏輯轉換成客戶真實需要的軟件產品,這會是一個很成功的程序員必備條件或要素。
首先,根據這一階段的求職,學習對想要入坑的小夥伴們提一些建議吧:

1.軟件行業,學歷相對於其它行業來說,比較重要。
在當前極力鼓吹學歷無用論的當下,軟件行業剛好是一個相反的例子。怎麼說?就比如,你嚮往去阿里,華爲等包含國有體制的單位內應聘軟件工作,本科算是底線。無論你技術多一流(除非達到非常非常nice的水平),要不然,人一定是不給你機會的。又有一種說法:大專工作3到5年經驗的java工程師,相當於本科工作一年的標準(薪資上體現);雖然這句話有些以偏概全的感覺,但是第一步,在企業招聘上,確實多數存在這樣一種情況。
2. 評估自己的學習能力,以及對於邏輯事物的理解能力。
這是必備條件,任何從事於軟件開發行業的人來說,對於邏輯事物的理解能力是基本要素。如果你對於邏輯事物的理解能力有些差,不過可以面對一般編程,雖然說可以在編程行業混口飯吃,但是長久以往,你會學習的越來越吃力,尤其涉及到算法(未來編程中少不了的一步),就會有要求數學功底了,雖然說你能應對基本的java的排序算法,甚至可以死記硬背,但是如果將它放在複雜的業務中,你還能遊刃有餘麼?因此,想玩透程序,必然對於邏輯事物的理解能力是要有很高要求的。
3.數學運算能力
上文部分提到,要具備數學能力,雖然這不是必選(大多數java開發都是藉助框架開發的web程序,相信大多數的學習者最後就職也都是b/s開發了,就比如springboot之類的框架,上手很快,也不需要太高的編程能力)但是多年之後就不一定了。我們都知道一些軟件的發展趨勢,比如當下很火的人工智能,物聯網,大數據,區塊鏈等等,無疑對於程序員的數學底子要求極高;也就是說,不是之前的簡簡單單搭個框架就能生產代碼的時代了,更需要一些科學家型的程序員,舉個栗子,就比如EOS區塊鏈dapp的開發者,就要懂得什麼是橢圓算法,怎麼生成隨機數,對於複雜區塊鏈事物如何處理,如何編寫底層C並編譯運行等等。因此,在軟件行業大背景並不怎麼好的當下,更是要求程序員的基礎,尤其是數學能力的深厚。
4.溝通能力
相信我們都看過很多程序員“怒懟”項目經理的例子吧。其實關鍵在於,溝通。在不同職位上的人對於事物理解上存在差異,因此,程序員發展的好壞,就是溝通。有相當一部分的經理,或許並不懂程序原理,就會提出一些讓你覺得難於登天的代碼實現。這時候,聰明的程序員就會使用溝通這項技能爲自己避開這些問題,那麼如何有效避開這些溝通雷區呢?就要換位去理解,經理是怎麼想的,一個優秀的程序員,你的思維一定是超過經理的,無論是對於程序的理解,還是對於客戶使用思路,業務邏輯的理解。如果你能充分的理解,那麼古銅也就不在話下。
5.人
不得不承認,在這個行業工作久了,慢慢對於“人類”的溝通上存在一些問題;這是非常不好的一種情況,必須要避免。假設你是java後端工程師,工作上你需要知道如何讓前端的同事展示出你需要展示的數據。如何讓上司知道你幹了多少工作,如何聯繫更多的人(志同道合的開發者或者未來跳槽的公司人),如何找obj(這就是綜合實力的比拼了),人際圈廣泛的程序員不會擔心自己吃不到飯,他們通常可以藉助自己的圈子順利找到“吃飯”的地兒,而不至於冒險跳行業求職。
6.其他能力
或許你剛畢業,或許你剛轉行,當下不知道理財觀念,不知道危機觀念,不知道年齡焦慮;那麼相信我,終有一天,這些問題你都需要考慮。當你獲得了一份不錯的工資薪水,希望你不要貪玩,純粹攢錢,或者投資;相信絕大多數從事軟件的開發者不是土豪,也都知道外人眼中的高薪畢竟是996搞出來的,畢竟你的“高薪”也不會讓你在當下工作的一線城市獲得一套你覺得不錯的房產。所以攢錢吧,藉助這部分錢,你可以創業,投資(比特幣等虛擬貨幣就算了,當然,十分喜歡可以少量投資,並不建議把過多的錢放在這裏),甚至可以通過這些錢做些自己的小買賣,切記,不要認爲你進入軟件行業,當前高薪就萬事大吉了,通曉投資,有多個領域或行業的專業能力纔不會被髮展所阻礙。
7.學習,學習,學習
重要的事情說三遍!
如果是你不想持續的學習,又對新鮮事物感覺沒有興趣,那麼勸你還是離開吧。
以上純粹是個人觀點,下面來說說,java相關的。
1.在當下,3到5年的java程序員最受市場歡迎!
爲什麼呢?親測的!本人畢業1年,在一個java後端開發工作,已離職,然後開始在南方某big city找java開發工作,投了非常多的簡歷結果石沉大海,其中部分有反饋的HR提到,具有3到5年的java程序員才招。其實某招聘軟件上的搜索結果已經說明了一切,3到5年工作經驗的要求已經佔到了大多數!咱也是很受傷,在看看,則然就轉行了~所以親測,如果你想跳槽,琢磨一下有沒有3到5經驗,(當然技術牛掰的可以忽略)。
2.實習也要勇於“談條件”
相信多數的實習生所持有的一種心態,包括當初我也是,就是:我不要那麼高工資了,只要有實習單位要的就行!雖然這樣可以降低自己尋找工作的難度,但是之後,你會發現,多數的企業也是在“利用你”在實習期創造的高效價值,卻可以光明正大的給你開很低的工資,甚至沒有應得的福利,因爲你是“實習生”,我們不缺你這個人。多數情況我們也就“忍氣吞聲”了,雖然說無妨,但當你做出的貢獻,或者在職期間創造出很高價值(或許是一些專利),那麼就要勇於談資,心理學上,勇於談資,是一種自信的體現,前提是,對於自己要正確的估值!
3.搞清楚自己開發的是啥
很多大廠出來的程序員,可能在職業生涯內都不能完完全全的熟知自己開發的是啥,這樣,在跳槽的時候對於自身的定位也就不夠清晰,只知道自己是從事java開發,擅長什麼?不知道,瞭解什麼新框架或者技術?也不知道,這是很可怕的一件事情。相對於大企業,中小企業對於你的要求或許會更多,橫向技術的瞭解需求更多,同樣是java開發,大企業的程序員知道編程標準,經理分配任務就去做,不問爲什麼以及這樣做的好處和成果。中小企業則是,程序可以了吧?編寫後測試完了沒?完成了給你公司服務器地址,自己把軟件部署一下,測試通過了和客戶說一聲!慌不慌?這大概是大廠和小廠的區別吧,大廠規範標準高效,小廠應變全能溝通。各有優勢,互爲補充。其實最建議的是,對於剛入行的小夥伴,建議先努力進入到大廠看看規範(可以通過你強大的培訓班,或者自己的各種聯繫,如果覺得自己水平不錯就直接拿項目說話),如果環境,人都很好的話,一直留在大廠發展也未嘗不可。發展一段時間後在到小廠去試試,小廠會有很大的挑戰和風險,所以去之前一定要考慮和考察清楚。
4.學java的時候,你通常要學習相關的一整個技術棧
就比如你用的是springboot開發,你多數就會接觸到它的相關技術,比如mybatis,maven,git,thymeleaf,shiro,或者一些容器比如Tomcat,操作系統Linux,虛擬化容器docker等等……還有一些其他語言,比如javascript基礎以及一些前端框架,比如bootstrap,jq,layui,vue等等,或者一些命令行操作。請相信,這些技術都是觸類旁通的,如果用心理解和學習,都會容易掌握。

總結:想抱着學java獲得一份不錯薪資工作的時代已經過去了,正是由於學習的人很多了,所以企業在也在不斷篩選和淘汰“不合格”的人才,從而優化團隊。總之,對於java的要求越來越高,找工作也相對難了不少,希望入坑小夥伴要有心理準備~

以上全部個人觀點,歡迎下面評論你的觀點,謝謝。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章