❶ 程序員怎樣才能晉升高薪架構師
對於工作多年的程序員而言,職業生涯的發展有三條出路:專精技術、轉型管理和晉升架構師。
網路,系統架構師是一個既需要掌控整體又需要洞悉局部瓶頸並依據具體的業務場景給出解決方案的團隊領導型人物。
架構師工作職能
軟體架構師在整個軟體開發過程中都起著重要的作用,並隨著開發進程的推進而其職責或關注點不斷地變化,在需求階段,軟體架構師主要負責理解和管理非功能性系統需求,比如軟體的可維護性、性能、復用性、可靠性、有效性和可測試性等等,此外,架構師還要經常審查客戶及市場人員所提出的需求,確認開發團隊所提出的設計;在需求越來越明確後,架構師的關注點開始轉移到組織開發團隊成員和開發過程定義上;在軟體設計階段,架構師負責對整個軟體體系結構、關鍵構件、介面和開發政策的設計;在編碼階段,架構師則成為詳細設計者和代碼編寫者的顧問,並且經常性地要舉行一些技術研討會、技術培訓班等;隨著軟體開始測試、集成和交付,集成和測試支持將成為軟體架構師的工作重點;在軟體維護開始時,軟體架構師就開始為下一版本的產品是否應該增加新的功能模塊進行決策。
成為架構師所需要具備那些技能?
所謂架構師,思考的是全局的東西,是如何組織你的系統,以達到業務要求,性能要求,具備可擴展性(scalability),可拓展性(extendability),前後兼容性等。可能涉及到的東西包括了從硬體到軟體的方方面面,實在是一言難盡。
架構師該如何學習
成為架構師條件根據自己經驗列舉幾點
1.喜歡技術,這個是必備條件
2.技術方面要有一個單點突破點,別會很多技術都是個大概七,架構師都玩的很精不現實,精力有限。說自己各方面都很牛的偽架構師幾率大
3.學習能力強,交流能力強,大局觀強,三強能讓你不落伍,不至於吃老本,技術更新太快,別安於現狀
以上我的回答希望對你有所幫助
❷ 程序員的成長之路
了解整體: 對應要學的新知識要也要先了解他的整體知識結構,對整體有個印象後再去仔細學習。可以藉助思維導圖一類的工具,畫出一個技術的知識結構,也可以參考其他人繪制的思維導圖。
左腦思維: 指分析思維。「有一天,「兩條腿」拿著「一條腿」坐在「三條腿」上。突然,「四條腿」跑了進來,一下子搶過「一條腿」。「兩條腿」情急之下,就掄起「三條腿」朝「四條腿」砸了過去」。
右腦思維: 則指富有想像力和創造性的空間與形象思維。「一個擠奶女工坐在三條腿的小板凳上休息,手裡拿著一塊炸雞腿。她剛想咬一口,一隻土狗沖了進來,把雞腿叼跑了。女工一氣之下,掄起小板凳就朝土狗砸了過去」。
增加復習與練習: 強化復習與刻意練習可以幫助我們的大腦完成最重要的一個步驟量的積累,很快我們就會突然感受到質的飛躍。
首先要重現問題: 讓提 bug 的同事重現問題,自己也按他的步驟把問題重新顯現一次,這樣我們就知道這個 bug 是在什麼情況出現的,從而找出程序的報錯的錯誤信息、錯誤碼以及報錯的文件地址和行數,然後解決 bug 就很容易了。
寫博客記錄: 我們千辛萬苦的把問題解決了,一定要做好筆記,不然下次遇到相同問題可能還是忘了怎麼解決,可以總結一下寫在自己的博客中。以後面試求職,博客也能為我們加分不少。
第32本書 《內外兼修:程序員的成長之路》
❸ 如何成長為一個真正合格的程序員
優秀程序員都是很努力的
一個真正合格的程序員,除了要有扎實的理論基礎和代碼能力,還要有諸多的綜合素質。除非你只是一個純粹的碼農,除非你只是想做一點平淡的代碼工作,否則如果你想有更好的發展,那就必須「學習」。從我自己的發展經歷來講,其實我只是一個半路出家的程序員,我沒上過高中,只是師范畢業,學的還不是計算機,而是美術專業,從參加工作那天起開始自學計算機,花了半年學會了VB程序設計,寫了第一個vb程序,一個校園的自動播音系統,實現了校園鈴聲、升旗、課間操等定時音樂的自動播放,免費提供給學校使用,給學校帶來極大方便,從此我愛上了編程。後來為了宣傳單位的形象開始自學ASP腳本語言,一個月時間寫出了第一個ASP網站,在這個過程中學習了網頁前端布局,知道了前端可以有JS控制,知道了域名是什麼,知道了http協議,知道了WEB服務的發布。從那時起,我覺得網站建設就是一個商機,從此開啟了我的網站建設之路。其實也就是程序員發展之路,至此,我在這條路上一發不可收拾。
在這期間我開始接一些網站建設的活兒,一開始,在網上搜索一些開源的代碼進行修改,滿足客戶需求,但是很快發現一些問題,大多數代碼都是預先掛了一些廣告在裡面,如果對程序不熟悉,等你網站發布出來,你就只能看到滿山的網站,客戶當然就不滿意了,最後你還不知道這些廣告從哪裡冒出來的,甚至有些網站留了很多漏洞和後門,讓你防不勝防。所以,想想還是自己寫一套CMS系統,我只自己使用,只放在自己的伺服器上,這樣的話安全性高了很多,至少被攻擊的幾率少了多,也不擔心莫名其妙冒出來的廣告。於是,我開發了第一套產品,屬於我自己的CMS,期間我可以說學到了更多的知識,累積了不少的產品開發經驗。所以這里我總結一條,要成為一個合格程序員,最好完整的做一個項目吧。哪怕是項目的前端不懂,資料庫不懂,逼迫自己去學習,去了解,最終產品雖然不夠完善,至少你了解一個項目需要什麼,和什麼技術有關聯,這樣對你自己所擅長的東西就很有幫助。
不斷學習,與時俱進。我喜歡一句話叫萬變不離其宗。雖然程序語言有很多,但是基本原理還是相通的。我做了第一個ASP的CMS以後,很快發現ASP的程序網站已經不能適應項目開發的需求,需要更加高效的腳本語言來實現更多的功能。這個時候php就成了我首先研究的語言,因為我發現很多第三方開放的APi提供的都是PHP的,這讓我們使用更多其他第三方功能的時候開發會更加方便快捷,所以我花了一個周,學習了基本語法和函數,我發現從ASP遷移到PHP其實是很簡單的事情,只是語法不同,程序結構也是一樣的,條件格式、邏輯判斷、條件分支、循環處理也都差不多。經過學習很快掌握了這個語言,開始了項目開發之路。可見不斷的學習,也就是自我成長的一個重要的過程。
良好的思維能力,這是一個程序員必須具備的技能。思維能力就是一個能夠讓代碼在你頭腦中執行一遍的能力,也就是說你在寫代碼的時候你的腦海里就能呈現出代碼運行以後的結果,呈現給用戶的界面,把抽象的邏輯代碼轉成具體形象的能力。良好的思維還體現在,一個程序的處理其實都離不開計算機運行的本質,那就是數據輸入(數據從哪裡來),到數據處理(獲取的數據需要怎麼加工處理或者轉換為另一種形式),最後到數據輸出(給用戶呈現一個結果,圖像的、文字的、視頻的、聲音的或者是多媒體的)。程序整體是這個理念,分解到很多細小的模塊也是這樣,所以只要有這些核心理念,你的思維能力就不會有問題。
通過我的學習和發展,我總結了,要讓自己成長為合格程序員,離不開學習,離不開項目實踐,離不開思維的創新,更離不開努力勤奮和汗水,願有志青年都想有所成,學有所收,成就自我!
❹ 程序員是青春飯 40歲後怎麼辦
可以繼續做程序員,也可以自主創業,或者做在線"承包"的工作,成為自由職業者。
說程序員是一碗青春飯,大多是因為這是一個需要高強度腦力勞動的工種,而超過40歲的程序員身體機能逐漸弱化,家庭瑣事纏身,往往面臨繼續做技術還是轉做管理的局面。有人考慮轉型,當然也有人選擇對這份職業矢志不渝。
但是,無論在一個社會還是公司,管理者永遠都只是少數人,大多數公司也只有一個CEO、CTO和CIO。少數就意味著激烈的競爭,盡管如此,最終達成個人目標,贏得社會贊譽的人也有很多。比如4月初接任王堅的阿里現任CTO張劍鋒,還有雅虎美女CEO瑪麗莎·梅耶爾。
可以說,作為一名管理者,你不僅需要精湛的技術水平,同時也要求背負團隊進度和效率,也要求任職者擁有良好的溝通能力和卓越的領導力。
從一名普通的"碼農"晉升為上市公司的CTO或者CEO,整個晉升之路就像是一個漏斗,很少有人能沉澱下來。但是,這仍然是程序員尋求一條專業化最理想的道路。
自由職業者當國內對於自由職業者的定義還停留在無業遊民或藝術工作者的時候,很多國家的程序員已經實現在家掙錢的夢想。很多國家成熟的IT環境讓程序員成為IT自由職業者似乎並沒有那麼難,方式主要可以分為線上和線下兩種。
程序員應該都知道或者接過一點兒"私活兒",少則三五百,多則成千上萬。其實這也是成為程序員自由職業者線下盈利的最重要的一種方式。只是,這需要程序員認識一幫能夠給你私活兒的朋友,還需要擅長和對方談業務。相比線下利用人情關系接私活兒的方式,在線眾包業務似乎更適合自由職業者。
類似於freelancer的網站在國外已經出現很久,目前國內也出現一些相似的網站。程序員可以通過在線"承包"的方式,憑自己出眾的業務能力和好運氣來搶工作。
❺ 程序員年齡增大後的職業出路是什麼
1、晉升管理層
隨著技術水平的提高和經驗的積累,在一段時間後很容易會逐步往公司高層進發,一方面是能力決定的位置,一方面是基礎的開發工作已經可以由新員工接手,自己將繼續在架構以及更為戰略的領域進行工作,這也是大部分人們的一條好的通道。
2、技術研發
這方面的工作也是基於開發水平逐步優秀,同時自己並不想從事管理工作而出現的,隨著積水的提高可以一門心思做著喜歡的開發工作,做著公司較為前沿的研發工作,也是許多技術大牛的發展趨勢。
3、穩定工作尋求兼職
在管理和技能都難以尋求突破的時候,可以在穩定工作的基礎上尋求兼職,一方面可以以自己的經驗快速完成公司業務,另一方面可以根據自己的能力尋找適當的兼職,賺更多的薪水。
4、跳出創業
創業的選擇固然是沒問題的,不過還是不要跨行創業,根據自己的技術和領域進行適當的嘗試,注意風險的同時,也可能收獲意外驚喜。
5、自由職業
跳出固有的工作,選擇自由職業,可以更靈活的安排工作和生活,不必為了工作而委屈生活,只要尋找到合適的自由職業,那麼就是工作、生活雙豐收的局面。
❻ 程序員未來有哪些發展方向
絕大多數程序員最終的職業目標可能都是CTO,做到CEO的人估計會比較少,也有一少部分人自己去創業去當老闆,也有部分人轉行了,當老闆的牛人也有。一般來說,程序員的發展基本上都會經歷這么幾條路徑。程序員-系統分析員-架構師-技術經理-CTO,程序員-項目組長-項目經理-項目總監-CTO,程序員-產品設計師-產品經理-CTO。
當然這只是一個大致的路徑,不是所有程序員都必需要這么經歷的,有些人可能跳過其中的一些步驟,也可能有些人會把中間的很多職位都做了。而很顯然,CTO,是大多數程序員的終極夢想。
也就是說,許多的程序員最終可能是做技術經理、項目經理或者項目總監之類的,那麼到底我們職業生涯要選擇哪一種呢?我覺得這個問題沒有一個統一的答案,因為每個人的個性和情況不同。但有一點是重要的,一是有際遇一定要抓住,二是自己要努力。
比如說你正好有機會帶一個項目,而你又不是很討厭項目經理這個位置,那麼你就可以考慮向項目經理發展。因為老闆讓你做,說明他看到你有這個素質和潛力。要相信別人的眼光。
但是大多數人是遇不見這么好的伯樂的,那就要自己努力。沒有能力就學能力,沒有知識就學知識,沒有氣場就每天照鏡子練。如果你的確不知道怎樣才能從眾多的程序員中脫穎而出,那麼就去參加培訓,培訓別選學費巨貴的,選有特色還不貴的。用一兩個月工資,可以換來你能力的快速提升。
再說有些公司,並沒有明確的技術經理、項目經理、產品經理之分,在許多的公司里,他們經常是幾個人混搭的。在外包公司里,通常會有項目經理和系統分析員(也可能是技術經理)。在一些非IT公司里,可能會是部門經理,而做自己產品的公司可能會分得比較詳細一些。我大致說一下這三個職位的區別,讓正在徘徊的程序員有一個大致的了解。
項目經理是項目的直接負責人,這個角色相當於一個中間介面,不管是團隊成員還是需求方(客戶),或者是上級領導,有事都直接找他,所以這個職位著重於管理與溝通。一般來說,項目經理的工作重點在同客戶溝通需求、項目進度的把控、團隊的溝通方面,有些公司也會需要項目經理承擔團隊建設的工作,不過貌似很多國內公司都忽略了團隊建設這個工作了。對於項目經理來說,重點會要求溝通能力、協調能力、危機把控能力、執行力、團隊管理能力,著重於溝通、管理與計劃。當然也有些公司還要求項目經歷要參與招標談判,這就要求項目經理有一定的商務談判能力。
技術經理有時候也可能叫系統分析員,一些小公司可能會整個部門有一個技術經理。技術經理承擔的角色主要是系統分析、架構搭建、系統構建、代碼走查等工作,如果說項目經理是總統,那麼技術經理就是總理。當然不是所有公司都是這樣的,有些公司項目經理是不管技術團隊的,只做需求、進度和同客戶溝通,那麼這個時候的項目經理就好像工廠里的跟單人員了,這種情況在外包公司比較多。對於技術經理來說,著重於技術方面,你需要知道某種功能用哪些技術合適,需要知道某項功能需要多長的開發時間等。同時,技術經理也應該承擔提高團隊整體技術水平的工作。
產品經理這個職位一般在有自己產品(不管是軟體還是網站產品)的公司比較常見,產品經理主要會負責產品的設計、產品的改良等工作。需要注意的是,產品設計與設計師是兩個不一樣的工作,產品設計主要會從用戶體驗、業務需要等層面去設計產品,而設計師更多是從用戶的視覺上去做。產品經理應該是最懂業務的人,比如說你在設計一個微博的產品,就要求你對微博這個東西非常熟悉,從用戶習慣、用戶體驗、公司的發展戰略上去設計這個產品,還要對比同類產品會有什麼優勢等等。
不管是項目經理還是技術經理與產品經理,都要求要熟悉業務,業務是需求的來源,沒有不談業務的技術,所以不管你從哪個方向發展,都要求對業務熟悉。產品經理要求對業務最熟悉,項目經理次之,技術經理排最後。對於程序員來說,剛開始工作的前幾年可以埋頭扎到技術裡面,一般這個時間在2-3年的時間,然後就應該多關注業務了。這個業務不一定是指某個具體的業務,因為具體的業務的范圍太少,而且也需要機遇。
我見過許多的程序員,他們是做Web開發的,但對互聯網很不熟悉,對於互聯網流行的趨勢基本上不聞不問。不知道現在大家都在使用微博,也不知道SNS,也可能從不使用網銀。我覺得這樣很不好,程序員應該多多去關注互聯網的發展,多多去玩一些新的網站。
對技術不敏感、不興奮的人,對進步和快速提高沒有強烈慾望的人,是沒有辦法在IT界生存下去的。
❼ 入了IT公司,現在是程序員如果想晉升的話有哪些分支呢
一般有技術和管理兩個路線。
技術路線就是往某一方面的專家去晉升,比如BAT等大廠的技術工程師,就是看等級的。據說阿里的分級是這樣:
P1,P2:一般空缺,為非常低端崗位預留。
P3:助理
P4:初級專員|
P5:高級工程師
P6:資深工程師
P7:技術專家
P8:高級專家
P9:資深專家
P10:研究員
P11:高級研究員
P12:科學家
P13:首席科學家
升一個級別,薪水上下限都會增長。
技術管理也是一個方向,會帶技術團隊的。但比較考較管理技能
❽ 程序員怎麼升職
1.大公司:打下手---代碼工--- 程序員---項目組長---項目經理
2.小公司:代碼工---程序員---項目組長---項目經理
雖然小公司容易成骨幹,但項目組長拿的錢也行沒有大公司程序員的高
也許很多程序員都碰到過,自己的技術能力已經很棒了,可還是無法升職,其實程序員要晉升到管理層,不僅僅要技術好,溝通、應變力和為人處事也是非常重要的。
1. 大膽的說出自己的想法
大多數程序員都不善言辭,溝通能力不夠。而一個正常軟體項目開發,都是團隊合作模式,同時也是按照用戶的需求進行分析梳理。如何很好的獲取用戶的需求,並與用戶及團隊內部之間溝通,是工作能力突出的重要的一環。平時,多與周邊的同事溝通,周末多參加戶外活動,努力的將自己圈子打開。平時多發表自己的看法,不用擔心會受到批評,說出去才是關鍵。
2.要注重細節
公司團隊里很缺乏一個項目助理,然後不得已選了一個程序員小伙,讓他兼職管管樣機、發發通知,這個小伙絲毫沒有怨言,除了自己的代碼照常寫的非常穩妥之外,這些小事也處理的非常好,每天加班加點也要完成。後來沒多久他就當上了主管。一個有能力把小事做到極致的人,也必定有潛力把大事做好。
3.聽取別人意見,取別人長處
人都會犯錯,一般犯錯的時候領導會直接指出來,有些人每次聽完之後都會去反駁這些理由,而且還覺得這並沒有達到自己想要的,然後他交上來的東西依然沒有任何改變,而有些人都會說:我以後會注意「、我會按照您的要求去執行、這是我的想法不知道您覺得如何。然後接下來就看到他的改進。
一般領導在明確指出你的錯誤,不管是耐心的說教還是嚴厲的批評,你都應該抱著「有則改之無則加勉」的心態,如果你要反駁,就需要准備充分的理由和依據。
面對領導的意見,要弄清楚其准確意圖,然後實施針對性的改進措施。這就是團隊里的游戲規則和生存之道。即使不是領導,是平級和下屬,也應該採用類似的心態和應對方法。
4.不斷提高自己的技術
一般程序員都會有自己的職業規劃,在什麼樣的年齡達成什麼樣的成就或者技術水平的一個整體提升,目前從技術提高的曲線來看,新手的技術提高速度最快,無論從時間還是急迫性兩個方面對新手的壓力挺大的。而到了成熟階段,其編程時間也大大縮短了和學習技術的迫切性也降低了,所以技術提高速度就慢下來許多。所以,你需要時刻看看自己的技術發展之路,哪些走的比較踏實,哪些走的比較急促;哪些是自己的技術特長,哪些是自己的技術薄弱環節。反思後一定要抽出時間抓緊學習,把自己的技術上明顯不足的地方給補上,這樣程序員的技術水平加上豐富經驗和工作能力會使得自己更加具有實力,可以應付各種挑戰,為今後的發展鋪平道路。
❾ 10年做到CTO 一個美國程序員的職業晉升路[1]
10年做到CTO 一個美國程序員的職業晉升路[1]
我在美國工作了十年,十年的時間,不長也不短,我從一名普通的程序員成長為FreeWheel的CTO。在這期間發生了許多事情,結識了很多朋友,他們在我的成長過程中伸出了無私的援助之手。可以說,沒有他們,就沒有今天的我。我想,就和大家分享一些我十年中最感動,印象最深刻的小事情吧,也希望能藉此機會結識更多的'朋友。
我的職業生涯,從DoubleClick開始。進入DoubleClick,起始於一個機緣巧合,九年以後,我在離開DoubleClick時的告別信中講道:“……destiny landed me at Doub-leClick……”,指的就是這個巧合。
一個幸運蘋果的故事(the story of a fortune cookie)
——偶入DoubleClick十年前當我准備去紐約度春假時,接到了一個電話。電話是DoubleClick 的一個叫John Bongiorno的獵頭打來的,我至今仍記得這個名字,因為“Bongiorno” 是義大利語“早晨好”的意思。他在網上見到了我的簡歷,希望我能到DoubleClick去面試。坦白講,我當時並沒有在找工作,我答應了他只是因為DoubleClick的總部在紐約,而我正好要去紐約玩。
在到達紐約的當天,我在紐約的朋友請我吃晚飯。你一定聽說過國外的中餐館有一個咱們在國內沒見過的習慣:餐後贈送客人幸運餅果“fortune cookie”。我的fortune cookie中的紙條上寫著:“You are offered a dream of your life time, say YES!” ,第一次見到如此好的寓意,我很高興地把紙條放到錢包里。
第二天下午去面試,見到很多人,其中兩個人給我印象深刻,一個是Vince Li ,他後來成為我最好的朋友,專注於技術上的發展,是DoubleClick最出色的架構師;另一個是John Heider,當時的工程部副總裁。我和John的談話進行得非常愉快,他在談話結束時出乎意料地對我說:“I have such a great feeling that I am going to offer you a job, right at this moment. What do you say?”我很震驚,記起了那個幸運餅果中的小紙條,就拿給他看。John爽朗地笑著,告訴我會很快收到通知書。我真的很快就接到了通知,特別的是,John還隨信寄來了一張卡片,他在親筆題名的卡片上寫道:“Diane, I wish your next fortune cookie says DoubleClick, YES!”我非常感動,沒想到他會記住我們談話中一個微不足道的小插曲,更沒想到他還為此寫了卡片。就因為這張卡片,我在畢業的當天就捲起鋪蓋到了DoubleClick. John給我上的第一課,便是如何用心去僱人。多年以後在CSDN的CTO論壇上,我曾談到“用心交人,用心僱人,用心培養人”的重要性,我的第一個老師就是John Heider.
;