大學生在校期間可能會有這樣的疑問:將來就業幹啥好呢?
如果你是學計算機的,將來想進入IT和網際網路行業, 恭喜, 這是個好行業, 薪水很高, 也不需靠關係, 一切靠實力說話, 不需要有個好爸爸。
壞處是,這個行業需要極為繁重的腦力和體力勞動,加班也是司空見慣的事情。
接下來的問題是:現在軟體和網際網路大概有哪些方向?看看下文的解釋:
首先是需求從哪裡來?
1、客戶的項目
如果做的是客戶的項目,需求當然是從客戶那裡來的,當然客戶絕對是軟體開發的小白(其實也不能這麼絕對啦,我也見過極少客戶中很優秀的軟體人才),他們很難清楚的描述自己真正的業務要求,這時候就需要有個人隆重出場了。
業務分析師,對於大公司,業務分析師是專職的, 對於小公司,項目經理或者開發骨幹也就硬著頭皮上了。業務分析師需要把需求理理清楚,交給後面的架構人員做設計。
業務分析師如果在某個行業幹久了,就會變成業務專家,例如你把國內各大銀行的核心系統項目都做了個遍,那你對銀行業務的熟悉程度甚至可能超過銀行的特定人員,這時候你就超級值錢了,不僅僅能分析業務,更能夠幫助銀行優化業務,你說牛不牛?
問:業務分析師需要懂技術嗎?
答:最好是懂一點,你分析出來的東西是要碼農們實現的,如果不考慮現有的技術,一味地迎合用戶,肯定會被碼農們罵死。
如果你是由程式設計師成長起來的業務專家,技術精湛,那就坐著數錢玩吧。
2、公司的產品
如果你做的是產品,例如微信,QQ,淘寶,魔獸世界,徵途,大話西遊,那需求其實是自己公司的人來定義的。
定義這個需求的現在有個時髦的職業:產品經理。像張小龍就是微信的超級產品經理,史玉柱就是徵途的骨灰級產品經理。
產品經理主要根據用戶的心理和體驗來設計產品,讓大家用的爽,好的產品經理現在非常吃香,也屬於緊缺人才。
問:產品經理需要懂技術嗎?
答:需要,最好是從程式設計師成長起來的,知道一個產品設計實現的難度,要不然只顧自己爽 ,也會被程式設計師罵死。
設計和開發
1、架構師
聽起來很高大上的一個職位,但是需要強悍的技術實力和深厚的技術積累。
架構師的成長需要歷練,需要技術的廣度,和適當的深度。
設計優雅,靈活,可擴展的架構是架構師的主要工作。
不能追求最新,最熱的技術,還要考慮現有團隊的能力,技術的成熟度。
2、Web後端工程師
後端碼農主要實現業務邏輯,提供接口給前端使用。
Java當然是用的最多的, 但是也有別的相對小眾的像Python,ruby on rails等, 還有就是PHP,簡單粗暴,中小網站常用,無論哪一個,學習起來都不是很難。
這一塊的人員需求是比較大的。
3、 HTML5前端工程師
主要是Javascript,CSS,JQuery等,最近幾年大家重視瀏覽器端用戶體驗,瀏覽器端做的越來越炫,所以也很火。
4、手機端碼農
主要是Android,iOS,由於移動網際網路的發展,現在很火爆,需求量很大,相對而言iOS的門檻高一些,程式設計師也少一點,不過工資高一點。
5、系統編程工程師
有些需求很簡單,有些需求很複雜,需要支持海量的用戶,海量的並發,像淘寶的雙11,像微信的春節搶紅包。
需要做雲計算,虛擬化,分布式處理,支持系統水平擴展。
對於海量的數據,還需要做大數據分析,從中提取有價值的信息,例如Hadoop。
由於需要對作業系統,資料庫,伺服器端系統做定製開發,甚至自己搞一套, 小公司一般沒有這樣的技術能力,主要是BAT這樣的公司在搞。
人員需求不是很大,對程式設計師來講,需要在一個領域鑽研的非常深,技術穩定度比較好。
6、網絡安全
網際網路時代,你的信息一不留神就有可能被偷走,安全變的越來越重要。
所以單單實現了功能,滿足了性能還不夠,很多公司,尤其是BAT對安全非常重視。
這個方向也需要對技術鑽研的很深才可以。
7、測試
這個對技術要求不太高,但也需要測試相關的知識,能夠設計測試用例,準備測試數據, 執行測試。
現在敏捷開發流行,對測試也要求懂開發知識,至少能夠開發一些自動化的腳本。
很多女生後來轉到了測試崗位,我想主要是女生比較細心吧。
我在IBM見過一個非常優秀的測試人員:她不僅僅能出色完成上面說的工作, 還可以參與設計開發的討論, 經常能從測試角度提出開發人員都沒有想到的問題,極大的幫助提升了軟體的質量。
8、數據分析
這裡所指的的偏技術方向的數據科學家!這類數據分析人才更吃香!技術含金量更高。
這類分析師主要負責建立數據模型,預測數據,以及將建立模型的代碼對接進入系統實現自動化,因此這類分析師大多是統計學畢業,對編程能力要求也較高。
因為學歷和技能要求高,薪資比上面所提數據分析人才更高。以職友集提供的數據報告來看,平均薪資在2w+。
9、UI/文檔
UI:就是對界面進行美化了,一般是由設計師先出界面原型,大家討論,修改,確定後美工會生成各種界面元素,像圖標,按鈕等。
現在對設計師也有一定的技術要求,不僅僅是畫界面,還要把html模板做出來, 所以美工需要懂得 HTML,CSS,甚至部分Javascript。
程式設計師拿到html模板後,往上添加業務代碼即可。
文檔編寫人員:小項目一般是有人兼職做,大的項目,產品會有人專職寫文檔, 我2003年的時候參與過上海證券交易所的項目,看到有個專職的文檔編寫人員寫的Word,實在是太專業了,那個精美啊,完全是可以直接出版的水準。
我把它copy下來,自己都想山寨一個,照葫蘆畫瓢都做不出來。
10、項目管理
項目已經開始了,業務分析師,架構師,開發,測試等人一群人如餓狼撲食,勢必要把項目撕個粉碎。
可以這麼多人怎麼協作?如何管理?進度能不能按要求完成? 這就需要項目經理出馬了。
項目經理,說白了就是帶著大家做項目,主要和人打交道,需要協調各個方面的關係,保證項目的進展順利。
問:項目經理需要懂技術嗎?
答:當然需要,最好是開發出身,要不然你就聽不懂那幫碼農再說什麼,只能在表面漂浮著,沒法深入項目,別人也就不服你 ,肯定是帶不好團隊的。
說了這麼多職業方向, 你會發現, 絕大多數都要求懂一定的技術, 所以我其實想想說的是:
剛參加工作, 不妨先從程式設計師開始, 慢慢的再尋找自己感興趣的方向。