❶ 程序員轉行可以做什麼
面對著日新月異的代碼和語言,你是否感到了力不從心?稍有懈怠,就跟不上崗位需要了?身體漸漸的發福,熬夜寫代碼開始扛不住了嗎?
這個時代很殘酷也相對公平,殘酷的地方在於世界的變化之快容不得人有片刻懈怠,公平的地方在於:不論你是年輕還是年老,都要靠實力說話。
那些被時代拋棄的永遠都是跑得比較慢甚至在原地徘徊的人,即所謂的工作十年卻只有一年工作經驗。
年輕程序員的優勢在於年輕和激情,大齡程序員的優勢在於閱歷和經驗。所以,年輕程序員不要有跨越年齡階段的焦慮,大齡程序員也不要覺得年輕人搶了自己的飯碗。
每個年齡段都有自己要解決和面臨的問題,認清自己內心真正的需求和渴望,再去尋找適合自己的棲身之地打怪升級,才是當務之急哦。
❷ 程序員可以做什麼
程序員(英文Programmer)是從事程序開發、維護的專業人員。一般我們將程序員分為程序設計人員和程序編碼員,但兩者的界限並不非常清楚,特別是在中國。
作一個真正合格的程序員,應該具有的素質。
1:團隊精神和協作能力
團隊精神和協作能力是作為一個程序員應具備的最基本的素質。軟體工程已經提了將近三十年了,當今的軟體開發已經不是編程了,而是工程。獨行俠可以寫一些程序也能賺錢發財,但是進入研發團隊,從事商業化和產品化的開發任務,就必須具備這種素質。可以毫不誇張的說這種素質是一個程序員乃至一個團隊的安身立命之本。
2:文檔習慣
文檔是一個軟體系統的生命力。一個公司的產品再好、技術含量再高,如果缺乏文檔,知識就沒有繼承,公司還是一個來料加工的軟體作坊。作為代碼程序員,必須將30%的工作時間寫用於技術文檔。沒有文檔的程序員勢必會被淘汰。
3:規范化的代碼編寫習慣
知名軟體公司的代碼的變數命名、注釋格式,甚至嵌套中行縮進的長度和函數間的空行數字都有明確規定,良好的編寫習慣,不但有助於代碼的移植和糾錯,也有助於不同技術人員之間的協作。 一些所謂的高手甚至叫囂高手寫的代碼一般人看不懂,我只能說他不是一名合格的程序員。
4:需求理解能力
程序員要能正確理解任務單中描述的需求。在這里要明確一點,程序員不僅僅要注意到軟體的功能需求,還應注意軟體的性能需求,要能正確評估自己的模塊對整個項目中的影響及潛在的威脅,如果有著兩到三年項目經驗的熟練程序員對這一點沒有體會的話,只能說明他或許是認真工作過,但是沒有用心工作。
5:模塊化思維能力
作為一個優秀的程序員,他的思想不能在局限當前的工作任務裡面,要想想看自己寫的模塊是否可以脫離當前系統存在,通過簡單的封裝在其他系統中或其他模塊中直接使用。這樣做可以使代碼能重復利用,減少重復的勞動,也能是系統結構越趨合理。模塊化思維能力的提高是一個程序員的技術水平提高的一項重要指標。
6:測試習慣
測試是軟體工程質量保證的重要環節,但是測試不僅僅是測試工程師的工作,而是每個程序員的一種基本職責。程序員要認識測試不僅是正常的程序調試,而要是要進行有目的有針對性的異常調用測試,這一點要結合需求理解能力。
7:學習和總結的能力
程序員是很容易被淘汰的職業,所以要善於學習總結。許多程序員喜歡盲目追求一些編碼的小技巧,這樣的技術人員無論學了多少語言,代碼寫起來多熟練,我們只能說他是一名熟練的代碼民工,他永遠都不會有質的提高。一個善於學習的程序員會經常總結自己的技術水平,對自己的技術層面要有良好的定位,這樣才能有目的地提高自己。這樣才能逐步提高,從程序員升級為軟體設計師、系統分析員。
作為高級程序員,乃至於設計師而言,除了應該具備上述全部素質之外,還需要具備以下素質:
1、 需求分析能力
2、 整體框架能力
3、 流程處理能力
4、 模塊分解能力
5、 整體項目評估能力
6、 團隊組織管理能力
❸ 能一輩子做程序員嗎
出來做程序員,一寫就是好多年,發現身邊的大齡程序員也多了起來,盛傳的"程序員30"的這道坎是不是會落在每個人頭上? 的確,快三十的人慢慢地不大願意像以前那樣加班了,得考慮身體和家庭;薪水漲到了不少,但經濟壓力還是那麼重,估計再找工作,很多老闆看到簡歷的薪水要求就會馬上把自己否決;技術更新那麼快,自己沒有時間去一一追逐;想想同學都是什麼經理,什麼長了,自己還是一個developer, 也許頂個leader的小頭銜,老爸老媽是否還能像以前那樣誇兒子有出息.隨著年紀繼續大下去,還玩得起么? 程序世界不是只有VC/DELPHIC這些程序語言,也不是只有MFC/GLIBC這些庫,NT/Linux這些操作系統, 也許有人覺得做特種兵就是要精通各種語言, 熟悉各種LIB和SDK, 才能玩得轉, 這些都是耗費巨大體力和精力的事情, 老了就完完了. 人家一個密碼學的專家可以幹上一輩子, 為什麼程序員甚至程序特種兵30就玩不動了? 假如一個程序員把自己的價值就定位到VC java DotNet上, 的確就會疲於奔命, 漸漸就玩不動了. 你看招聘, 很多公司上來就要求各種語言,各種資料庫, 甚至還要你精通PS,還能算帳頂個會計, 要求多得不得了. 你看了以後要麼自卑,要麼鄙視: 他們自己都不知道該做什麼東西, 該要什麼人. 那些招聘網站的首頁,那些有名的外企,絕對不會show這種招聘廣告: 丟人哪. 他們只會在基本的程序和平台外語技能後面加上: 精通xxx尤佳,最好該領域有xx年經驗. 這里xxx可能是內核定製,可能是語音視頻技術,可能是OA系統開發, 或者...這些才是他們想要的關鍵技能, 才是你的價值所在. (語言是很基礎很重要的技能,它們就像廚師的菜刀和鍋鏟,它們是一門藝術,但是一個廚師不應該僅僅了解這些。) 常常看到有人問: 我精通這個語言,那個語言,大家看看我到底值多少錢哪? 假如你幹了兩年還這么問,你就麻煩了, 老闆看的不是你單純的程序語言技能, 他要的是你解決問題的能力, 這些更多的和你做過什麼項目, 從事哪個領域或者行業的開發有關. 舉個例子: 你給一家外包公司的簡歷, 說你精通VC或者其他什麼的那行(不是不要你說), 遠遠比不上你說有在外包企業從事3年工作的那行文字重要. 很多人說外企好,別人老闆尊重程序員,他們的程序員干到50還樂呵呵. 這裡面文化的原因當然有, 但是更加主要的原因, 是因為資本家覺得他們還有價值, 而且是比那些剛入行的青年有大得多的價值. 那麼多的內部技術文獻, 那麼多年通過開發和維護系統換來的經驗, 該領域裡面那麼多的細節, 系統該這么作,不該那麼作, 只有這些老傢伙了解, 而且幾乎是直覺上的了解, 我不僅不能開掉他們, 還要讓他們HAPPY, 不能讓他們被別人挖走了.不可能每個人都能轉成市場和管理,每個人都能做首席架構師, 但是這不妨礙我們繼續在一個自己精通的領域內作我們的特種兵: 我們比客戶還清楚他們要什麼; 我們不僅知道系統怎麼做的, 而且知道為什麼必須這樣做. 有些地方, 架構師設計的時候, 必須通過我們的REVIEW評審他才放心; 而且有一點很重要: 這些知識比那些易變的語言甚至穩固的硬體更難過時. ------------------- 不管大公司小公司,對於一些不管什麼項目都做的公司,只想安心做事情的程序員是永遠沒有前途的,對於那些沒有根,沒有技術積淀,沒有行業背景的公司,程序員假如不能轉型成市場或者管理者,他不僅低人一頭,而且對於公司永遠只是一個可以隨時炒掉的螺絲釘。 成為為資深技術人員是出路之一,但是需要合適的土壤,歐美這方面的確好很多,但是在中國找到類似的土壤並非不可能。另外做技術比不上管理風光是必然的,外國中國都一樣,但是是否一直做技術,要看個人興趣和能力。不要迷信外企的"技術管理雙階晉升",那是糊弄人的,但是他們會給技術人員一個起碼的自尊,你起碼可以說:在公司我比經理級別高(雖然你沒有那麼大的辦公室)。 這也是一個一直做技術是否現實的問題,一個如何實現更高的自我價值的問題:有人說年紀大了學習能力並沒有下降,但即使保持了學習能力,給你開那麼多的薪水,你比剛入行的小夥子的優勢在哪裡?可以說,對於新的語言的掌握甚至實戰能力,很多學校出來的新人非常不錯甚至可以說精通,你難道和一批批的新人反反復復的拼這些?就算你樣樣比他們強,性價比呢? 改編自:
❹ 普通程序員一天的生活是怎樣的
普通程序員的一天基本上都是在寫代碼。
當程序員有項目的時候,程序員會根據自己的團隊項目來安排自己的工作,同時也會適時跟進自己的工作進度。當程序員沒有項目的時候,程序員基本上會根據團隊的安排來維護項目,同時也會檢修各種bug。與此同時,程序員的工作其實非常枯燥和單調,同時也有著非常大的工作壓力。
一、程序員需要不斷跟進自己的項目進度。
對於多數程序員來說,很多人都會選擇在公司團隊作戰,也就意味著程序員只是公司項目的一份子。每當公司開發新的項目,程序員需要按照相關的工作進度來執行自己的工作內容。在有些特殊的時候,程序員需要加班加點來完成自己的工作,這也是為什麼大家普遍覺得程序員的加班情況比較嚴重的原因。
最後,每個人的生活方式各不相同,我講的只不過是大多數程序員的生活狀態。
❺ 程序員轉行能幹什麼
可以轉行做設計,或是做前端啊,兩者相關,而且相對來說簡單一些。
❻ 自由程序員能幹到多大歲數還是青春飯嗎
程序員第一大職業風險就是被科技浪潮無情淘汰。
很多行業,從業者的職業生涯從入場到退場,像是在乘機場的自動傳送帶。人少的時候,你可以往前挪挪,或者伺機走一下快速道,越過那些擋在你前面的渾渾噩噩的傢伙,但你能做的也就這些,快不了太多;人多的時候,你只能耐心排著,什麼歲數到什麼位置,前面的人不離場,你不能搶下他的位置。這一路你走的慢慢悠悠,四平八穩,但好歹,不那麼辛苦,除非遇著劇變,你被踢出傳送帶的幾率不大。
程序員不一樣。從入場到退場,活脫脫一出 tomb run 的游戲:身後怪物窮追不舍,你只能不停地往前跑。雖然沿途可以收獲很多金幣(package),但你一旦放慢腳步,或者沒能及時變道,就不得不主動出局或者被清場出局。主動出局一般是體面的 —— 當 manager,當法人,轉 VC,轉 sales,去教書,做莊德撲等等, 總之換個角色浪,從此和之前的角色相忘於江湖;被清場則是不體面的 —— 錢還沒賺夠,就被服務了多年的東家無情拋棄。為了養家糊口,只得 restart,重歸賽道。可賽道哪是那麼好擠回來的 —— 略微謝頂,銀發中間或夾雜著些許黑發,肚腩厚實得,從上往下看,都看不見腳趾的奔四大叔,被二十歲出頭的毛頭小子面試:大叔,說說看,你能給我們帶來什麼價值?
程序員的第二大職業風險是馬太效應過於明顯,有時候稍低的起點就意味著經年累月數倍於別人的奮斗。
2017年的計算機應屆生,我聽說到的白菜價是二十五萬。我信,但這可能是 top 10% 在北上廣深的水平。剩下的,平均收入至少要攔腰。五年後,這些 top 10% 平均水平能上五六十萬,加上股票就沒邊了;而剩下的,平均水平可能還達不到他們同齡人五年前所謂的「白菜價」。
這個游戲是這么玩的:
你學習好,卯足勁上了 985,然後大學的四到六年又認認真真地學習和開發,畢業後工作找你,拿了 BAT 等一線的 offer,兢兢業業工作,工資水漲船高,公司股票翻番,周圍還都是優秀的人,有閑得無聊讀個 MBA 的,有出國接受更大挑戰的,有跑去創業公司當 CTO 的,人比人氣死人,你也就被逼不斷學習維持優秀的狀態,好讓自己不至於墊底。市場上滿滿都是向你拋來的橄欖枝,挪個窩輕松二三成的漲幅,你卻不待見;
你學習不好,僅僅夠上了個一本,大學有點荒廢,代碼沒寫幾行,畢業後你找工作,鞋底磨穿,勉勉強強有個外包公司收留,沒日沒夜地工作,但公司就這么個水平,薪水很難漲,周圍的同事渾渾噩噩地混日子,你稍微努力點,就顯得鶴立雞群。想跳吧,履歷不好,跳不出好結果 —— 給心儀的幾個大公司發了簡歷,卻好像荷葉上瀉過的水,連個痕跡都沒有。
這個行業就是這么操蛋:起點低一些,人生的軌跡就差了很多。你要認清這一點,如果你不幸是那個起點低,現狀差的人,那就加倍努力,想辦法證明自己不比別人差。和咨詢這種出生決定命運的行業,這一行還有很多證明你的水平的機會 —— 起碼,talk is cheap. Show me your code 是行業的共識。
程序員的第三大職業風險是誘惑太多,容易毀了自己的職業生涯。
這里的誘惑主要是市場機會的誘惑。前面說了,局部供需嚴重不平衡,因而不乏揮舞著巨額鈔票的工作機會。如果你沒有一個良好的職業規劃,也沒有清楚地計算機會成本,那麼就很容易被這樣那樣的高薪誘惑,從而在不合理的時間,不合適的機會上跳槽。當新的工作沒有想像的那麼好,或者新的公司遭遇崩盤,你不得不止損出局。這時候,找下一份工作就相當棘手。市場不認可你的價值,而你卻經歷了由儉入奢的過程,不願回頭,於是下一份工作依舊是一個不夠深思熟慮的選擇。當連續幾次錯誤選擇之後,你的職業生涯就岌岌可危了。
我見過五年換過八份工作的人,也見過對自己沒有穩定定位,在幾個方向上來回飄的人。我還見過履歷倒著來的人 —— 在矽谷,見得多的是 Google - FB - Airbnb 的職業切換,我卻見過 FB - Google - MS 的切換(沒有貶低 MS 的意思)。這種沒有想清楚,僅僅因為 package 一時之高低就隨意跳槽,是程序員們的《傷仲永》。
以上。希望能觸發你的思考。陷入深深的沉思前:請先不吝贊賞
❼ java初級程序員能幹什麼
首先我要和你說說初級程序員都要掌握什麼:
1、java的基礎知識,如果把要掌握的知識和所要看的書籍聯系起來的話,你要看《Thinking in java 》、《java核心卷1、2》,如果你把這些書看完了,說明你對java有了一定深度的了解。
2、你對代碼的清晰度和易理解性有比較深入的理解,能寫出比較友好的代碼,而不是晦澀的代碼,相關書籍:《代碼大全》(我的項目經理力推)、《重構改善即有代碼設計》、《代碼之美》。看完這些之後你就會感覺到以前寫的代碼簡直就是一種恥辱。
3、資料庫相關,現在大都開發離不開資料庫,資料庫也成了程序員必備素質。由於資料庫大多了。就要看你們公司和你自己的喜好了。不過大都的sql還是可以通用的,除了資料庫本身的方言和部分函數之外。對了除了要掌握SQL,還要掌握存儲過程。這個也是必須的。
這些東西掌握了之後你就離合格的初級程序員不遠了。其中也不乏還有一些我沒有列出,這也符合計算機中的8/2原則啊。我說的是那80%,而那20%,可以看看伺服器啊、框架啊、什麼什麼的。慢慢來。
❽ 作為一個程序員 30歲之後能幹什麼
30歲依然可以做程序員,30歲得程序員不算老,如果你想再為代碼瘋狂,你可以嘗試做項目工程師什麼的。
❾ 程序員能幹多久
跟別的職業差不多,一般都能做到40歲左右,除非是國企一直做到退休都可以。而且如果轉型轉的好的話 一直幹下去也是可以的,比如說從程序員變成技術部門的管理者或者項目的管理者。企業的架構師之類的。
❿ 程序員工作到底能幹多久程序員的前途如何
千千萬萬的程序員們一直困惑「程序員的前途如何」、「程序員工作到底能幹多久」的問題。目前比較普遍的認識,程序員的職業通道有兩條進階路線。一條 是技術路線,即由程序員、高級程序員、系統分析師,到架構設計師。在這條路線上,立足於從業務模型到計算機軟體模型的轉換,成為高端的軟體技術工作者。另 一條是管理路線,即由程序員,經開發小組負責人、項目經理,再到企業中高層管理者。程序員加強自己管理意識的培養,多站在組織的角度來分析問題和解決問 題,成為優秀的管理者,甚至職業經理人。近年來,產品管理成為企業多產品經營形勢下一個越來越受重視的管理課題。特別是知識經濟環境下,諸如互聯網與軟體、創意、傳媒等現代新型產業鏈中, 其幾乎可以忽略不計的復製成本,有競爭力的產品與優秀的產品管理成為了制勝的關鍵。基於產品的商業化運營,在越來越具聚合效應的網路時代,扁平經營、草根 聚合、精準營銷、直通車服務等全新的經營環境常常造就了贏者通吃的局面,以產品為中心的企業管理逐漸形成獨立的產品管理體系,被眾多企業所關注和採用。在軟體企業中,隨著產品管理的興起,可以說,走向產品,是程序員在技術與管理之外的第三條職業通道。越來越多的程序員開始轉型做產品工作,特別是對 那些具有創業意識的程序員而言,走向產品是一條必經之路。騰訊的馬化騰和360的周鴻禕,他們都是由程序員做起,然後開創自已的產品和事業。產品管理的興起,產生了以產品經理為中心的產品工作職業方向。產品職業方向可以從產品系列的職務與崗位兩個維度來觀察。職務上,有首席產品官 (CPO)、產品總監、產品經理、產品專員、產品助理,其中尤以產品經理一職最為中心;崗位上,有產品競爭分析與用戶需求管理、產品創意與策劃、產品原型 設計、產品運營規劃、產品實現過程跟蹤、產品商品化實施、產品運營、產品經營成果分析與跟蹤、產品升級維護管理、產品管理體系與制度建設、產品人員技能培 養等。這些基於產品而設計的崗位以有效滿足用戶需求為中心,它不同於其它以專業技術和職能效率為中心的因職能分工而產生的崗位。產品管理是近些年隨著IT和互聯網的快速興起而被各企業所重視,而現在的各大院校並沒有產品管理相關的專業,各類培訓機構也少有類似培訓課程,從事 產品工作的人員大多是從不同專業、不同崗位轉型過來的。相比較而言,程序員有著營銷、測試、客服等崗位走向產品的人員所難以比擬的優勢。有些公司甚至做出 了規定,欲從事產品工作,必須要有多年的軟體開發經驗。程序員轉型從事產品工作所具有的獨特優勢主要包括以下幾點:第一,程序員能夠更好地理解產品的實現方案,所策劃的產品更具可行性。做產品策劃工作,也許缺的不是點子或創意,而是有效可行的方案。多年的程序員 工作經驗,對軟體技術和軟體實現方案的判斷,可以規避那些天馬行空的產品想法,工作更有成效。比如在整理用戶需求時,程序員的前期有效判斷和可行性辨別, 會大大提高產品的策劃質量與速度。程序員出身的產品人員可以和研發人員進行無隙的溝通,用更便於研發人員理解的語言和思路來進行產品方案的解讀和跟進。第二,程序員的軟體開發工作,與其說是代碼的編寫,不如說是邏輯語句的組織。程序員一般都具備嚴密的邏輯思維能力,這是進行紛繁而雜亂的需求分析和 產品概念設計必備的優勢,更有利於從中分門別類理清脈絡關系,轉換為產品功能規劃,把產品做成精品。例如需要往U盤寫文件,產品人員可能只想到正常的操作 邏輯,但程序員可能會想到更多異常情況,如:U盤損壞、傳輸過程中拔出、斷電、傳輸的文件損壞、U盤防寫、重復文件、焦點位置、空間不足等等。再有,好 的用戶體驗的產品,在本質上,就是產品功能的邏輯展示,或者說用戶操作的邏輯引導。第三,程序員往系統分析的技術方向發展,從本質上來說,同往產品策劃方向發展是相通的,都需要對真實世界本質關系有著充分的理解與把握。能夠走向系 統分析員的優秀程序員,完全有可能成為一個優秀的產品策劃人員。差別在於系統分析員的工作成果是面向程序員、面向計算機,而產品策劃是面向用戶、面向市 場。每一名程序員也必定是某個軟體產品開發工具的使用者,有深厚的軟體產品使用體驗,具有從用戶出發來表述問題的基礎。第四,程序員一般都具有快速學習能力,保持對計算機相關行業動態和技術革新的觀察與思考,這在一定程度上會培養對行業與技術的洞察力。產品策劃和設 計工作,最後能否獲得市場的成功,考驗的正是這種洞察力。因為產品工作是時時圍繞「解決的是什麼人的什麼問題」來開展,也就是始終圍繞「做正確的事」。只 有對行業與技術有洞察力的人,才能夠站在用戶需求的角度來理解與體驗,激發創意,做出好產品來。當然,程序員雖具備上述獨特優勢,並不等於程序員轉做產品工作,就一定能夠成功。要策劃出好的產品,要成為一名優秀的產品經理,他們也面臨著各種挑戰:第一,創新和結構化思維的沖突。結構化思維可以說是程序員的典型標志,這種思維模式對於把一件事情做好是很重要的,但它往往也會是創新思維的天敵。創新卻是產品工作的靈魂,程序員需要不斷打破常規激發靈感才能做好產品工作,就必須克服已經形成的思維定勢。第二,團隊協作與英雄主義的矛盾。程序員往往習慣於單打獨斗的工作方式,崇尚技術牛人,缺少團隊協作意識和與人溝通的技能。產品工作則需要大量的溝通協調,甚至組織領導工作,強調的是團隊作戰。在合作精神方面,想要轉向產品工作的程序員的確亟待加強。第三,商業意識和市場運營知識匱乏。特別是在全面產品管理思想下,產品人員需要有很強的市場營銷方面的知識和商業化運作的策劃與分析能力,僅僅把產 品做出來是不夠的,賣得掉才是硬道理。產品策劃的環節,面臨著營銷模式、目標用戶、渠道選擇、競爭策略等的選擇與設計,這也是擺在技術出身的程序員面前的 重要課程。每個企業,都會根據自身所在行業特點和本企業的資源優勢,來部署不同形式的產品管理機制。程序員針對自己的性格特點和能力特徵,抓住產品管理這一方興未艾的職業機遇,走向產品,以優秀產品經理的能力模型培養來規劃學習道路與職業生涯,是值得重視的一個職業方向。沈陽師范大學火熱招生中!