『壹』 程序員未來有哪些發展方向
絕大多數程序員最終的職業目標可能都是CTO,做到CEO的人估計會比較少,也有一少部分人自己去創業去當老闆,也有部分人轉行了,當老闆的牛人也有。一般來說,程序員的發展基本上都會經歷這么幾條路徑。程序員-系統分析員-架構師-技術經理-CTO,程序員-項目組長-項目經理-項目總監-CTO,程序員-產品設計師-產品經理-CTO。
當然這只是一個大致的路徑,不是所有程序員都必需要這么經歷的,有些人可能跳過其中的一些步驟,也可能有些人會把中間的很多職位都做了。而很顯然,CTO,是大多數程序員的終極夢想。
也就是說,許多的程序員最終可能是做技術經理、項目經理或者項目總監之類的,那麼到底我們職業生涯要選擇哪一種呢?我覺得這個問題沒有一個統一的答案,因為每個人的個性和情況不同。但有一點是重要的,一是有際遇一定要抓住,二是自己要努力。
比如說你正好有機會帶一個項目,而你又不是很討厭項目經理這個位置,那麼你就可以考慮向項目經理發展。因為老闆讓你做,說明他看到你有這個素質和潛力。要相信別人的眼光。
但是大多數人是遇不見這么好的伯樂的,那就要自己努力。沒有能力就學能力,沒有知識就學知識,沒有氣場就每天照鏡子練。如果你的確不知道怎樣才能從眾多的程序員中脫穎而出,那麼就去參加培訓,培訓別選學費巨貴的,選有特色還不貴的。用一兩個月工資,可以換來你能力的快速提升。
再說有些公司,並沒有明確的技術經理、項目經理、產品經理之分,在許多的公司里,他們經常是幾個人混搭的。在外包公司里,通常會有項目經理和系統分析員(也可能是技術經理)。在一些非IT公司里,可能會是部門經理,而做自己產品的公司可能會分得比較詳細一些。我大致說一下這三個職位的區別,讓正在徘徊的程序員有一個大致的了解。
項目經理是項目的直接負責人,這個角色相當於一個中間介面,不管是團隊成員還是需求方(客戶),或者是上級領導,有事都直接找他,所以這個職位著重於管理與溝通。一般來說,項目經理的工作重點在同客戶溝通需求、項目進度的把控、團隊的溝通方面,有些公司也會需要項目經理承擔團隊建設的工作,不過貌似很多國內公司都忽略了團隊建設這個工作了。對於項目經理來說,重點會要求溝通能力、協調能力、危機把控能力、執行力、團隊管理能力,著重於溝通、管理與計劃。當然也有些公司還要求項目經歷要參與招標談判,這就要求項目經理有一定的商務談判能力。
技術經理有時候也可能叫系統分析員,一些小公司可能會整個部門有一個技術經理。技術經理承擔的角色主要是系統分析、架構搭建、系統構建、代碼走查等工作,如果說項目經理是總統,那麼技術經理就是總理。當然不是所有公司都是這樣的,有些公司項目經理是不管技術團隊的,只做需求、進度和同客戶溝通,那麼這個時候的項目經理就好像工廠里的跟單人員了,這種情況在外包公司比較多。對於技術經理來說,著重於技術方面,你需要知道某種功能用哪些技術合適,需要知道某項功能需要多長的開發時間等。同時,技術經理也應該承擔提高團隊整體技術水平的工作。
產品經理這個職位一般在有自己產品(不管是軟體還是網站產品)的公司比較常見,產品經理主要會負責產品的設計、產品的改良等工作。需要注意的是,產品設計與設計師是兩個不一樣的工作,產品設計主要會從用戶體驗、業務需要等層面去設計產品,而設計師更多是從用戶的視覺上去做。產品經理應該是最懂業務的人,比如說你在設計一個微博的產品,就要求你對微博這個東西非常熟悉,從用戶習慣、用戶體驗、公司的發展戰略上去設計這個產品,還要對比同類產品會有什麼優勢等等。
不管是項目經理還是技術經理與產品經理,都要求要熟悉業務,業務是需求的來源,沒有不談業務的技術,所以不管你從哪個方向發展,都要求對業務熟悉。產品經理要求對業務最熟悉,項目經理次之,技術經理排最後。對於程序員來說,剛開始工作的前幾年可以埋頭扎到技術裡面,一般這個時間在2-3年的時間,然後就應該多關注業務了。這個業務不一定是指某個具體的業務,因為具體的業務的范圍太少,而且也需要機遇。
我見過許多的程序員,他們是做Web開發的,但對互聯網很不熟悉,對於互聯網流行的趨勢基本上不聞不問。不知道現在大家都在使用微博,也不知道SNS,也可能從不使用網銀。我覺得這樣很不好,程序員應該多多去關注互聯網的發展,多多去玩一些新的網站。
對技術不敏感、不興奮的人,對進步和快速提高沒有強烈慾望的人,是沒有辦法在IT界生存下去的。
『貳』 程序員如何選擇自己的職業方向
作為一名程序員,在選擇自身的發展方向時一定要和企業的發展方向相吻合,程序員是一個偏向於技術的崗位,如果希望在技術上快速提升,除了學習更多的需要去實踐,只有將技術應用到實際場景中才能發揮它的價值,通過企業提供的平台,將學習的知識應用到實際環境中,做到學以致用,才能不斷提升自身的技術能力。將個人的發展和公司平台相結合,同步同調、同頻共振才能相互促進,通過個人能力的提升來壯大平台,同時通過平台的提升促進自身的快速發展。
在中國當前的軟體行業發展來看很少有純技術的程序員,軟體行業本質也是服務行業,必須跟業務行業相結合才能價值外顯。軟體行業也是一個快速發展的行業,新技術、新工具、新模式層出不窮,需要不斷的學習和掌握,如果不是真正熱愛很難堅持深入學習、長年奮戰在技術一線。隨著年齡的增大、家庭的牽絆,絕大部分程序員的精力是很難和年輕人相比的,所以大部分程序員都會向其他方向發展,如:產品經理、技術總監、售前咨詢、運營管理等,一般情況下前兩者比較多,因為二者偏向於技術,轉型比較容易;售前咨詢對業務能力、行業理解的要求較高;運營管理則強調更長的企業資歷、更好的協作能力等。無論哪一個發展方向,都是需要不斷學習、不斷積累的,只有掌握一套好的學習方法和工作方法,快速提升自身能力,才能走的更高、更遠。
『叄』 程序員 方向 有哪些
java程序員的發展前景還是很不錯的,是應用層最主流的語言,對於處於信息高速發達的今天,JAVA技術已經無處不在,手機軟體、手機JAVA游戲、電腦軟體等等。有幾年工作經驗的java程序員發展方向大致有兩個:
1、走管理方向:做項目經理等。
2、走技術方向:做高級java工程師、架構師等
總體上java程序員的發展還是很好的。
『肆』 程序員最好的職業方向是哪些
現在軟體和互聯網大概有哪些方向?程序員的職業方向又有那些?
首先是需求從哪裡來?
客戶的項目
如果做的是客戶的項目,需求當然是從客戶那裡來的。客戶絕大多數是軟體開發的小白,但我也見過客戶是優秀的軟體人才,他們很難清楚地描述自己真正的業務要求,這時候就需要有個人隆重出場了:業務分析師。對於大公司,業務分析師是專職的,對於小公司,項目經理或者開發骨幹也就硬著頭皮上了。業務分析師需要把需求理理清楚,交給後面的架構人員做設計。
業務分析師如果在某個行業干久了,就會變成業務專家,例如你把國內各大銀行的核心系統項目都做了個遍,那你對銀行業務的熟悉程度甚至可能超過銀行的特定人員,這時候你就超級值錢了,不僅僅能分析業務,更能夠幫助銀行優化業務,你說牛不牛?
問:業務分析師需要懂技術嗎?
答:最好是懂一點,你分析出來的東西是要程序員們實現的,如果不考慮現有的技術,一味地迎合用戶,肯定會被程序員們罵死。
如果你是由程序員成長起來的業務專家,技術精湛,那就坐著數錢玩吧。
公司的產品
如果你做的是產品,例如微信、QQ、淘寶、魔獸世界、征途、大話西遊,那需求其實是自己公司的人來定義的。
定義這個需求的現在有個時髦的職業:產品經理。像張小龍就是微信的超級產品經理,史玉柱就是征途的骨灰級產品經理。
產品經理主要根據用戶的心理和體驗來設計產品,讓大家用的爽,好的產品經理現在非常吃香,也屬於緊缺人才。
問:產品經理需要懂技術嗎?
答:需要,最好是從程序員成長起來的,知道一個產品設計實現的難度,不然只顧自己爽,也會被程序員罵死。
設計和開發
架構師
聽起來很高大上的一個職位,但是需要強悍的技術實力和深厚的技術積累。架構師的成長需要歷練,需要技術的廣度和適當的深度。設計優雅、靈活、可擴展的架構是架構師的主要工作。
不能只追求最新、最熱的技術,還需要考慮現有團隊的能力,技術的成熟度。
人員需求:★
難度指數:★★★★★
web 後端程序員
後端程序員主要實現業務邏輯,提供介面給前端使用。
Java 當然是用的最多的,但是也有別的相對小眾的像 Python、ruby on rails 等,還有就是 PHP,簡單粗暴,中小網站常用,無論哪一個,學習起來都不是很難。
這一塊的人員需求是比較大的。
人員需求:★★★★★
難度指數:★★★
web 前端程序員
主要是 Java、CSS、JQuery 等,最近幾年大家重視瀏覽器端用戶體驗,瀏覽器端做得越來越炫,所以也很火。
人員需求:★★★★★
難度指數:★★★
手機端程序員
主要是 android、iOS,由於移動互聯網的發展,現在很火爆,需求量很大,相對而言 iOS 的門檻高一些,程序員也少一點,不過工資高一點。
人員需求:★★★★
難度指數:★★★★
系統編程程序員
有些需求很簡單,有些需求很復雜,需要支持海量的用戶,海量的並發,像淘寶的「雙十一」, 像微信的春節搶紅包。
需要做雲計算,虛擬化,分布式處理,支持系統水平擴展。對於海量的數據,還需要做大數據分析,從中提取有價值的信息,例如 Hadoop。由於需要對操作系統,資料庫,伺服器端系統做定製開發,甚至自己做一套,小公司一般沒有這樣的技術能力,主要是 BAT 這樣的公司在做。人員需求不是很大,對程序員來講,需要在一個領域鑽研得非常深,技術穩定度比較好。
人員需求:★★
難度指數:★★★★★
安全
互聯網時代,你的信息一不留神就有可能被偷走,安全變得越來越重要。所以單單實現了功能,滿足了性能還不夠,很多公司,尤其是 BAT 對安全非常重視。當然這個方向也需要對技術鑽研得很深才可以。
人員需求:★★
難度指數:★★★★★
測試
這個對技術要求不太高,但也需要測試相關的知識,能夠設計測試用例,准備測試數據,執行測試。
現在敏捷開發流行,對測試也要求懂開發知識,至少能夠開發一些自動化的腳本。很多女生後來轉到了測試崗位,我想主要是因為女生比較細心。我在 IBM 見過一個非常優秀的測試人員:她不僅僅能出色完成上面指派的工作,還可以參與設計開發的討論,經常能從測試角度提出開發人員都沒有想到的問題,極大地幫助提升了軟體的質量。
資料庫管理員
幾乎所有項目都需要資料庫的支持,對於大型、超大型項目,會有一個叫做 DBA 的職位。他對資料庫知識極為精通,平時對資料庫進行管理,開發時能幫助開發團隊設計資料庫,並且找出性能瓶頸,進行性能調優。
美工 / 文檔
美工
主要是對界面進行美化,一般是由美工先出界面原型,大家討論,修改,確定後美工會生成各種界面元素,像圖標、按鈕等。
現在對美工也有一定的技術要求,不僅僅是畫界面,還要把 html 模板做出來,所以美工需要懂得 HTML、CSS,甚至部分 Java。程序員拿到 html 模板後,往上添加業務代碼即可。
文檔編寫人員
小項目一般是團隊中有人兼職做,大的項目、產品會有人專職寫文檔, 我 2003 年的時候參與過上海證券交易所的項目,看到有個專職的文檔編寫人員寫的 Word,非常專業、精美,完全是可以直接出版的水準。我把它 下來,自己都想山寨一個,但照葫蘆畫瓢都做不出來。
項目管理
項目已經開始了,業務分析師、架構師、開發、測試等一群人如餓狼撲食,勢必要把項目撕個粉碎。可是這么多人怎麼協作? 如何管理?進度能不能按要求完成?這就需要項目經理出馬了。
項目經理,說白了就是帶著大家做項目,主要和人打交道,需要協調各個方面的關系,保證項目的進展順利。
問:項目經理需要懂技術嗎?
答:當然需要,最好是開發出身,要不然你就聽不懂那幫程序員在說什麼,只能在表面漂浮著,無法深入項目,別人也就不服你,團隊肯定是帶不好的。
運營
如果你是在開發自己的產品,開發完成以後,馬上就會遇到一個問題,怎麼推廣?
在互聯網時代,世界是公平的,競爭異常激烈,一個好的軟體、App 或者網站,如果缺乏運營,你的技術再好也不行。
運營其實就是想方設法讓你的產品被人知道,被人用起來,這里邊水很深,例如怎麼寫個軟文?怎麼在社交網路、微信、微博進行營銷?怎麼統計,分析,精準地定位?
這方面,2014 年以前的小米絕對是典範。雷軍的 7 字訣:專注、極致、口碑、快。 黎萬強的《參與感》 都是經典。
好的互聯網運營人才奇缺,當然非常的吃香。對編程不感興趣的同學,不妨看看這個方向。
說了這么多職業方向,你會發現,絕大多數都要求懂一定的技術,所以我其實想說的是:剛參加工作,不妨先從程序員開始,慢慢地再尋找自己感興趣的方向。
『伍』 做程序員的方向
不管是java還C只要自己想做愛做都有發展。你也可以找java c/s工作方向的工作。java你也可以去做android開發。你想去學C也不錯,只是周期肯定比你java去做android要長。移動技術、通信技術和嵌入式方向開發永遠都不會落幕。如果你想做游戲,那就可以學習C、C++很多網路游戲都是這個開發的,學了就算不做游戲也會有很多工作機會
『陸』 程序員的發展方向
有幾個當一輩子程序員的,一般就是程序員,項目組長,項目經理,技術總監,一級一級往上爬,不過也有不少後期干業務的,比較適合交際能力比較強的程序員。
『柒』 Java程序員的發展方向有哪些
其實Java可以做的東西實在太多了,網站、軟體、手機游戲、電腦游戲、中間件以及現在流行的安卓手機app等,都是由Java語言編寫的;除了這些,Java還有很多用途,家裡的微波爐、洗衣機等家電也有可能是Java控制的。
1、編寫網站
現在許多大型網站都是用Java編寫的,比如我們熟悉的電子商務交易平台阿里巴巴、淘寶、京東都是使用Java編寫的。
即使是簡單的jsp、servlet,和以struts為基礎的網站,在政府項目中也是很受歡迎的,例如保險、教育、醫療、國防等部門的網站都是以Java基礎來開發的。
2、Android應用
Java做安卓不單單是系統,還有APP。對於如今的開發人員來說,他們更多的時間是花在開發APP上面。
你在Android手機上,隨便打開一個App應用,都是用Java語言編寫。雖然現在Android運用了不同的JVM以及不同的封裝方式,但是代碼還是用Java語言編寫的。
3、大型企業伺服器應用
很多大型企業管理系統、CRM系統,ERP系統主要使JAVA編寫。例如移動、聯通、電信等通訊行業的客戶管理系統,快遞公司的物流系統離不開Java;交通工具的訂票系統絕大部分也是使用Java開發的。
4、做軟體工具
一般來說,編程語言都可以做軟體,Java也不例外,許多常用的軟體和開發工具都是運用Java來編寫和開發的,例IneteliJIdea、Eclipse,NetbansIDE等。
5、嵌入式領域及消費類電子產品
Java在嵌入式領域發展空間很大,對於嵌入式系統來說,Java技術因為比C語言和匯編語言有很明顯的優越性,而受到了嵌入式領域的青睞,並得到了大量的研究與開發應用。
嵌入式設備及消費類電子產品,主要用JavaMe,信息家電(如數字電視、機頂盒、電冰箱)、無線手持設備、通信終端、醫療設備、汽車電子設備等都是比較熱門的Java應用領域。
6、大數據技術
Java最大的優勢之一是它在大數據領域的地位,目前很多的大數據的架構都是通過Java來完成的。
例如現在最主流的大數據框架Hadoop的應用主要用Java開發的;Apache的基於Java的HBase和Accumulo以及ElasticSearchas。