Java就業方向大致分為兩類:
成為管理人員,例如產品研發經理,技術經理,項目經理等。繼續他的技術工作之路,成為高級軟體工程師、需求工程師等。根據IDC的統計數字,在所有軟體開發類人才的需求中,對Java工程師的需求達到全部需求量的60%~70%。同時,Java工程師的薪水相對較高。 Java軟體工程師一般月薪范圍在4000-10000元,遠遠超過了應屆畢業生月薪2500元的平均水平。通常來說,在尚矽谷學習JavaEE和雲計算後有一年工作經驗的Java高級軟體工程師的薪酬大致在年薪11—15萬左右。
從Java的應用領域來分,Java語言的應用方向主要表現在以下三個方面:首先是大中型的商業應用;其次是桌面應用,就是常說的C/S應用;再次是移動領域應用。綜上而言JAVA就業方向為:可以從事JSP網站開發、Java編程、Java游戲開發、Java桌面程序設計,以及其他與Java語言編程相關的工作。可進入電信、銀行、保險專業軟體開發公司等從事軟體設計和開發工作。
『貳』 三流程序員如何轉行
首先三流的程序員不叫程序員,那叫做碼農。而你要是想混的好。那你就要擺脫碼農的身份,往真正的程序員的方向走!
第一步,告別碼農,學習新知識。
之所以叫碼農就是因為你們收割的拿回來的不過是別人的辛苦產物。隨便抄一下就能用了。所以就叫做碼農。你們根本沒有所謂的原創程序也沒有拿得出手的技術和成績,所以就一直把自己當三流程序員,其實你們就是碼農。
所以你們應該先告別碼農的身份,從一個程序員的角度來看待問題。不要遇到代碼的事情就要去找別人做的東西。借鑒可以,但是東西還是自己做的好。
這個時段不但是要接受錘煉和多次的打擊更是要學習新鮮的知識,跟上現在的程序員的潮流。這樣你才能第一步脫開碼農的身份。
第二步,跳槽去更能發展的地方,而不是在這里吃老本。
不要停留在你學習不到新鮮知識和東西的地方。程序員是最容易跳槽的職業。因為職業的構成就是要不斷的跳槽出去學習然後進步的。所以不要擔心自己跳槽的速度快或者經常要找工作。這是你要成為一流的可以混吃等成績的程序員的必經之路。
這一條路上你不但要吃苦還要多學習多進步。這種情況可能會持續5-8年左右,所以一定要做好心理准備,切記做好心理准備!
第三步,鞏固現有的,成為一個優秀的混的好的程序員。
一般來講這個時候你已經快35歲左右了。但是更好的未來就在前方,下面就不用教你怎麼做了。因為你已經習慣了一個程序員的生活了。下面就是堅持不懈繼續努力的了。
『叄』 你印象中的程序員
沒有情調,不懂浪漫,也許這是程序員的一面,但擁有朴實無華的愛是他們的另一面。
我個人感覺印象中的程序員就是,頭頂英年早禿,發際線英年上移(開玩笑的說),其實我朋友做程序員的就會下意識的看我的頭發,說不像啊,其實很多程序員的時毛發濃密的,並不是所有的都聰明絕頂,很多程序員的智慧是「掩蓋」著的!
在網上看到一句關於程序員的話:
我的代碼曾運行在幾千萬用戶的機器上,作為一個程序員,還有什麼比這更讓人滿足的呢?如果有,那就是讓這個用戶數量再擴大 10 倍。
我感覺程序員是值得我們尊敬的。,程序員的雙手是魔術師的雙手。 他們把枯燥無味的代碼變成了豐富多彩的軟體(現在我們使用的健康碼,行程碼)。
程序不是年輕的專利,但是,他屬於年輕……
『肆』 一個程序員所要經歷的步驟
程序員應具備的12種能力
畢業四年來,感覺自己也是從一名不合格的程序員一步步走過來的。回頭反思一下,合格的程序員有很多標准和要求,下面是我總結的一個合格程序員應該具備的12種能力。中國軟體行業的崛起,靠的是合格的程序員。任何華麗的管理制度都不能保證軟體項目的成功交付,合格的程序員就是有力的保證,是項目成功的基礎。寫下這些,是為了給剛剛進入程序員這個職業的新同學們一點參考。我一直以為,當程序員是很辛苦的,如果不是真正的喜歡,很難堅持下去。如果真的不喜歡這個職業,也該尊重這個職業,尊重自己,趕緊改行。
1. 編程語言能力
不用多說,作為合格的程序員,精通一門語言是必須的。這種精通,不是說看了一本《24小時精通XXX》,抄了幾個程序就能說精通的,要靠長時間的積累和浸淫。
2.編碼能力
我曾經看多很多程序員寫的代碼,在同一個jsp或者java源文件里,出現了三種以上的對方法的命名方式,有下劃線間隔的,有全大寫的,有拼音首字母的。就像一個菜市場,雜亂無比,估計10天後,他自己都無法看的懂。遵守編碼規范,是一個程序員最基本的要求,可悲的是,很多程序員根本沒有意識到這個問題的嚴重性。隨意堆砌網上搜來的代碼,根本不管可讀性和可維護性,只要能實現功能就行了,心想做完這個項目,就拍拍屁股走人了,缺少最基本的職責素養。我經常把代碼必須成程序員的孩子,你就是是孩子他爹,孩子他媽,是有感情的。對你自己的孩子,你能不仔細呵護嗎?你是稱職的父母嗎?這是我編寫的一個Java編碼規范,供大家參考,這里可以下載http://gurudk.javaeye.com/blog/111734
另外一個就是注釋,要注意不是為了注釋而注釋。對類,以說明職責為主;對方法,以說明意圖為主;對方法體,以說明實現思路為主。對於大段大段的代碼,要分段,使用空行隔開,並使用行內注釋進行說明。
思維的條理性,寫代碼之前,先簡單計劃一下,用自然語言把流程寫下來,用於整理實現思路。不要看了需求或設計之後,馬上就敲代碼了,敲完代碼馬上就debug。花點時間思考,敲代碼只是最後一個很簡單的工作,不要把自己變成一個代碼打字員,編寫邊想,寫了刪,刪了寫。安安靜靜把實現過程想清楚,在腦子里先實現一遍。再去敲代碼,水到渠成。
3.面向對象思維能力
如今,多數編程語言都是面向對象的編程語言。而這些面向對象的編程語言的共同的精髓就是面向對象的思想。掌握這些比面向對象語言本身更重要,比如對繼承,多態,重載的理解。對面向對象基本原則的理解,比如開閉原則,介面隔離原則,單一職責原則等。在此基礎上,應該掌握常用的設計模式,比如工廠模式,策略模式,觀察者模式,模板方法模式,命令模式等等。我面試過很多程序員,沒有一個能說得上幾句的。
4.利用工具能力
工欲善其事,必先利其器。有了趁手的傢伙,工作效率可以提升數倍。你編程序,有沒有選擇一個很好的IDE,以前聽說編程高手都用記事本寫程序,我覺得那是一種自虐。就像以前看到的一篇文章,說一幫戶外旅行愛好者,出去旅遊,背了重重的旅行包,裡面裝著什麼壓縮餅乾等快速食品。他們寧可就著礦泉水啃壓縮餅干,也不肯去1里路都不到的快餐店,農家菜館吃飯。工具是為目的服務的,好用,提高效率就行,形式無所謂。
另外一個常用的工具就是日記本,好聽點可以稱為知識管理工具,我用的是myBase,感覺非常好用,在之前,我的所有的片段內容都是記錄的單獨的文本文件里的,非常不好找,管理也很混亂。
經常上互聯網,看到好多好的資料想保存下來,作為日後查看之用.一開始,我用的是firefox自帶的書簽,但是自己分類太累,多了之後不便於查找,很麻煩。後來用了得樂書簽(del.icio.us)的firefox插件,非常方便,現在成為了我必備的一個工具。
還有一個最重要的工具就是搜索引擎了,我裝了google forfirefox插件,感覺不錯,還有英文翻譯功能。按照我同事的說法,內事用,外事用google。很多技術資料都是英文的,用google搜索效率高一些。搜索引擎用好了,就等於打開了一扇通向知識寶庫的門,使用搜索引擎,關鍵字選擇很重要。
經常去瀏覽大牛的blog,逐個網站訪問很麻煩,去看了又可能沒有更新,可以藉助於RSS訂閱工具,我是用iGoogle桌面工具,每天早上花半個小時掃一下,大牛的最新文章盡收眼底了。
5. 英語能力
新的技術資料都是英文的,英語國家的IT技術走在我們前面至少10年(這是我自己估計的數字,可能正在縮小)。就連印度,一個連基礎設施建設都不太完善的國家,因為其英語基礎較好,其在軟體外包領域的發展也非常迅猛,遠遠超過了我們。學英語,首先是有信心,其次就是花時間。多閱讀英文資料,使用金山詞霸,google的firefox插件等工具配合,貴在堅持。
6.學習能力
在IT也混飯吃不容易,整個環境進化的太快,你不學習,就等於落後了。學習要有針對性,別今天學ruby,明天學python,後天php的。首先要認清自己的目標,自己短期目標是什麼,1年後,3年後,5年後的目標是什麼。結合這些目標,確定自己的學習計劃,人的精力畢竟是有限的。當然,多掌握幾門編程語言也是好的,可以擴充自己的知識面,重要的是為自己的目標服務。
要想系統的學習一門技術或工具,看書是最好的方法。看完後,然後上網找相關資料,進行深入學習。學習要抓緊一切可以利用的時間,比如電腦啟動要花1分多鍾,旁邊放一本書,可以看上幾頁了。公交車上,地鐵上也可以看。
當然,不能只學習技術,要經常聯系自己的軟技能,比如溝通能力,表達能力。你可以把自己學到的東西,解釋給自己的同事聽,既加深了理解,又增進了同事之間的交流。學習的最高境界就是你能夠把學到的東西解釋給別人聽,這才說明你理解了。在學習心理學上,稱之為構成主義。
我學一樣東西,總是先上網了解有沒有相關書籍,如果想學,就買一本或者去圖書館找相關的書來讀。我買的書,家裡快放不下了(到目前位置,我買了1萬多塊的書)。我多半是把目錄看完,了解這本書講解的主要內容,然後需要的時候,我就可以立即補充它進入到我的知識結構。每個人可能都有自己的學習方法,意識到學習的重要,並能夠根據需要補充自己的知識,這種能力更重要。
7.創造能力
普遍認為,東方人模仿能力很強,但創造能力差。我見過很多這樣的程序員,經常說,「這個只能這么解決了,我想不出有什麼別的方法。」可能他根本都沒想過別的方法,或者懶得去想。對任何一個問題,找出兩種以上的解決辦法都是非常容易的,簡單的google一下,可能就是數十種。悲哀的是,有些程序員經常止步於自己構建的狹小領地之內。對待客戶也是這種態度,不是積極的幫助客戶解決問題,而是推脫這只是唯一解決方案。
打破這一思維定勢的首先的一個辦法就是在面臨一個問題時,首先想到的是「沒有不可能」,或是「一切皆有可能」,前面那個是阿迪的廣告語,後面是李寧的。只有這樣去想,才能尋找解決問題的別的出路,即使最後我們試了很多種辦法,還是只有著一種解決方案,但我們在這種尋找解決方案的過程中,常常會產生很多好的想法,這樣才會使我們真正深刻思考一個問題。建議大家看一看《水平思考》這本書,他提供了一些進行創造性思考的方法和工具。
但我認為,堅持認為存在另一種解決方案的信念是第一位的,方法和工具都是其次。
8.文檔能力
也許有人會質疑,程序員跟寫文檔有什麼關系。大家開源軟體也用過不少,看看Spring,hibernate,Struts等最流行的開源軟體的文檔就知道,他么的tutorial,他們的getstarted,他們的reference文檔寫的多麼的易懂。其實寫代碼也相當於寫文檔,只不過用的是編程語言。同樣,寫文檔,用自然語言,也相當於寫程序,簡單明了,清晰易懂,這樣的「程序」誰看誰舒服。同樣,對於想進階到設計師或者需求分析員角色的程序員,文檔能力更是非常重要。
word是一個最實用的工具,很多程序員,多級編號都不會用,索引目錄也不知道如何生成,更別靈活應用樣式了。很多排版都是所謂的dirty work。垃圾樣式一大堆。其實,靜下心來,稍微學習一下,就能寫出一篇格式漂亮的文檔。
9.抽象能力
抽象能力是認識事物從現象到本質的能力。如果你只是停留在「見山是山,見水是水」的層次,客戶說什麼,你就做什麼,設計怎麼做,你就怎麼實現,從來不過問為什麼,也不去想他是滿足了用戶哪些方面的需求呢。這樣可能只解決了表面的問題,可能會引起返工。認識到本質,才能讓你的程序具備更大的靈活性和可擴展性。在做企業應用軟體開發中,抽象能力體現為對問題域的理解能力,對領域模型的抽象。合理的抽象也是代碼重構的前提,每一次重構,都是向更好的抽象邁進了一步。
10.代碼評審能力
代碼評審和單元測試是保證代碼質量的兩種常用手段之一。代碼評審能力,說明了你的審美標准,知道什麼是好的,什麼是不好的,什麼是優雅的代碼,什麼是糟糕的代碼,你才能讓自己做的更好。
11.單元測試能力
沒有單元測試的代碼,只能說是半成品。因為沒有什麼能證明你的代碼是可以運行的。測試驅動開發是一個非常好的敏捷過程的最佳實踐。單元測試還可以作為回歸測試,在修改代碼時,起到警戒線標志的作用。是否具有單元測試的意識是區分程序員是否合格的重要標准。寫不寫單元測試是區分平庸程序員和優秀程序員的重要標桿。
12.DRY
DRY是一種原則,就是Don't RepeatYourself.出自《程序員修煉之道-從小工到專家》。這條原則可以用到很多地方,比如你經常要編譯,打包,部署應用程序,供集成測試用。每次你都在重復你自己,寫一個自動化腳本(比如用ant,批處理命令)來將這些工作自動化,以提高效率。
還有一個就是我們經常在不同的地方切換IP,如果每次手工做,也非常浪費時間,寫一個bat命令可以解決,找一個小工具也可以解決。
編碼時,對代碼的復用也是在重復你自己,雖然拷貝過程很爽,但是維護一致性就要付出巨大的工作量,特別是將來維護的人不是你的時候,使用代碼生成工具可以解決這個問題。類似的例子太多了,如果你發現你經常做一些重復的工作,就要警惕了,是否違背了這個原則,想一些辦法將他們自動化。
『伍』 Java的職業發展是怎麼樣的
1、軟體設計師
其實很多程序員走到這個階段已經在做軟體設計師工作了,這是絕大多數程序員發展的必經之路。
程序員在編程序的時候,一方面會實現設計的功能,另一方面也在對設計有一個理解、認識、熟知的過程,進而慢慢地從學習別人設計,轉向到自己參與或獨立設計。
如果這個程序員真的非常非常喜歡程序員這個職業,則可以轉向軟體設計師。這個轉變很大程度是程序員意識的轉變,就是說要把編程的時間,逐步分攤到軟體設計上,要把重點從編程實現轉變到項目的功能設計上。
我這里強調的是「逐步」的一個過程,程序員要逐步減少編程的時間,增加設計的時間,要克服編程的強大吸引力,要主動地攀上設計這個台階。很難有一個設計師是完全不編程的,而且我認為,會編程的設計師才是真正的設計師,一般這種轉變需要花上一到兩年時間。
2、 項目經理
也有一些程序員工作機遇比較好,不但負責了項目的設計工作,而且負責了項目管理工作,對項目經理這個工作有了一定的嘗試。因此,這類程序員可以審視一下自己,是否合適這項工作,如果自己對這種工作比較滿意,而且具備項目經理的要求,則可以向項目經理這個方向發展。
項目經理承擔著項目管理的職責,對項目負主要責任。它和程序員的作用也不相同,項目經理的重點已經從編程轉移到對人、對技術、對進度、對項目的管理。由於軟體的項目經理與軟體項目的相關性太大,因此,他必須要了解軟體開發的各個環節、了解開發的各種技術和運用、了解開發隊伍人員的水平和特點,所以他依舊和程序員脫不了干係。
從程序員到項目經理可以使得項目經理更好地理解程序員在項目中的地位和作用,了解軟體開發的各種規律性的東西,從而保證項目的正常完成。
而且,項目經理的收入在公司中的地位也是比較高的。因此,我認為走向項目經理是程序員的另一個發展空間。
我想提醒一下,程序員在擔任項目經理之前最好要把軟體設計工作做好,這樣在做項目經理的時候,就會有很好的基礎。
3、 管理者
很多程序員希望自己能成為公司中的主管、經理、老總、老闆,這樣無論是收入和在公司的地位都相對比較高一些。另外,一方面程序員可能厭倦了年復一年的編程工作,對工作產生了抵觸情緒,希望能擺脫這種步步緊逼的工作狀態。
走向管理者其實要求程序員要比一般人做更多的准備,要做更多的轉型工作,並不是想當管理者 就能成為管理者的。但是,如果程序員有這個志向和愛好,有積累了這方面的工作經驗,自己也感覺在這個方面能夠發展,更重要的是有這樣的機會,走向管理者也 是可能的。
由於軟體公司的管理者畢竟不同於一般公司的管理者,專業能力越強,管理起來就越得心應手的,沒有專業能力的管理,遇到的問題很多,也很難解決。
因此,我的建議程序員最好要把編程、項目設計、項目管理等基礎打打好,這樣轉型到管理者成功率就會高一些。
4、 軟體營銷
我一直說,程序員最大的缺點之一,就是眼光只盯在技術上,在入門階段和成長階段,這種情況還是屬於正常的。但是,到了成熟階段這種缺點將會嚴重影響程序員的發展。
程序員在工作中不免會接觸到用戶,不免會了解到用戶的需求。從而了解到軟體實際發揮的作用,進而了解了自身的工作價值所在。有的程序員則固步自封,不願意和外界打交道,從內心裡堅守技術底線。而有的程序員則喜歡和外人交流,喜歡把自己的軟體推薦給用戶,而且用戶也樂意接受這種專業的介紹,用戶的接受是程序員價值的直接實現,程序員因此獲得了工作成就感。
這類的程序員可以將自己的專業知識和產品營銷結合在一起,推動軟體的銷售和服務,轉向軟體營銷職業。這個職業將是一個比程序員更有發展的職業,它可以直接反應程序員的工作能力和工作成果,程序員的收入和銷售會直接掛鉤。
因此,可以讓有銷售才華的程序員獲得更高的收入,接觸到更大的軟體市場,看到更廣的個人發展空間。
5、 原地發展
當然也有一些程序員惰性比較大,滿足於現狀,享受著眼前的勝利果實,這也無可非議。對待這些程序員,我們不要強求他們改變自己的想法,我建議是原地發展,把本職工作做得更好,把自己的技術水平往上再提高一步。
在這個過程中他們的能力和自信心都會得到提高,他們的想法不會一直一成不變的。磨刀不誤砍柴功,刀快了自然會去砍柴的。
不管做哪一行,都該盡早做好職業規劃,人都是需要有一個目標去激勵自己,Java程序員更是如此。朝著一個目標逐步提升自身實力總會比原地打轉好,相信聰明的你該知道怎麼做。
『陸』 程序員工作到底能幹多久程序員的前途如何
千千萬萬的程序員們一直困惑程序員的前途如何、程序員工作到底能幹多久的問題。目前比較普遍的認識,程序員的職業通道有兩條進階路線。一條 是技術路線,即由程序員、高級程序員、系統分析師,到架構設計師。在這條路線上,立足於從業務模型到計算機軟體模型的轉換,成為高端的軟體技術工作者。另 一條是管理路線,即由程序員,經開發小組負責人、項目經理,再到企業中高層管理者。程序員加強自己管理意識的培養,多站在組織的角度來分析問題和解決問 題,成為優秀的管理者,甚至職業經理人。 近年來,產品管理成為企業多產品經營形勢下一個越來越受重視的管理課題。特別是知識經濟環境下,諸如互聯網與軟體、創意、傳媒等現代新型產業鏈中, 其幾乎可以忽略不計的復製成本,有競爭力的產品與優秀的產品管理成為了制勝的關鍵。基於產品的商業化運營,在越來越具聚合效應的網路時代,扁平經營、草根 聚合、精準營銷、直通車服務等全新的經營環境常常造就了贏者通吃的局面,以產品為中心的企業管理逐漸形成獨立的產品管理體系,被眾多企業所關注和採用。 在軟體企業中,隨著產品管理的興起,可以說,走向產品,是程序員在技術與管理之外的第三條職業通道。越來越多的程序員開始轉型做產品工作,特別是對 那些具有創業意識的程序員而言,走向產品是一條必經之路。騰訊的馬化騰和360的周鴻禕,他們都是由程序員做起,然後開創自已的產品和事業。 產品管理的興起,產生了以產品經理為中心的產品工作職業方向。產品職業方向可以從產品系列的職務與崗位兩個維度來觀察。職務上,有首席產品官 (CPO)、產品總監、產品經理、產品專員、產品助理,其中尤以產品經理一職最為中心;崗位上,有產品競爭分析與用戶需求管理、產品創意與策劃、產品原型 設計、產品運營規劃、產品實現過程跟蹤、產品商品化實施、產品運營、產品經營成果分析與跟蹤、產品升級維護管理、產品管理體系與制度建設、產品人員技能培 養等。這些基於產品而設計的崗位以有效滿足用戶需求為中心,它不同於其它以專業技術和職能效率為中心的因職能分工而產生的崗位。 產品管理是近些年隨著IT和互聯網的快速興起而被各企業所重視,而現在的各大院校並沒有產品管理相關的專業,各類培訓機構也少有類似培訓課程,從事 產品工作的人員大多是從不同專業、不同崗位轉型過來的。相比較而言,程序員有著營銷、測試、客服等崗位走向產品的人員所難以比擬的優勢。有些公司甚至做出 了規定,欲從事產品工作,必須要有多年的軟體開發經驗。程序員轉型從事產品工作所具有的獨特優勢主要包括以下幾點: 第一,程序員能夠更好地理解產品的實現方案,所策劃的產品更具可行性。做產品策劃工作,也許缺的不是點子或創意,而是有效可行的方案。多年的程序員 工作經驗,對軟體技術和軟體實現方案的判斷,可以規避那些天馬行空的產品想法,工作更有成效。比如在整理用戶需求時,程序員的前期有效判斷和可行性辨別, 會大大提高產品的策劃質量與速度。程序員出身的產品人員可以和研發人員進行無隙的溝通,用更便於研發人員理解的語言和思路來進行產品方案的解讀和跟進。 第二,程序員的軟體開發工作,與其說是代碼的編寫,不如說是邏輯語句的組織。程序員一般都具備嚴密的邏輯思維能力,這是進行紛繁而雜亂的需求分析和 產品概念設計必備的優勢,更有利於從中分門別類理清脈絡關系,轉換為產品功能規劃,把產品做成精品。例如需要往U盤寫文件,產品人員可能只想到正常的操作 邏輯,但程序員可能會想到更多異常情況,如:U盤損壞、傳輸過程中拔出、斷電、傳輸的文件損壞、U盤防寫、重復文件、焦點位置、空間不足等等。再有,好 的用戶體驗的產品,在本質上,就是產品功能的邏輯展示,或者說用戶操作的邏輯引導。 第三,程序員往系統分析的技術方向發展,從本質上來說,同往產品策劃方向發展是相通的,都需要對真實世界本質關系有著充分的理解與把握。能夠走向系 統分析員的優秀程序員,完全有可能成為一個優秀的產品策劃人員。差別在於系統分析員的工作成果是面向程序員、面向計算機,而產品策劃是面向用戶、面向市 場。每一名程序員也必定是某個軟體產品開發工具的使用者,有深厚的軟體產品使用體驗,具有從用戶出發來表述問題的基礎。 第四,程序員一般都具有快速學習能力,保持對計算機相關行業動態和技術革新的觀察與思考,這在一定程度上會培養對行業與技術的洞察力。產品策劃和設 計工作,最後能否獲得市場的成功,考驗的正是這種洞察力。因為產品工作是時時圍繞解決的是什麼人的什麼問題來開展,也就是始終圍繞做正確的事。只 有對行業與技術有洞察力的人,才能夠站在用戶需求的角度來理解與體驗,激發創意,做出好產品來。 當然,程序員雖具備上述獨特優勢,並不等於程序員轉做產品工作,就一定能夠成功。要策劃出好的產品,要成為一名優秀的產品經理,他們也面臨著各種挑戰: 第一,創新和結構化思維的沖突。 結構化思維可以說是程序員的典型標志,這種思維模式對於把一件事情做好是很重要的,但它往往也會是創新思維的天敵。創新卻是產品工作的靈魂,程序員需要不斷打破常規激發靈感才能做好產品工作,就必須克服已經形成的思維定勢。 第二,團隊協作與英雄主義的矛盾。 程序員往往習慣於單打獨斗的工作方式,崇尚技術牛人,缺少團隊協作意識和與人溝通的技能。產品工作則需要大量的溝通協調,甚至組織領導工作,強調的是團隊作戰。在合作精神方面,想要轉向產品工作的程序員的確亟待加強。 第三,商業意識和市場運營知識匱乏。 特別是在全面產品管理思想下,產品人員需要有很強的市場營銷方面的知識和商業化運作的策劃與分析能力,僅僅把產 品做出來是不夠的,賣得掉才是硬道理。產品策劃的環節,面臨著營銷模式、目標用戶、渠道選擇、競爭策略等的選擇與設計,這也是擺在技術出身的程序員面前的 重要課程。 每個企業,都會根據自身所在行業特點和本企業的資源優勢,來部署不同形式的產品管理機制。程序員針對自己的性格特點和能力特徵,抓住產品管理這一方興未艾的職業機遇,走向產品,以優秀產品經理的能力模型培養來規劃學習道路與職業生涯,是值得重視的一個職業方向。 ------------------------------------------------------------------------------ 安徽高新專修學院
『柒』 程序員工作到底能幹多久程序員的前途如何
千千萬萬的程序員們一直困惑「程序員的前途如何」、「程序員工作到底能幹多久」的問題。目前比較普遍的認識,程序員的職業通道有兩條進階路線。一條 是技術路線,即由程序員、高級程序員、系統分析師,到架構設計師。在這條路線上,立足於從業務模型到計算機軟體模型的轉換,成為高端的軟體技術工作者。另 一條是管理路線,即由程序員,經開發小組負責人、項目經理,再到企業中高層管理者。程序員加強自己管理意識的培養,多站在組織的角度來分析問題和解決問 題,成為優秀的管理者,甚至職業經理人。近年來,產品管理成為企業多產品經營形勢下一個越來越受重視的管理課題。特別是知識經濟環境下,諸如互聯網與軟體、創意、傳媒等現代新型產業鏈中, 其幾乎可以忽略不計的復製成本,有競爭力的產品與優秀的產品管理成為了制勝的關鍵。基於產品的商業化運營,在越來越具聚合效應的網路時代,扁平經營、草根 聚合、精準營銷、直通車服務等全新的經營環境常常造就了贏者通吃的局面,以產品為中心的企業管理逐漸形成獨立的產品管理體系,被眾多企業所關注和採用。在軟體企業中,隨著產品管理的興起,可以說,走向產品,是程序員在技術與管理之外的第三條職業通道。越來越多的程序員開始轉型做產品工作,特別是對 那些具有創業意識的程序員而言,走向產品是一條必經之路。騰訊的馬化騰和360的周鴻禕,他們都是由程序員做起,然後開創自已的產品和事業。產品管理的興起,產生了以產品經理為中心的產品工作職業方向。產品職業方向可以從產品系列的職務與崗位兩個維度來觀察。職務上,有首席產品官 (CPO)、產品總監、產品經理、產品專員、產品助理,其中尤以產品經理一職最為中心;崗位上,有產品競爭分析與用戶需求管理、產品創意與策劃、產品原型 設計、產品運營規劃、產品實現過程跟蹤、產品商品化實施、產品運營、產品經營成果分析與跟蹤、產品升級維護管理、產品管理體系與制度建設、產品人員技能培 養等。這些基於產品而設計的崗位以有效滿足用戶需求為中心,它不同於其它以專業技術和職能效率為中心的因職能分工而產生的崗位。產品管理是近些年隨著IT和互聯網的快速興起而被各企業所重視,而現在的各大院校並沒有產品管理相關的專業,各類培訓機構也少有類似培訓課程,從事 產品工作的人員大多是從不同專業、不同崗位轉型過來的。相比較而言,程序員有著營銷、測試、客服等崗位走向產品的人員所難以比擬的優勢。有些公司甚至做出 了規定,欲從事產品工作,必須要有多年的軟體開發經驗。程序員轉型從事產品工作所具有的獨特優勢主要包括以下幾點:第一,程序員能夠更好地理解產品的實現方案,所策劃的產品更具可行性。做產品策劃工作,也許缺的不是點子或創意,而是有效可行的方案。多年的程序員 工作經驗,對軟體技術和軟體實現方案的判斷,可以規避那些天馬行空的產品想法,工作更有成效。比如在整理用戶需求時,程序員的前期有效判斷和可行性辨別, 會大大提高產品的策劃質量與速度。程序員出身的產品人員可以和研發人員進行無隙的溝通,用更便於研發人員理解的語言和思路來進行產品方案的解讀和跟進。第二,程序員的軟體開發工作,與其說是代碼的編寫,不如說是邏輯語句的組織。程序員一般都具備嚴密的邏輯思維能力,這是進行紛繁而雜亂的需求分析和 產品概念設計必備的優勢,更有利於從中分門別類理清脈絡關系,轉換為產品功能規劃,把產品做成精品。例如需要往U盤寫文件,產品人員可能只想到正常的操作 邏輯,但程序員可能會想到更多異常情況,如:U盤損壞、傳輸過程中拔出、斷電、傳輸的文件損壞、U盤防寫、重復文件、焦點位置、空間不足等等。再有,好 的用戶體驗的產品,在本質上,就是產品功能的邏輯展示,或者說用戶操作的邏輯引導。第三,程序員往系統分析的技術方向發展,從本質上來說,同往產品策劃方向發展是相通的,都需要對真實世界本質關系有著充分的理解與把握。能夠走向系 統分析員的優秀程序員,完全有可能成為一個優秀的產品策劃人員。差別在於系統分析員的工作成果是面向程序員、面向計算機,而產品策劃是面向用戶、面向市 場。每一名程序員也必定是某個軟體產品開發工具的使用者,有深厚的軟體產品使用體驗,具有從用戶出發來表述問題的基礎。第四,程序員一般都具有快速學習能力,保持對計算機相關行業動態和技術革新的觀察與思考,這在一定程度上會培養對行業與技術的洞察力。產品策劃和設 計工作,最後能否獲得市場的成功,考驗的正是這種洞察力。因為產品工作是時時圍繞「解決的是什麼人的什麼問題」來開展,也就是始終圍繞「做正確的事」。只 有對行業與技術有洞察力的人,才能夠站在用戶需求的角度來理解與體驗,激發創意,做出好產品來。當然,程序員雖具備上述獨特優勢,並不等於程序員轉做產品工作,就一定能夠成功。要策劃出好的產品,要成為一名優秀的產品經理,他們也面臨著各種挑戰:第一,創新和結構化思維的沖突。結構化思維可以說是程序員的典型標志,這種思維模式對於把一件事情做好是很重要的,但它往往也會是創新思維的天敵。創新卻是產品工作的靈魂,程序員需要不斷打破常規激發靈感才能做好產品工作,就必須克服已經形成的思維定勢。第二,團隊協作與英雄主義的矛盾。程序員往往習慣於單打獨斗的工作方式,崇尚技術牛人,缺少團隊協作意識和與人溝通的技能。產品工作則需要大量的溝通協調,甚至組織領導工作,強調的是團隊作戰。在合作精神方面,想要轉向產品工作的程序員的確亟待加強。第三,商業意識和市場運營知識匱乏。特別是在全面產品管理思想下,產品人員需要有很強的市場營銷方面的知識和商業化運作的策劃與分析能力,僅僅把產 品做出來是不夠的,賣得掉才是硬道理。產品策劃的環節,面臨著營銷模式、目標用戶、渠道選擇、競爭策略等的選擇與設計,這也是擺在技術出身的程序員面前的 重要課程。每個企業,都會根據自身所在行業特點和本企業的資源優勢,來部署不同形式的產品管理機制。程序員針對自己的性格特點和能力特徵,抓住產品管理這一方興未艾的職業機遇,走向產品,以優秀產品經理的能力模型培養來規劃學習道路與職業生涯,是值得重視的一個職業方向。沈陽師范大學火熱招生中!
『捌』 尋找一張關於程序員敲代碼的動態圖片
平均天100行有效代碼我覺得對得起自己了純手工寫C++
前做web報表系統人家寫好了張報表我拿來照著套生產其報表連html估計天能幹上萬行幾十張報表干……
關鍵花思考和查資料上時間比敲代碼多得多
sdmjxsfcry參考哈·····
『玖』 Java軟體工程師的職業規劃如何走
哇~ 你是為數不多提這個問題的人~
其實工作這么久我也在想這個問題,為什麼周圍的同事每天都願意干著重復無聊的活兒呢?感覺大多數的人對於Java攻城獅的職業規劃都不清晰,甚至是根本沒有考慮過的。
而這個是需要在就業前就想好的啊!
下面我細說一下,看能不能解答你心中的疑惑~
大體來說,分五個方向:
1、 走向軟體設計師
其實很多程序員走到這個階段已經在做軟體設計師工作了。這是絕大多數程序員發展的必經之路。因為,程序員在編程序的時候,一方面會實現設計的功能,另一方 面 也在對設計有一個理解、認識、熟知的過程。進而慢慢地從學習別人設計,轉向到自己參與或獨立設計。如果這個程序員真的非常非常喜歡程序員這個職業,則可以 轉向軟體設計師。這個轉變很大程度是程序員意識的轉變,就是說要把編程的時間,逐步分攤到軟體設計上,要把重點從編程實現轉變到項目的功能設計上。我這里 強調的是「逐步」的一個過程,程序員要逐步減少編程的時間,增加設計的時間,要克服編程的強大吸引力,要主動地攀上設計這個台階。很難有一個設計師是完全 不編程的,而且我認為,會編程的設計師才是真正的設計師。一般這種轉變需要花上一到兩年時間。
2、 走向項目經理
也有一些程序員工作機遇比較好,不但負責了項目的設計工作,而且負責了項目管理工作。對項目經理這個工作有了一定的嘗試。因此,這類程序員可以審視一下自己,是否合適這項工作。如果自己對這種工作比較滿意,而且具備項目經理的要求,則可以向項目經理這個方向發展。項目經理承擔著項目管理的職責,對項目負主 要責任。它和程序員的作用也不相同,項目經理的重點已經從編程轉移到對人、對技術、對進度、對項目的管理。由於軟體的項目經理與軟體項目的相關性太大,因 此,他必須要了解軟體開發的各個環節、了解開發的各種技術和運用、了解開發隊伍人員的水平和特點。所以他依舊和程序員脫不了干係。從程序員到項目經理可以使得項目經理更好地理解程序員在項目中的地位和作用,了解軟體開發的各種規律性的東西。從而保證項目的正常完成。而且,項目經理的收入在公司中的地位也是 比較高的。因此,我認為走向項目經理是程序員的另一個發展空間。我想提醒一下,程序員在擔任項目經理之前最好要把軟體設計工作做好,這樣在做項目經理的時 候,就會有很好的基礎。
3、 走向管理者
很多程序員希望自己能成為公司中的主管、經理、老總、老闆,這樣無論是收入和在公司的地位都相對比較高一些。另外,一方面程序員可能厭倦了年復一年的編程工作,對工作產生了抵觸情緒,希望能擺脫這種步步緊逼的工作狀態。走向管理者其實要求程序員要比一般人做更多的准備,要做更多的轉型工作,並不是想當管理者 就能成為管理者的。但是,如果程序員有這個志向和愛好,有積累了這方面的工作經驗,自己也感覺在這個方面能夠發展,更重要的是有這樣的機會,走向管理者也 是可能的。由於軟體公司的管理者畢竟不同於一般公司的管理者,專業能力越強,管理起來就越得心應手的,沒有專業能力的管理,遇到的問題很多,也很難解決。 因此,我的建議程序員最好要把編程、項目設計、項目管理等基礎打打好。這樣轉型到管理者成功率就會高一些。
4、 走向軟體營銷
我一直說,程序員最大的缺點之一,就是眼光只盯在技術上。程序員在入門階段和成長階段,這種情況還是屬於正常的。但是,到了成熟階段這種缺點將嚴重影響了 程 序員的發展。程序員在工作中不免會接觸到用戶,不免會了解到用戶的需求。從而了解到軟體實際發揮的作用,進而了解了自身的工作價值所在。有的程序員則固步 自封,不願意和外界打交道,從內心裡堅守技術底線。有的程序員則喜歡和外人交流,喜歡把自己的軟體推薦給用戶,而且用戶也樂意接受這種專業的介紹,用戶的 接受是程序員價值的直接實現,程序員因此獲得了工作成就感。這類的程序員可以將自己的專業知識和產品營銷結合在一起,推動軟體的銷售和服務,轉向軟體營銷 職業。這個職業將是一個比程序員更有發展的職業,它可以直接反應程序員的工作能力和工作成果,程序員的收入和銷售會直接掛鉤。因此,可以讓有才華的程序員 獲得更高的收入,接觸到更大的軟體市場,看到更廣的個人發展空間。
5、 原地發展
當然也有一些程序員惰性比較大,滿足於現狀,享受著眼前的勝利果實,也無可非議。對待這些程序員,我們不要強求他們改變自己的想法,我建議是原地發展,把本職工作做得更好,把自己的技術水平往上再提高一步。在這個過程中他們的能力和自信心都會得到提高,他們的想法不會一直一成不變的。磨刀不誤砍柴功,刀快了自然會去砍柴的。
而就我自己目前的情況而言,我選擇的是1,先提升自己的技術水平,保證自己基本的競爭力,然後三五年後朝著管理方向走