程序員的職業方向



.
大學生在校期間可能會有這樣的疑問:未來就業幹啥好呢?
若是你是學計算機的,未來想進入軟件和互聯網行業, 恭喜, 這是個好行業, 薪水很高, 也不需靠關係, 一切靠實力說話, 不須要有個好爸爸。
壞處是,  這個行業須要極爲繁重的腦力和體力勞動 , 加班也是司空見慣的事情。
接下來的問題是: 如今軟件和互聯網大概有哪些方向?  看看下文的解釋:
1. 首先是需求從哪裏來?  
1.1  客戶的項目
若是作的是客戶的項目, 需求固然是從客戶那裏來的,固然客戶絕對是軟件開發的小白(其實也不能這麼絕對啦, 我也見過極少客戶中很優秀的軟件人才),他們很難清楚的描述本身真正的業務要求, 這時候就須要有我的隆重出場了:  業務分析師  ,  對於大公司, 業務分析師是專職的, 對於小公司,項目經理或者開發骨幹也就硬着頭皮上了。  業務分析師須要把需求理理清楚, 交給後面的架構人員作設計。 
業務分析師若是在某個行業幹久了, 就會變成 業務專家 ,  例如你把國內各大銀行的核心繫統項目都作了個遍, 那你對銀行業務的熟悉程度甚至可能超過銀行的特定人員, 這時候你就超級值錢了, 不只僅能 分析業務 , 更可以幫助銀行 優化業務 , 你說牛不牛? 
問: 業務分析師須要懂技術嗎?   
答: 最好是懂一點,你分析出來的東西是要碼農們實現的, 若是不考慮現有的技術,一味地迎合用戶, 確定會被碼農們罵死。 
若是你是由程序員成長起來的業務專家, 技術精湛, 那就坐着數錢玩吧。 
1.2  公司的產品
若是你作的是產品, 例如微信, QQ,  淘寶 , 魔獸世界,征途, 大話西遊, 那需求實際上是本身公司的人來定義的。 
定義這個需求的如今有個時髦的職業:  產品經理 。   像張小龍就是微信的超級產品經理,  史玉柱就是征途的骨灰級產品經理。
產品經理主要根據用戶的心理和體驗來設計產品, 讓你們用的爽,好的產品經理如今很是吃香, 也屬於緊缺人才。
問: 產品經理須要懂技術嗎?
答: 須要, 最好是從程序員成長起來的, 知道一個產品設計實現的難度, 要否則只顧本身爽 , 也會被碼農罵死。
2. 設計和開發
2.1 架構師
聽起來很高大上的一個職位, 可是 須要強悍的技術實力和深厚的技術積累
架構師的成長鬚要歷練, 須要技術的廣度, 和適當的深度。
設計優雅,靈活,可擴展的架構是架構師的主要工做
不能追求最新,最熱的技術, 還要考慮現有團隊的能力,技術的成熟度。
人員需求:
難度指數:
 
2.2 web後端碼農
後端碼農主要實現業務邏輯, 提供接口給前端使用。
Java 固然是用的最多的, 可是也有別的相對小衆的像Python, ruby on rails 等, 還有就是PHP,簡單粗暴 中小網站經常使用,不管哪個,學習起來都不是很難
這一塊的人員需求是比較大的。
人員需求:
難度指數:

