其實比起糾結學什麼程式語言,更要糾結的可能是具體崗位的專業方向,因為同樣叫“Java工程師”,具體的工作內容可能是不一樣的。
計算機科學與技術或軟體工程專業的就業方向,按工種劃分的話大概是這樣:
軟體工程師,也叫程式設計師,敲程式碼,實現上面提的需求,具體可以分為前端,後端,移動端等等,其中後端還可以繼續細分;
測試工程師,透過各種手段測試現有程式碼,找bug,調優;
運維工程師,配置伺服器,保證伺服器的高可用性,現在雲計算,虛擬化的運用算是大公司運維的標配技能;
演算法工程師,小到一個新聞的排序演算法,大到推薦演算法,都是演算法崗要完成的;
架構,可以粗暴的理解為技術負責人,技術選型,架構層次設計...
網路工程師,聽過思科認證吧,下到佈線上到組網,小公司一般沒有專門的網路工程師,不過這崗位的優勢是所有型別的,哪怕四線城市的大公司都會需要幾個;
資料庫工程師,也叫DBA,嗯,很多公司的日常就是,所有涉及資料庫的開發和維護工作都是單獨劃分出來的;
專案經理,其實專案經理才是軟體工程專業的對口工作,不過沒幾個應屆生能上這個崗位;
產品經理,不懂技術的人佔產品經理總人數的大半……
銷售工程師,售前算是諮詢師一類的角色,售後也叫技術支援工程師,在很多公司算是比較“低端”的工作了。
還有一些什麼大資料工程師的,可以算在後端或者運維裡面。硬體和嵌入式方面的不熟就不寫了。
當然還有很多不同的“工種”。這些工作崗位之間,有些互相之間有不小的鴻溝,沒辦法輕易轉,有些崗位之間技術要求類似,轉崗比較容易。有些崗位對理論知識要求比較高,比如資料科學家,不是會調幾個包就算合格了,想找到好工作的話,先讀個碩吧。
對應到技術層面,可以找個招聘網站看看,Java,前端,Python...各種各樣的崗位,都有不同的技術要求。
當然程式語言只是工具,每一種語言都可能有不同的用途,像安卓可以用Java,後臺可以用Java,搞個大資料平臺也可以用Java,互相之間對Java的技術要求類似,但工作內容完全不同。
如果題主想做碼農的話,現在就可以翻翻招聘網站,大概考慮一下自己的技術方向,查一查知乎大神推薦的學習路線,以廣度優先,從易到難的基本原則學習一些技術,還不需要擔心就業問題,廣泛瞭解為主,適當鑽研為輔。
既不要只盯著一個方向,不關心其他技術,也不要漫無目的的每個都學一點點,到畢業了也什麼都不會。最要避免的還是半途跑路,不知道多少學計算機或者對計算機“有興趣”的人,學了兩星期就把書扔一邊去了。
舉個例子,如果題主還在大一,那就先把學校裡的C++和資料結構學好,掌握基本的演算法,選擇迴圈語句,面向物件的概念,這些算是基礎中的基礎,包括你現在學的Linux,都是必須一直記住的東西。
然後選擇一些簡單的程式語言,比如php和html+css+js什麼的,去圖書館借點書,慢慢學再上手練練,也可以讀別人的專案程式碼,全面瞭解一下從一個軟體的需求,業務邏輯的設計,到前端後端的具體實現,乃至測試和運維的日常,然後差不多就能肯定自己更喜歡做什麼了。這些事情說著簡單,其實按照每天2小時的學習量,能用掉你一整年時間。
有了對全域性的大概瞭解,再靠著學校裡的專業課和長期的自學,我想你打算學什麼語言,鑽研什麼技術,向什麼方向努力,都能清楚了。想做移動端,就學好Java和安卓或者Swift和iOS,做幾個小專案試試;想做運維,就把最基本的網路作業系統配置學好,繼續學雲計算,虛擬化的部署和實施,配置和調優Hadoop等。
另外,在時間充足的學生階段,多學幾種程式語言,多掌握幾種技術,擴大就業面,應該是可行的。
“計算機科學與技術”,技術 學好了找個工作沒問題,但 科學 也是很重要的,計算機的幾大核心課程,資料結構,作業系統,網路,組成原理,編譯原理,都需要認真學。
其實比起糾結學什麼程式語言,更要糾結的可能是具體崗位的專業方向,因為同樣叫“Java工程師”,具體的工作內容可能是不一樣的。
計算機科學與技術或軟體工程專業的就業方向,按工種劃分的話大概是這樣:
軟體工程師,也叫程式設計師,敲程式碼,實現上面提的需求,具體可以分為前端,後端,移動端等等,其中後端還可以繼續細分;
測試工程師,透過各種手段測試現有程式碼,找bug,調優;
運維工程師,配置伺服器,保證伺服器的高可用性,現在雲計算,虛擬化的運用算是大公司運維的標配技能;
演算法工程師,小到一個新聞的排序演算法,大到推薦演算法,都是演算法崗要完成的;
架構,可以粗暴的理解為技術負責人,技術選型,架構層次設計...
網路工程師,聽過思科認證吧,下到佈線上到組網,小公司一般沒有專門的網路工程師,不過這崗位的優勢是所有型別的,哪怕四線城市的大公司都會需要幾個;
資料庫工程師,也叫DBA,嗯,很多公司的日常就是,所有涉及資料庫的開發和維護工作都是單獨劃分出來的;
專案經理,其實專案經理才是軟體工程專業的對口工作,不過沒幾個應屆生能上這個崗位;
產品經理,不懂技術的人佔產品經理總人數的大半……
銷售工程師,售前算是諮詢師一類的角色,售後也叫技術支援工程師,在很多公司算是比較“低端”的工作了。
還有一些什麼大資料工程師的,可以算在後端或者運維裡面。硬體和嵌入式方面的不熟就不寫了。
當然還有很多不同的“工種”。這些工作崗位之間,有些互相之間有不小的鴻溝,沒辦法輕易轉,有些崗位之間技術要求類似,轉崗比較容易。有些崗位對理論知識要求比較高,比如資料科學家,不是會調幾個包就算合格了,想找到好工作的話,先讀個碩吧。
對應到技術層面,可以找個招聘網站看看,Java,前端,Python...各種各樣的崗位,都有不同的技術要求。
當然程式語言只是工具,每一種語言都可能有不同的用途,像安卓可以用Java,後臺可以用Java,搞個大資料平臺也可以用Java,互相之間對Java的技術要求類似,但工作內容完全不同。
如果題主想做碼農的話,現在就可以翻翻招聘網站,大概考慮一下自己的技術方向,查一查知乎大神推薦的學習路線,以廣度優先,從易到難的基本原則學習一些技術,還不需要擔心就業問題,廣泛瞭解為主,適當鑽研為輔。
既不要只盯著一個方向,不關心其他技術,也不要漫無目的的每個都學一點點,到畢業了也什麼都不會。最要避免的還是半途跑路,不知道多少學計算機或者對計算機“有興趣”的人,學了兩星期就把書扔一邊去了。
舉個例子,如果題主還在大一,那就先把學校裡的C++和資料結構學好,掌握基本的演算法,選擇迴圈語句,面向物件的概念,這些算是基礎中的基礎,包括你現在學的Linux,都是必須一直記住的東西。
然後選擇一些簡單的程式語言,比如php和html+css+js什麼的,去圖書館借點書,慢慢學再上手練練,也可以讀別人的專案程式碼,全面瞭解一下從一個軟體的需求,業務邏輯的設計,到前端後端的具體實現,乃至測試和運維的日常,然後差不多就能肯定自己更喜歡做什麼了。這些事情說著簡單,其實按照每天2小時的學習量,能用掉你一整年時間。
有了對全域性的大概瞭解,再靠著學校裡的專業課和長期的自學,我想你打算學什麼語言,鑽研什麼技術,向什麼方向努力,都能清楚了。想做移動端,就學好Java和安卓或者Swift和iOS,做幾個小專案試試;想做運維,就把最基本的網路作業系統配置學好,繼續學雲計算,虛擬化的部署和實施,配置和調優Hadoop等。
另外,在時間充足的學生階段,多學幾種程式語言,多掌握幾種技術,擴大就業面,應該是可行的。
“計算機科學與技術”,技術 學好了找個工作沒問題,但 科學 也是很重要的,計算機的幾大核心課程,資料結構,作業系統,網路,組成原理,編譯原理,都需要認真學。