“互聯網IT包含如下職位:前段開發、后端開發、移動端開發、大數據、項目管理、測試、運維、技術管理等八大領域。
架構師每個產品線都有架構師,在技術平臺部門也需要技術平臺的架構師。
架構師負責設計系統整體架構,從需求到設計的每個細節都要考慮到,把握整個項目,使設計的項目盡量效率高,開發容易,維護方便,升級簡單。
1、架構分析:從功能性的需求中識別出需要增加的非功能性需求,好滿足性能、可擴展、集成、安全、可運維、高可用、易部署、易更新。并且識別非功能型需求后,還要做技術選型、技術架構風險識別、技術實現工作量評估。
2、架構設計與實現:完成非功能性模塊的架構設計、接口設計、代碼實現,所以,需要的是有代碼實現能力還要有架構思維的工程師,而不是畫PPT的工程師。
3、業務架構設計與實現:需要對跨系統的接口進行識別、實現、維護,需要對能寫成公共代碼類庫的進行分析、識別、接口設計、實現、變更維護。
4、重構:架構師需要經常做Bug分析、非模板性和公共類庫代碼檢查,以發現代碼腐爛程度,以發現還有哪些代碼沒有做出很好的架構與精心的代碼設計。所以,重構是經常性維護發生的,不是攢到某一刻動大手術,甚至推翻重做,那就不叫重構了。
前端開發工程師1、使用Div+css并結合Javascript負責產品的前端開發和頁面制作;
2、熟悉W3C標準和各主流瀏覽器在前端開發中的差異,能熟練運用DIV+CSS,提供針對不同瀏覽器的前端頁面解決方案;
3、負責相關產品的需求以及前端程序的實現,提供合理的前端架構;
4、與產品、后臺開發人員保持良好溝通,能快速理解、消化各方需求,并落實為具體的開發工作;
5、了解服務器端的相關工作,在交互體驗、產品設計等方面有自己的見解。
后端開發工程師實現功能開發,讓功能可用、易用,「程序猿」是最直接的描述,寫代碼的牛人或者普通人。
是什么給網站前端提供支持?數據存放在哪里?這就涉及后端內容了。網站后端包括服務器、應用還有數據庫。后端開發者構建并維護這些組件,為網站提供多方面支持。
為了讓服務器、應用、數據庫能夠彼此交互,后端工程師需要具有如下技能:
用于應用構建的服務器端語言: PHP, Ruby, Python, Java, .Net 等;
數據相關工具: MySQL, Oracle, SQL Serve
PHP框架: Zend, Symfony, CakePHP
Java框架:SSH、SSM
版本控制工具:SVN, CVS , Git 等
還要熟練使用 Linux 作為開發和部署環境。
移動開發工程師移動客戶端的開發類型主要是三種:
Native App(原生APP)
也就是完全使用移動設備系統語言寫的客戶端,iPhone iPad就是純Object-C,安卓就是純JAVA, 就是用戶看到的界面啦體驗到的交互啦都是原生的。這是性能最棒的開發方式,但靈活性就沒下面的好。
Web App
這個就是在移動瀏覽器里打開的,純HTML+CSS+JS,說白了就是個網頁,只不過非常的富應用,比如手機瀏覽器訪問的GMAIL啥啥的。但說白了就是在瀏覽器里打開的頁面。
Hybrid App.[HTML5 in mobile devices]
實際上是使用原生寫了一個容器,然后使用HTML+CSS+JS來實現用戶界面和交互。
大數據崗位
大數據主要有以下職位1.數據分析師Data analyst
指熟悉相關業務,熟練搭建數據分析框架,掌握和使用相關的分析常用工具和基本的分析方法,進行數據搜集、整理、分析,針對數據分析結論給管理銷售運營提供指導意義的分析意見。
2.數據架構師Data architect
對Hadoop解決方案的整個生命周期進行引導,包括需求分析,平臺選擇,技術架構設計,應用設計和開發,測試和部署。深入掌握如何編寫MapReduce的作業及作業流的管理完成對數據的計算,并能夠使用Hadoop提供的通用算法, 熟練掌握Hadoop整個生態系統的組件如: Yarn,HBase、Hive、Pig等重要組件,能夠實現對平臺監控、輔助運維系統的開發。
3.大數據工程師Big DataEngineer
收集和處理大規模的原始數據(包括腳本編寫,網頁獲取,調用APIs,編寫SQL查詢等);將非結構化數據處理成適合分析的一種形式,然后進行分析;根據所需要的和專案分析商業決策。
4.數據倉庫管理員Data warehousemanager
指定并實施信息管理策略;協調和管理的信息管理解決方案;多個項目的范圍,計劃和優先順序安排;管理倉庫的各個方面,比如數據外包,移動,質量,設計和實施。
5.數據庫管理員Database manager
提高數據庫工具和服務的有效性;確保所有的數據符合法律規定;確保信息得到保護和備份;做定期報告;監控數據庫性能;改善使用的技術;建立新的數據庫;檢測數據錄入程序;故障排除。
6.商業智能分析員Businessintelligence analyst
就工具,報告或者元數據增強來進行傳播信息;進行或協調測試,以確保情報的定義與需求相一致;使用商業智能工具來識別或監測現有和潛在的客戶;綜合目前的商業只能和趨勢數據,來支持采取行動的建議;維護或更新的商業智能工具,數據庫,儀表板,系統或方法;及時的管理用戶流量的商業情報。
7.數據庫開發員Databasedeveloper
設計,開發和實施基于客戶需求的數據庫系統;優化數據庫系統的性能效率;準備設計規范和功能單證的分配數據庫的項目;對數據庫系統進行空間管理和容量規劃;建立數據庫表和字典;參與數據庫設計和架構,以支持應用程序開發項目;執行數據備份和檔案上定期;測試數據庫,并進行錯誤修正;及時解決數據庫相關的問題;制定安全程序,以保護數據庫免受未經授權的使用;評估現有的數據庫,并提出改進建議的執行效率;開發用于數據庫設計和開發活動的最佳實踐。
項目管理協調技術、產品、運營等部門把產品更好的實現,大部分公司叫項目經理,一般屬于技術部門。由于現在的互聯網發展太快,還衍生出了敏捷教練這個崗位,幫助技術、產品、運營部門更好的協作,通過引入敏捷開發的方式優化產品研發流程,以及解決部門之間的協調問題等。
軟件項目經理
1、 基本職責就是確保項目目標的實現,領導項目團隊準時、優質地完成全部工作。
2、 與客戶溝通,了解項目的整體需求。并與客戶保持一定的聯系,即時反饋階段性的成果,和即時更改客戶提出的合理需求。
3、 制定項目開發計劃文檔,量化任務,并合理分配給相應的人員。
4、 跟蹤項目的進度,協調項目組成員之間的合作。
5、 監督產生項目進展各階段的文檔,并與QA即時溝通,保證文檔的完整和規范。
6、 開發過程中的需求變更,項目經理需要跟客戶了解需求,在無法判斷新的需求對項目的整理影響程度的情況下,需同項目組成員商量,最后決定是否接收客戶的需求,然后再跟客戶協商。確定要變更需求的情況下,需產生需求變更文檔,更改開發計劃,通知QA。
7、 項目提交測試后,項目經理需了解測試結果,根據測試的bug的嚴重程度來重新更改開發計劃。
8、 向上匯報。向上級匯報項目的進展情況,需求變更等所有項目信息。
9、 項目完成的時候需要項目總結,產生項目總結文檔。
敏捷教練
1.參與公司產品工程與項目管理體系的建立和完善;
2.在項目開發過程中,能夠提供必要的培訓,例如精益創業,用戶研究,產品規劃,面向對象設計、持續集成、需求拆分等;
3.對產品團隊進行日常操作輔導,幫助產品經理識別問題和風險,在軟件交付和質量保證方面,進行持續改進;
4.進入團隊進行產品管理相關的度量,定期完成分析報告,向上級領導匯報,支持事業部和公司的管理與決策;
5.協調各部門之間的工作,負責項目資源的協調和有效使用,以達到項目進度目標;
6.作為內部咨詢師進入產品團隊,引入敏捷開發實踐或產品工程實踐,結合產品與團隊特點,制定有針對性的效率提升方案;
7.對產品經理和團隊進行培訓,提高其能力和技巧。
運維工程師確保后臺不出問題,確保服務器、網絡出現了問題能夠及時的修復,等等。服務器、帶寬夠不夠,一個大活動需要備機,都要找他們。
測試崗位其實測試嚴格來說也分,功能測試、性能壓力測試、接口測試崗位。
技術管理崗位一般能做到管理崗位,最好是從基層做起,最后通過進階一步步走到管理崗位,這樣的人最適合做管理。
涉及到的崗位有技術經理、技術總監、CTO
技術經理如果不懂技術,這個玩笑就大了。如果做到技術總監了,還不懂技術架構,項目管理等,也是同一個道理。大家都知道的是CTO,其實該崗位對人的要求非常高,不管是廣度還是深度都要求極高,需要懂具體的技術架構,項目管理,能帶稍微大一點的團隊,懂互聯網安全以及性能,能把握產品的方向和對行業的深入了解,當然也需要懂人性。
CTO涉及到的崗位核心職責,可以參考優知學院另外一篇文章:我眼中最優秀的CTO長啥樣。
優知學院(youzhixueyuan.com)是IT人的升職加薪進階站,BAT產品技術總監經驗分享平臺,免費提供系統的互聯網產品技術從入門到進階最牛干貨。