2.3 web前端碼農
主要是Javascript , CSS, JQuery 等, 最近幾年你們重視瀏覽器端用戶體驗, 因此也很火
人員需求:
難度指數:
2.4手機端碼農
主要是Android, iOS , 因爲移動互聯網的發展, 如今很火爆, 需求量很大, 相對而言iOS的門檻高一些,程序員也少一點,不過工資高一點。
人員需求:
難度指數:
2.5 系統編程碼農
有些需求很簡單, 有些需求很複雜, 須要支持海量的用戶 ,海量的併發, 像淘寶的雙11, 像微信的春節搶紅包
須要作雲計算,虛擬化,分佈式處理, 支持系統水平擴展。
對於海量的數據,還須要作大數據分析,從中提取有價值的信息, 例如Hadoop。 
因爲須要對操做系統,數據庫,服務器端系統作定製開發, 甚至本身搞一套, 小公司通常沒有這樣的技術能力, 主要是BAT這樣的公司在搞。
人員需求不是很大, 對碼農來說, 須要在一個領域鑽研的很是深, 技術穩定度比較好。
人員需求:
難度指數:
2.6 安全
互聯網時代, 你的信息一不留神就有可能被偷走, 安全變的愈來愈重要。 
因此單單實現了功能, 知足了性能還不夠, 不少公司,尤爲是BAT對安全很是重視。 
這個方向也須要對技術鑽研的很深才能夠
人員需求:
難度指數:
3. 測試
這個對技術要求不過高,但也須要測試相關的知識, 可以設計測試用例, 準備測試數據, 執行測試。 
如今敏捷開發流行, 對測試也要求懂開發知識, 至少可以開發一些自動化的腳本。
不少女生後來轉到了測試崗位, 我想主要是女生比較細心吧。
我在IBM見過一個很是優秀的測試人員: 她不只僅能出色完成上面說的工做, 還能夠參與設計開發的討論, 常常能從測試角度提出開發人員都沒有想到的問題,極大的幫助提高了軟件的質量。
4. 數據庫管理員
幾乎全部項目都須要數據庫的支持, 對於大型,超大型項目, 會有一個叫作DBA的職位。他對數據庫知識極爲精通,平時對數據庫進行管理, 開發時能幫助開發團隊設計數據庫,而且找出性能瓶頸, 進行性能調優。 
5. 美工/文檔
美工: 就是對界面進行美化了,通常是由美工先出界面原型, 你們討論,修改,肯定後美工會生成各類界面元素,像圖標,按鈕等。
如今對美工也有必定的技術要求, 不只僅是畫界面,還要把html模板作出來, 因此美工須要懂得 HTML,  CSS, 甚至部分Javascript。 
程序員拿到html模板後,往上添加業務代碼便可。 
文檔編寫人員:小項目通常是有人兼職作, 大的項目,產品會有人專職寫文檔, 我2003年的時候參與過上海證券交易所的項目, 看到有個專職的文檔編寫人員寫的Word , 是在是太專業了, 那個精美啊,徹底是能夠直接出版的水準。  
我把它copy下來,本身都想山寨一個, 照葫蘆畫瓢都作不出來。
6. 項目管理
項目已經開始了, 業務分析師, 架構師, 開發,測試等人一羣人如餓狼撲食,勢必要把項目撕個粉碎。
能夠這麼多人怎麼協做?  如何管理? 進度能不能按要求完成?   這就須要 項目經理 出馬了。 
項目經理,說白了就是帶着你們作項目, 主要和人打交道, 須要協調各個方面的關係, 保證項目的進展順利。 
問: 項目經理須要懂技術嗎?
答: 固然須要, 最好是開發出身, 要否則你就聽不懂那幫碼農再說什麼, 只能在表面漂浮着, 無法深刻項目,別人也就不服你 , 確定是帶很差團隊的。 
7.  運營
若是你是在開發本身的產品, 開發完成之後, 立刻就會遇到一個問題, 怎麼推廣?
在互聯網時代,世界是平的, 競爭異常激烈,一個好的軟件,或者App, 或者網站, 缺少運營, 你的技術再好也不行。
運營其實就是千方百計讓你的產品被人知道, 被人用起來,這裏邊水很深,例如怎麼寫個軟文? 怎麼在社交網絡,微信,微博進行營銷? 怎麼統計,分析,精準的定位?
這方面, 2014年之前的小米絕對是典範。 雷軍的7字訣:專一,極致,口碑, 快,  黎萬強的《參與感》 都是經典。
好的互聯網運營人才奇缺, 固然很是的吃香。
對編程不感興趣的同窗,不妨看看這個方向。 
說了這麼多職業方向, 你會發現, 絕大多數都要求懂必定的技術, 因此我其實想一想說的是: 
剛參加工做, 不妨先從程序員開始,  慢慢的再尋找本身感興趣的方向。 原文地址:http://blog.csdn.net/nylx/article/details/50801805