A. 程序員未來有哪些發展方向
絕大多數程序員最終的職業目標可能都是CTO,做到CEO的人估計會比較少,也有一少部分人自己去創業去當老闆,也有部分人轉行了,當老闆的牛人也有。一般來說,程序員的發展基本上都會經歷這么幾條路徑。程序員-系統分析員-架構師-技術經理-CTO,程序員-項目組長-項目經理-項目總監-CTO,程序員-產品設計師-產品經理-CTO。
當然這只是一個大致的路徑,不是所有程序員都必需要這么經歷的,有些人可能跳過其中的一些步驟,也可能有些人會把中間的很多職位都做了。而很顯然,CTO,是大多數程序員的終極夢想。
也就是說,許多的程序員最終可能是做技術經理、項目經理或者項目總監之類的,那麼到底我們職業生涯要選擇哪一種呢?我覺得這個問題沒有一個統一的答案,因為每個人的個性和情況不同。但有一點是重要的,一是有際遇一定要抓住,二是自己要努力。
比如說你正好有機會帶一個項目,而你又不是很討厭項目經理這個位置,那麼你就可以考慮向項目經理發展。因為老闆讓你做,說明他看到你有這個素質和潛力。要相信別人的眼光。
但是大多數人是遇不見這么好的伯樂的,那就要自己努力。沒有能力就學能力,沒有知識就學知識,沒有氣場就每天照鏡子練。如果你的確不知道怎樣才能從眾多的程序員中脫穎而出,那麼就去參加培訓,培訓別選學費巨貴的,選有特色還不貴的。用一兩個月工資,可以換來你能力的快速提升。
再說有些公司,並沒有明確的技術經理、項目經理、產品經理之分,在許多的公司里,他們經常是幾個人混搭的。在外包公司里,通常會有項目經理和系統分析員(也可能是技術經理)。在一些非IT公司里,可能會是部門經理,而做自己產品的公司可能會分得比較詳細一些。我大致說一下這三個職位的區別,讓正在徘徊的程序員有一個大致的了解。
項目經理是項目的直接負責人,這個角色相當於一個中間介面,不管是團隊成員還是需求方(客戶),或者是上級領導,有事都直接找他,所以這個職位著重於管理與溝通。一般來說,項目經理的工作重點在同客戶溝通需求、項目進度的把控、團隊的溝通方面,有些公司也會需要項目經理承擔團隊建設的工作,不過貌似很多國內公司都忽略了團隊建設這個工作了。對於項目經理來說,重點會要求溝通能力、協調能力、危機把控能力、執行力、團隊管理能力,著重於溝通、管理與計劃。當然也有些公司還要求項目經歷要參與招標談判,這就要求項目經理有一定的商務談判能力。
技術經理有時候也可能叫系統分析員,一些小公司可能會整個部門有一個技術經理。技術經理承擔的角色主要是系統分析、架構搭建、系統構建、代碼走查等工作,如果說項目經理是總統,那麼技術經理就是總理。當然不是所有公司都是這樣的,有些公司項目經理是不管技術團隊的,只做需求、進度和同客戶溝通,那麼這個時候的項目經理就好像工廠里的跟單人員了,這種情況在外包公司比較多。對於技術經理來說,著重於技術方面,你需要知道某種功能用哪些技術合適,需要知道某項功能需要多長的開發時間等。同時,技術經理也應該承擔提高團隊整體技術水平的工作。
產品經理這個職位一般在有自己產品(不管是軟體還是網站產品)的公司比較常見,產品經理主要會負責產品的設計、產品的改良等工作。需要注意的是,產品設計與設計師是兩個不一樣的工作,產品設計主要會從用戶體驗、業務需要等層面去設計產品,而設計師更多是從用戶的視覺上去做。產品經理應該是最懂業務的人,比如說你在設計一個微博的產品,就要求你對微博這個東西非常熟悉,從用戶習慣、用戶體驗、公司的發展戰略上去設計這個產品,還要對比同類產品會有什麼優勢等等。
不管是項目經理還是技術經理與產品經理,都要求要熟悉業務,業務是需求的來源,沒有不談業務的技術,所以不管你從哪個方向發展,都要求對業務熟悉。產品經理要求對業務最熟悉,項目經理次之,技術經理排最後。對於程序員來說,剛開始工作的前幾年可以埋頭扎到技術裡面,一般這個時間在2-3年的時間,然後就應該多關注業務了。這個業務不一定是指某個具體的業務,因為具體的業務的范圍太少,而且也需要機遇。
我見過許多的程序員,他們是做Web開發的,但對互聯網很不熟悉,對於互聯網流行的趨勢基本上不聞不問。不知道現在大家都在使用微博,也不知道SNS,也可能從不使用網銀。我覺得這樣很不好,程序員應該多多去關注互聯網的發展,多多去玩一些新的網站。
對技術不敏感、不興奮的人,對進步和快速提高沒有強烈慾望的人,是沒有辦法在IT界生存下去的。
B. 程序員的行業現狀
由CSDN、《程序員》主辦的2007年開發者大調查2007年底已收到15000多份有效問卷,已經是中國調查樣本最多的開發者調查。在這次調查中,詳細的分析了樣本空間的分布狀況,發現在龐大數目的有效問卷的參與者中有70%也就是接近一萬一千名的參與調查者是IT的全職人員,14%的參與者是有過開發工作經驗的學生,從這樣的分布就可以看出來IT從業人員對專業知識的需求是巨大而迫切的,CSDN作為專業的軟體開發技術門戶網站,已經是大家獲取這些技術知識的主要手段。
一、選擇資料庫技術和互聯網技術的人數總和佔到了總人數的一半
2007年火熱的SOA和動態語言各佔13%和12%。其實這幾大塊技術分布他們之間都是有一定的聯系的,互聯網的發展近兩年呈爆炸式的增長態勢,中國的網民總數已經超過了1.4億這樣一個巨大的數字。
企業中業務的復雜程度越來越高,商業競爭不斷增加企業的IT系統,使企業的商業數據呈幾何數量級不斷增長,在後台海量的數據中數據的管理由之前的單一型數據變成了多緯度的復雜數據,所以可以同時管理關系型資料庫和XML數據的混合型資料庫已經成為主流。
面對企業不斷增加新的IT信息系統,整合已經迫在眉睫,SOA成為必然的趨勢,企業對人才的需求從單一型技術人才、業務人才跳躍到了業務技術的復合型人才,這次的開發人員大調查令《程序員》雜志的調查者看到了這些技術焦點背後千絲萬縷的關聯。
二、幾乎一半的.NET用戶不參與開源項目RedHat+Ubuntu佔有率超過70%
應用到.NET平台上的開源項目,「大量使用」的比例數僅為8.68%,尚不足一成;「少量應用」的開發者人數比例為42.78%。「基本不用」的比例高達48.54%,與前二者之和幾乎不相上下。
雖然開源的出現和發展,讓軟體沒有壟斷的未來日漸明朗;雖然開源運動經過多年的高速發展,現在已經聚集了相當的力量,開源的自由和給予理念逐漸深入到了企業的技術核心層面。但微軟以商業軟體為生,畢竟在微軟技術領域中,開源項目通常都被看作是二等公民。很多開源項目對.NET社區產生了巨大的推動作用,微軟公司很難提供任何實質性質的支持。
linux版本
當前安裝有Linux操作系統,數據中RedHatFedora占據絕對優勢——Linux使用者使用該版本占總數的49.49%。Fedora是RedHat推出的重要的一款Linux版本,在每個fedora版本中都是集成最新的Linux軟體,特別是服務端軟體。
使用「RedHatFedora」關鍵詞在網路網頁中搜索得到7,090,000條結果,RedHatFedora在調查中占據Linux版本的半壁江山符合整個Linux版本的分布情況。
排在第二位的是Ubuntu,受支持數佔到總數的23.92%;第三位的是SuSE佔9.09%,接下來是Debian,使用率為5.92%。在這裡面令人期待的中國本土Linux的讓人大失所望。使用率僅佔5.16%,幾乎只有RedHatFedora的十分之一。
三、揭示八成技術人員資料庫選型標准SQLServer用戶接近50%
使用率占據榜首的資料庫產品是微軟的SQLServer,比例數達到了47.92%。與其餘所有的資料庫之和分庭抗衡,大有一覽眾山小之勢。
從調查得到的使用率來看,MySQL仍處於對MSSQLServer望塵莫及的階段。調查顯示,MySQL的使用數為1651,占總數的13.80%,不過排名第三。
使用率排在第二位的是Oracle,比例達到24.21%。在前有SQLServer,後有MySQL的情況下,Oracle仍能達到四分之一的佔有率,發展勢頭不可謂不強勁。
雖然Orcale資料庫的價格比SQLServer資料庫要高,但Oracle採用開放的策略目標,可在所有主流平台上運行。而且有開發者認為Oracle的安全認證是獲得最高認證級別的ISO標准認證,因此安全性高於SQLServer。
排在第四位的是Access——5.59%;接著是DB2UDB,占總數的2.75%;至於FoxPro、Informix、PostgreSQL、Sybase得票數均僅在一百左右,還有待進一步的發展。
四、中國程序員最愛的智能手機平台Linux+Java超過Symbian
「開源Linux對於眾多開發者的吸引力是巨大的,但是,這僅僅是針對於技術開發人員來說的,而對於普通消費者就不是如此了。」在眾多開發者心中,主要是對Linux的青睞。從調查結果中也可以直接反應這樣的現象。有專家對此評論說:Linux+Java的模式,應該是應用最多的模式。
針對此問題行業的專家有自己的觀點:「現在Wince和Symbian發展很快,並且隨著手機硬體方面性能的提高,很多政府部門和企業在采購時,很多會考慮Dopod這樣的手機,或者價格便Wince和Symbian都主要使用c++開發,正是嵌入式開發的潮流。」
不同人群對於收集智能操作系統的觀點是不同的,對於開發者角度,他們更加青睞於微軟和開源Linux的產品,而普通大眾他們比較喜歡Wince和Symbian。
五、七成程序員不願意選擇門戶網站獲取開源信息,而更關注SourceForge等
30%的技術人員從門戶網站獲取開源技術信息,剩下的70%的技術人員都是從專業的開源社區和開源廠商的技術網站上獲取信息,包括有SourceForge、LinuxToday、OpenOffice和IBMdW等。
在這70%當中,比例佔有絕對優勢的就是SourceForge了,這里是開源軟體的開發者進行開發管理的集中式場所,也是全球最大開源軟體開發平台和倉庫。而LinuxToday裡面會有記錄很多很新的Linux業界大事,新聞以及出版信息。所以,對開源技術感興趣的程序員們,不必再為如何獲取開源信息而苦惱了,快加入到這70%的人群中來吧。
互聯網的發展已經成為大家獲取信息最主要的渠道之一,網民上網的習慣也從開始的上為數不多的幾個門戶網站發生了變化,大而全的門戶網站並不能滿足專業領域人員的信息需求,從2004年開始陸續出現了大量的各個領域垂直細分的內容網站,一方面有長尾理論的理論支持,另一方面廠商也建立了相應產品的技術內容網站,希望能聚集一批專注於這個領域專業人士,做好他們的定向營銷。
做細分領域內容的網站對門戶已經造成了一定的威脅,這些網站的專業性高,用戶的粘性相對也比較高,如果細分領域的內容網站能將自己的服務有所提升,就如同SourceForge一樣,那麼未來門戶網站的路就變得更加崎嶇了。
六、Java開發框架:6%的JSF欲撼動21%的Struts
JSF現在比較有優勢的是對Ajax的集成,這一點走在了其他框架的前面。未來兩
年,JSF與Struts將展開JavaWeb框架的最終戰爭。 經過數年的「框架大戰」,Java界的各種框架找到了自己應有的位置。Spring+Hibernate+Struts已成為Java開發的主流體系。在這個體系中,Spring+Hibernate的地位應該說短期內是難以撼動了。除了新興的JbossSeam作為挑戰者之外,幾乎難有勁敵。
JavaB/S編程中歷來戰火最激烈的其實還在Web層,框架的數量最多,爭議最大。一切由Struts而起,而Struts最終也坐穩了第一個時代的王座。在技術層面,Struts1.x已經被無數人抱怨過、批評過,但終於還是穩坐王位,這充分說明了習慣的力量。「穩定壓倒一切」,這句話在IT技術領域仍舊適用。
詳細的分析了Java開發框架的使用狀況,發現主要使用的開發框架JSP佔26%,Struts佔21%,Hibernate佔17%,SpringMVC佔11%,EJB佔7%,JSF佔6%,SpringWebFlow和POJO各佔4%,其它佔4%。就這一調查數據,不難看出,Spring+Hibernate+Struts的優勢地位還是相當的明顯。
Struts和Hibernate幾乎已經成了JavaEE應用的常規配置,21%的開發者用到Struts,用到Hibernate的開發者也有17%;在一個成熟的技術平台上,各個項目的技術方案會在很大程度上趨同——因為所有未知領域都已經被探明,各種問題都有對應的最佳實踐,架構師們可以參考的成功案例越來越多。就拿JavaEE來說,架構師們需要考慮的問題比之三年前已經簡單多了,這就是成熟的價值。
有專家評論:「其實IT應用技術,什麼新鮮玩意並不難學,難的是標准化和規范化。每
個程序員都有自己的思路和習慣,寫出來的代碼自然是五花八門。Java何以成為編程界的占重要地位,很重要的一點在於Java的規范化。這種規范化很高的語言適用於多人合作的大型項目,便於溝通和理解,也就便於集成和維護。 Java世界為什麼會框架橫飛,說到底還是規范化的需要。純JSP和Struts寫Web誰快,擺明了是JSP。那為什麼用Struts?原因在於100個人寫出來的JSP,有100種寫法;而100個人寫出來的Struts,基本相似。Struts之成功,正緣於其在JavaWeb層的規范化方面所做出的貢獻。
然而長江後浪推前浪,Struts1.x的技術缺陷畢竟是隱患。Sun力推JSF,打算一雪Web層框架缺失之恥。未來兩年,JSF與Struts將展開JavaWeb框架的最終戰爭。
JSP經過幾年風雨洗禮依然把持頭把交椅,看來所有的框架表示層都離不開JSP而存在,而作為JSP的手足兄弟JSF也是僅次Spring之後又一個後起之秀。
七、C++開發環境格局難打破75%的開發人員首選VS系列
1998年Borland公司推出的C++Builder這一當年全新的32位Windows開發工具,繼承了Delphi使用簡便、功能強大、效率高的特點,並且結合了C++語言幾乎所有優點。所以開始C++Builder迅速風靡。 它的主要競爭對象——Microsoft開發的VisualC++也是不甘示弱,迅速出擊,突出了Visual可視化強的特點,加上Platform、SDK部分以及Microsoft產品與Windows的天然默契,逐漸成為了技術人員的首選。隨著VisualC++版本的不段升級,以及功能、風格等諸多原因,BCB漸現頹勢,許多Builder使用者也開始轉而使用Visual了。
在2007年CSDN、《程序員》主辦的開發者大調查中,詳細的分析了C++方面大家主要使用什麼IDE的狀況,在目前已收到的15000多份有效問卷中,發現主要使用VS系列的佔了75%,BorlandC++Builder/CBuilderX只佔6%,EclipseCDT佔6%,DevC++佔2%,其他IDE佔3%,不使用IDE佔8%。對於.NET開發,VisualC++2005有了一套新的語法;新的優化技術,可使程序的速度最高提高30%;同時新的編譯模式,可保證在Microsoft.NETFramework之上生成完全遵從CLI(CommonLanguageInfrastructure)的可驗證代碼;新的interop模式,可提供本地與託管代碼的無縫融合。
相對於前兩個版本,新編譯器還包括了一個增強版本的緩沖區安全檢查選項,而且對C++程序普遍使用的庫,也有新的注重安全的版本。VisualC++2005對基於IntelItanium和AMD64的64位平台,提供了對OpenMP標準的支持,並且修正了一些混合DLL載入的問題,對DoubleP/Invoke的性能問題,提供了自動運行時消除。 相比之下,C++Builder2007英文版2008年6月初上市。從CodeGear大中華區技術總監李維的博客,看到CodeGear對C++Builder2007的期待。雖然說對同一件事情,每個人都有自己的視角,已有五年C++方面學習和開發經驗的賴勇浩說道:「BCB正江河日下,2007版本的推出也無法力挽狂瀾。雖然現在C++Builder已經歸於CodeGear,但人們還是習慣性地與Borland聯繫上。
現在的Microsoft及VC勢頭強勁,產品也具有很高的質量性,CodeGear在C++和.Net領域至少三五年內會繼續望其項背。所以推出CB2007,更多的是基於版本延續。」
高級程序員作為計算機技術與軟體專業技術資格(水平)考試中的一科,是國家人事部和信息產業部對中國計算機與軟體專業技術人員進行的職業資格和專業技術資格認定。
九、中國程序員健康兩成感覺很虛弱亞健康接近七成
「幹得比驢累,吃得比豬差,起得比雞早,睡得比狗晚,看上去比誰都好,五年後比誰都老。很多程
序員都曾這樣感慨和抱怨過自己的生活狀態。」亞健康狀態是人體處於健康和疾病之間的過渡階段,在身體上、心理上沒有疾病,但主觀上卻有許多不適的症狀表現和心理體驗。
位於調查結果第二位的是「很虛弱」——149,比例為19.81%。很虛弱的健康指數低於亞健康,已接近生病和透支狀態,他們的健康已經被亮出了黃牌。
每個人的理解不一樣,但是「糟透了」這樣的詞如果用來形容程序員健康的話,相信大多數人都絕對認同「你已經病了」這樣的理解。令人不敢相信的是,竟然有8.24%的程序員用這個詞來形容自己的健康狀態!
調查結果中「非常健康」的票數低得可憐——40,即使算上「沒感覺」,二者之和也不過9.04%,幾乎跟「糟透了」持平。如果將「非常健康」和「沒感覺」一起算為健康的話,處於亞健康狀態的程序員是健康狀態的7倍,自認為「很虛弱」的程序員數目是處於健康狀態的2.2倍!
十、.NET全面進入2.0時代,AJAX風頭正勁「在Java領域,JDK5.0是當之無愧的主流平台,但JDK1.4仍保有一半以上的佔有量。總的來說,Java族群顯然不像.NET族群那樣追新。從另一個方面看,這也說明Java平台的成熟,和.NET平台的迅速發展。」
根據2007年的調查數據分析,在.NET領域,.NETFramework2.0的採用量已全面超越.NETFramework1.1,成為.NET平台的首選框架。2006年調查結果,1.1和2.0的採用量基本持平,而2007年2.0的採用量則高達1.1的三倍之多。.NETFramework1.1已是明日黃花,微軟的更新,換代策略可以說是成功的。
B/S已經成為中國軟體業普遍接受的軟體結構。在表現層,AJAX技術採用量較去年有較大提升,有將近一半的Web應用採用了AJAX技術,仍採用純HTML+少量腳本的Web應用中,也有四分之三打算轉向採用AJAX技術。反觀微軟和Adobe力推的新一代RIA平台,則響應者尚少。分別只有1/20和1/10的人願意選用SilverLight和Flash/Flex作為Web表現層技術。
C. 程序員職業分析小結
根據個人的理想來安排自己的生活,絕大部分人並不指望成為什麼院士或教授,而是希望活得滋潤一些,痛快一些,那麼就需要慎重安排自己的的軌跡,從一個行業入手逐漸對該行業深入了解,不要頻繁跳槽,特別是不要為了一點工資而轉移陣地,從長遠看,這點錢根本不算什麼,當你對一個行業有那麼幾年的體會以後,錢根本不是問題,頻繁地動盪不是上策,最後你對哪個行業都沒有摸透,永遠是新手。
D. 程序員行業現狀及發展趨勢
程序員行業現在是有比較好的,未來也是比較有前景的,更是會有發展的。
E. 程序員的目前就業形勢
從行業來說,在中國軟體的前景很好,有很大的發展空間,程序員就業還是比較容易的,注意我指的是真正有實力的高級軟體人才,如果還沒有寫幾行代碼就說自己是程序員,我想這樣的程序員價值和賣白菜的也沒有什麼分別吧,最好做好工作難找的心理准備;要想在這個行業混的話,想進一些大公司,最起碼編寫的代碼在一萬行以上才有競爭力。
最近金融危機對軟體行業的影響也很大,但主要影響在印度這樣的高度依賴出口尤其是依賴華爾街客戶的軟體公司,對中國的影響還不是太大,其實國內的軟體需求就很大的,只是這個市場還沒有完全開發出來,所以前景是非常好的。
再說一句,現在各種所謂的人才真的是遍地都是,正是這些有名無實的「人才」才使得現在的就業市場雜亂無章,搞得公司有需求但招不到合適的人,有能力的人急得團團轉卻也「賣」不出去,沒辦法,哥們你如果真想在這行混口飯吃,還是需要下下功夫的,實話實說,初級程序員到處都有,為什麼要用你?首先給個理由!這就是形勢,希望這些話對你有一些幫助,祝你好運!
F. 程序員是什麼職業什麼職務
程序員(英文Programmer)是從事程序開發、程序維護的專業人員。
一般將程序員分為程序設計人員和程序編碼人員。
軟體從業人員分為初級程序員、中級程序員、高級程序員(現為軟體設計師)、系統分析員,系統架構師,測試工程師六大類。
職務:
1、對項目經理負責,負責軟體項目的詳細設計、編碼和內部測試的組織實施,對小型軟體項目兼任系統分析工作,完成分配項目的實施和技術支持工作。
2、協助項目經理和相關人員同客戶進行溝通,保持良好的客戶關系。
3、參與需求調研、項目可行性分析、技術可行性分析和需求分析。
4、熟悉並熟練掌握交付軟體部開發的軟體項目的相關軟體技術。
5、負責向項目經理及時反饋軟體開發中的情況,並根據實際情況提出改進建議。
6、參與軟體開發和維護過程中重大技術問題的解決,參與軟體首次安裝調試、數據割接、用戶培訓和項目推廣。
7、負責相關技術文檔的擬訂。
8、負責對業務領域內的技術發展動態進行分析研究。
程序員職業要求:
1、熟練開發工具
作為程序員,掌握至少兩個或三個開發工具是程序員的基礎。其中,C/C++和Java是最推薦的開發工具。C/C++已經成為開發工具高效、靈活的銳利工具。
許多系統級軟體都是用C/C++編寫的。Java的跨平台與Web的良好結合是Java的優勢,Java相關技術JavaOne很可能成為未來主流的開發工具之一。
其次,最好掌握一個簡單的可視化開發工具,如vb、powerbuilder、delphi、cbuilder,這樣可以降低開發難度,強化程序員對象模型的概念。另外,您需要掌握基本的腳本語言,如shell、perl等,至少能理解腳本代碼。
2、熟知資料庫
很多應用都是以數據為中心的資料庫,有很多資料庫產品,其中關系資料庫仍然是主流形式,所以程序員至少要精通一兩個資料庫,非常清楚關系資料庫的關鍵元素,熟練掌握在SQL的基本語法中。
雖然許多資料庫產品提供可視化的資料庫管理工具,SQL是資料庫操作的基礎和常用方法。如果您沒有訪問商業資料庫系統的許可權,那麼最好使用免費的資料庫產品,如mysql、postgres等。
3、了解操作系統
目前,主流操作系統是windows、linux/unix,熟練使用這些操作系統是必要的,但只有這些還遠遠不夠。
作為一個真正的編程大師,我們需要對操作系統及其內存管理機制、進程/線程調度、信號、內核對象、系統調用、協議棧實現等有深入的了解。
Linux作為開發源代碼的操作系統,是一個很好的學習平台。Linux幾乎具有現代操作系統的所有特徵。雖然關於Windows系統內核實現機制的信息很少,但是通過Internet仍然可以獲得很多信息。了解網路協議TCP/IP。
G. 程序員的職業發展方向:業務技術
程序員職業生涯發展到一定程度都會面臨一個選擇,是走業務+技術方向,還是選擇純鑽研技術。程序員職業生涯發展的問題,這是所有程序員都在關心的問題,未來究竟要怎麼走,30歲之後還能不能再做程序員。絕大多數程序員最終的職業目標可能都是CTO,做到CEO的人估計會比較少,也有一少部分人自己去創業去當老闆,也有部分人轉行了,當老闆的人畢竟是少數,轉行的人都不在這行做了,自然沒什麼好說的了。一般來說,程序員的發展基本上都會經歷這么幾條路徑。程序員-系統分析員-架構師-技術經理-CTO,程序員-項目組長-項目經理-項目總監-CTO,程序員-產品設計師-產品經理-CTO。當然這只是一個大致的路徑,不是所有程序員都必需要這么經歷的,有些人可能跳過其中的一些步驟,也可能有些人會把中間的很多職位都做了。而最終做到CTO的程序員,也是非常少的一部分,原因很簡單,這個世界上不許要那麼多的CTO和CXO。也就是說,許多的程序員最終可能是做技術經理、項目經理或者項目總監之類的,那麼到底我們職業生涯要選擇哪一種呢?我覺得這個問題沒有一個統一的答案,因為每個人的性格不一樣,際遇也不一樣,就像你從小希望當貪官,可是命運卻偏偏讓你做了一個程序員。所以應該根據你的興趣、性格與際遇選擇一條道路,比如說你正好有機會帶一個項目,而你又不是很討厭項目經理這個位置,那麼你就可以選擇向項目經理方向發展。實際上很多時候,有些公司並沒有明確的技術經理、項目經理、產品經理之分,在許多的公司里,他們經常是由一個人承擔。在外包公司里,通常會有項目經理和系統分析員(也可能是技術經理)。在一些非IT公司里,可能會是部門經理,而做自己產品的公司可能會分得比較詳細一些。我大致說一下這三個職位的區別,讓正在徘徊的程序員有一個大致的了解。項目經理是項目的直接負責人,這個角色相當於一個中間介面,不管是團隊成員還是需求方(客戶),或者是上級領導,有事都直接找他,所以這個職位著重於管理與溝通。一般來說,項目經理的工作重點在同客戶溝通需求、項目進度的把控、團隊的溝通方面,有些公司也會需要項目經理承擔團隊建設的工作,不過貌似很多國內公司都忽略了團隊建設這個工作了。對於項目經理來說,重點會要求溝通能力、協調能力、危機把控能力、執行力、團隊管理能力,著重於溝通、管理與計劃。當然也有些公司還要求項目經歷要參與招標談判,這就要求項目經理有一定的商務談判能力。技術經理有時候也可能叫系統分析員,一些小公司可能會整個部門有一個技術經理。技術經理承擔的角色主要是系統分析、架構搭建、系統構建、代碼走查等工作,如果說項目經理是總統,那麼技術經理就是總理。當然不是所有公司都是這樣的,有些公司項目經理是不管技術團隊的,只做需求、進度和同客戶溝通,那麼這個時候的項目經理就好像工廠里的跟單人員了,這種情況在外包公司比較多。對於技術經理來說,著重於技術方面,你需要知道某種功能用哪些技術合適,需要知道某項功能需要多長的開發時間等。同時,技術經理也應該承擔提高團隊整體技術水平的工作。1143448846
H. 程序員行業也是「青春飯」,以後有哪些轉型的方向
要成為一名程序員,不僅要忍受無休止的加班,還要承擔失業後的各種不確定風險。一般情況下,國內程序員如果不成為公司管理層,40歲之前就會失業。要成為公司的管理層對普通人來說就更難了!所以很多人認為程序員吃青春飯。考慮到程序員目前的生活狀況,作者同意這種說法。
但是,如果真的熱愛程序員這份工作,該怎麼辦?可以選擇轉行!
不用說,過了35歲,你的一線編碼能力肯定會下降,你的速度和效率肯定沒有25歲的程序員快。但是沒關系,因為編程只是你整個武器庫中最不重要的部分。你的經驗,你的視野,你的架構能力,你的管理能力,你的分析問題和解決問題的能力,遠遠不局限於技術領域。