❶ 問下師兄師姐,你們有從程序員晉升到軟體工程師的嗎能分享下你的經歷嗎
其實程序員和軟體工程師兩者並不是級別上的稱呼,不是能力上的區別,程序員就是個行業稱呼,有些公司也直接叫工程師,更多的還是跟你工作項目積累有關,加油吧
❷ 程序員如何在公司得到晉升機會
程序員的發展路徑主要是兩個,一是走技術專家路線,二是做項目管理。前者需要對技術的熱愛,喜歡解決技術難點,後者則要會管理團隊,善於激勵人。你要根據自己的興趣點來規劃,以下三點建議:
3.培養架構能力
架構師是比程序員更高的職位,要求基於用戶需求做整個軟體的架構設計。要做好這個工作,就需要更全面的知識能力。比如你要考慮軟體的穩定性,可靠性,未來的擴展性等等。
綜上所述,程序員想要晉升,就要找准路線,提升競爭力,有步驟的實現目標。
❸ 程序員如何才能晉升為優秀的高薪架構師
晉升為優秀的高高興框架是程序員在工作的時候,一定要認真的工作,努力的學習,而且還要進一步的去深造自己,把自己的各項工作做的更好,這樣才能夠呃,今生為優秀的高興框架時,我以後的呃學習和工作更加有前途展望。
❹ 如何從初級程序員過渡到中高級程序員
在程序員圈,一直流傳著這樣一個傳說,用發量來判斷程序員的級別,這明顯是種調侃。那麼,中級程序員,相對於初級程序員,有哪些不一樣的特質呢?
總得來說,比較於初級而言,中級程序員在執行層面屬於攻堅力量,他們不僅能獨立完成高檔難度的開發使命,並且在用戶體驗(質量提高)和功能優化(優化效率)都能作更全面的考量。
以下,是小編總結的關於中級程序員七大特點,各位可以對號入座。
(一)善於溝通
程序員內向的居多,喜歡交流的很少,但中級程序員往往能夠克服自己的內新的恐懼心理,多和同事交流。
甚至有管理者認為,程序員應該80%的時間,花在同事的交流上。不僅是部門內的同事,也還包括跨部門溝通,敲代碼的需要經常與產品經理、運營的同事溝通需求。
日本不少跨國公司,甚至有讓程序員去體驗幾個月銷售員的傳統。公司要求,程序員在敲代碼的同時,也要能夠理解一線用戶的需求。
交流對於初級程序員了解技術的發展,也相當有好處:讀讀博客、學學新語言和框架、討論討論話題、看看同行在做什麼。自掃門前雪,很難成為一個優秀的程序員。閉門造車型的程序員終將被時代的潮流所淘汰。
(二)對編程有激情
有些程序員干這一行只是為了掙錢,如果有更好的職業,他們會毫不猶豫的辭掉程序員的工作。
能夠順利晉升為中級程序員的人,往往熱愛編程,喜歡鑽研代碼中的問題,他們感到能指揮電腦來幫助人們和自己解決現實生活中的問題是一種神奇的能力。當遇到問題無法解決時,他們會茶不思、飯不想,無法入睡。
每個人都有心理上的舒適區,但是中級程序員,會不斷地突破自己心理上的舒適區。
他們很樂於經常去研究沒有接觸過的代碼,也正因為這樣,成長速度快的中級程序員會越來越熟悉不同的代碼結構和設計模式。
(三)精通代碼調試
幾乎所有的程序員寫代碼都不是一遍就能寫好的。精通代碼調試 ( debug )很多人在寫代碼的過程中,經常會有的一個問題就是:為什麼我寫出來的代碼不能運行?為什麼運行的結果不是我想要的?
中級程序員非常快的就明白自己代碼的問題可能是什麼。代碼調試是一個很重要的能力,但是偏偏學校里不教,面試的時候考官也不經常提及。那麼怎麼去調試代碼呢?
代碼調試是有一套方法論的。最簡單的就是在代碼里輸出日誌來判斷,復雜一點則需要去接觸一些高級的工具,或者直接帶有 Debug 功能的編輯器。
(四)主人翁精神
部分初級程序員剛入行,可能還沒有進入狀態,往往認為自己是打工者,以打工者的身份和心態工作。
中級程序員卻會把自己當成企業的主人,他們知道企業的利益和自己休戚相關。
成熟的程序員明白一點,作為一名優秀的企業員工,自己是生產者而非消費者。他們心中一直想得是自己能夠為公司,為顧客創造什麼價值,而不僅僅只想著待遇。
(五)工具型思維
中級程序員知道如何能更高效的完成任務,如何更能有效的解決問題。其原因是工具型思維,如同荀子所言,「君子生非異也,善假於物也。」
Facebook 前技術總監 Bobby Johnson 說,高效率的程序員都把時間花在製作工具上。很多人也認為工具是很重要的,但是他們並沒有花時間去製作、整合自己的工具。但是,Jonson 團隊最出色的員工耗費了他們 1/3 的時間在工具製作上,這些工具可以用來發布代碼,監控系統,以及能讓他們花更少的時間去做更多事情。
中級程序員遇到問題時,不鑽牛角尖,善於利用外部工具解決自己的問題,特別是能熟練應用搜索引擎。
(六)刻意練習迭代速度
魔鬼在細節上,如果一個程序員想要提高自己的工作效率,就需要他能夠不斷地在細節方面,進行微創新,提高效率。
舉一個例子,假設一個初級程序員,每次要花 12 秒鍾去搜索某個函數是在哪裡定義的。如果,他每天做這個動作 60 次,就要花 12 分鍾去搜索函數定義。
中級程序員會選擇用一個好一點的編輯器,每次找到函數定義只要 2 秒鍾,那麼他每天將節約 10 分鍾,每年節約 40 個小時。如果能夠找到 3 個這樣的場景去優化一下,那麼對於中級程序員來說,每年可以節約一個月的時間。
(七)系統學習
學習是要有方法的,尤其是在職場中,程序員的自我學習要符合兩點要求:一是有結果;二是高效。因此,系統性學習,非常重要。
高級程序員系統學習指南如下:
第一步,源碼分析。看看大牛是如何寫代碼的,提升技術審美,提升核心競爭力。
第二步,工程化。工欲善其事必先利其器,不管是小白,還是資深開發,都需要先選擇好的工具,提升開發效率和團隊協作效率,讓自己有更多的時間來思考。
第三步,分布式。從深度到廣度的完善自己的知識體系,准備迎接高並發大數據的挑戰
第四步,微服務。繞微服務的通用模式,學習spring Cloud的常見用法及原理,讓微服務的開發更加方便 快捷,讓微服務應用更加穩定 可用。
第五步,性能優化。從JVM底層原理到內存優化 再到各個中間件的性能調優,做最科學和最嚴謹的性能調優。
第六步,並發編程。深入了解底層原理,不只是做一個開發者。
第七步,積極參加大牛的分享。
(八)總結
可以理解,對於初入職場的程序員來說,他們在內心也知道學習的重要性,但因為沒有時間,被老闆的需求給填滿,沒有精力去提升自我。
然而,根據人類的學習曲線來說,任何一門新的技藝,都是一條對數曲線。其分為兩個階段:緩慢期和高速發展期,即初期很慢,後期進展迅速。
如果,能夠讓程序員在剛進入職場的時候,便擺脫初級程序員的桎梏,直接擁有中級程序員的實力,是不是就能跨越學習曲線的緩慢期呢。
知名IT教育機構傳智播客已開通了中級程序員課程,發布了全新的項目,想學習的小夥伴抓緊
❺ 入了IT公司,現在是程序員如果想晉升的話有哪些分支呢
一般有技術和管理兩個路線。
技術路線就是往某一方面的專家去晉升,比如BAT等大廠的技術工程師,就是看等級的。據說阿里的分級是這樣:
P1,P2:一般空缺,為非常低端崗位預留。
P3:助理
P4:初級專員|
P5:高級工程師
P6:資深工程師
P7:技術專家
P8:高級專家
P9:資深專家
P10:研究員
P11:高級研究員
P12:科學家
P13:首席科學家
升一個級別,薪水上下限都會增長。
技術管理也是一個方向,會帶技術團隊的。但比較考較管理技能
❻ 在公司程序員的升職步奏
大公司
1,打下手(1-3月)-----代碼工(3-8月)----
程序員(1年到?)------項目組長(1年半以上 看機遇)
------項目經理(3年以上 看機遇)
小公司
1,代碼工(1-3月)----程序員(3月到8月)------
項目組長(1年左右 優秀的)-----項目經理(2年以上)
雖然小公司容易成骨幹 但項目組長拿的錢也行沒有大公司程序員的高
-------------------------------------------------------
以上是正常發展順序
以外:機遇好、跳槽可以打破上面的
PS:如果不是比較大的公司 在30歲還不是項目組長的話 建議轉行或做生意
-------------------------------------------------------------------
軟體測試師、軟體工程師、系統分析師、軟體架構師
前兩者那個好 目前不好說
後兩者級別高點。。。處於CTO級別
❼ 如何從普通程序員晉升為架構師
程序員晉升架構師的十項必備技能
1、卓越的程序員 Fred George先生說:「不編程的架構師的職業生涯是短暫的」。他說這句話的背景主要是針對有些架構師的設計與實現有斷層的問題而言的,因為如果架構師不去 實踐,只是想當然的認為「沒問題,這個想法能實現」,那麼對於項目的落實而言是個很大的隱患。支付寶架構師馮大輝也表示過,架構師是一個比較「虛」的崗 位,主要的問題都在「落地」的過程中。--ITJOB--
2、抽象思維 很多優秀的架構師們都一致的表示,邏輯思維和抽象思維能力是一個架構師最重要的素質。eBay的 Randy Shoup先生稱擁有條理清晰的邏輯思維能力的人「就像稀有動物那樣難找」。Fred George則表示「駕馭概念的技能,在我看來是每一個人最高的潛力」,並表示自己不太介意這樣一個苗子在其他方面的技能和經驗的匱乏,因為在他看來除了 思維之外的其他因素都是可以培養的。 --ITJOB--
3、技術前瞻性 有人談到技術高手與架構師的區別就在於,架構師不光是著眼於現在,不僅僅局限於開發細節,比如如何調用,如何並發等等。而是跳出三界外,考慮一下面向未來問題和潛在風險的應對之道。--ITJOB--
4、問題解決大師 只是,架構師之所以為架構師,是在於他們在面對龐大系統之時,仍然能夠敏銳的發現其底層之真實。這不僅需要此哲學層面的「內功」,還需要架構師具有多領域知識和經驗的積淀。--ITJOB--
5、多領域知識 架構師身為一名技術領袖,需要通過發散知識的光芒來統御開發團隊的。如果只是對本行業知識做到爛熟於心,那還僅僅是一名熟練工的水平。要想晉升更高的層次,還需要跳出「只緣身在此山中」的困惑。--ITJOB--
6、溝通能力 做到人性化的溝通,需要我們在平時就進行培養。寫出大部頭的架構書,有的時候並沒有用VISIO畫出的簡單架構圖好理解。人對圖形理解遠遠大於對文字的理解,直觀簡單的UML圖可以極大的方便程序員理解架構師的意圖。--ITJOB--
7、內力 很多人理解的內力就是開發技術,包括語言的掌握、對框架的掌握、資料庫管理能力、安全管理能力等等。但是我們看到,架構更多的內力體現在對技術的綜合運用上,光會編程的程序員,最多就能做到高級程序員,也就是技術實現上的高手。 --ITJOB--
8、權衡取捨 Fred George先生提出了「短期濫用」的說法,即在系統能夠承受的范圍內做出一些妥協。在ATAM方法中,分析的思路是基於「情景」的:你需要提出各種可能 的情景,然後來證明在每一個用戶使用場景中,系統的哪一些內容是必要的、不可丟棄的——從而確定哪些部分是暫時可以不予考慮的。--ITJOB--
9、管控能力 架構師在管理和控制的能力上,需要有自己獨到的見解,而不是簡單的認為這是項目經理或者財務部門 的事情。身為技術專家的架構師,隨不需要處理那些煩雜的日常管理。奇虎架構師李釗在一次接受采訪時道出過架構師們的心聲,技術人才轉向管理就是莫大的浪 費。對,如果架構師只是一味的去進行項目管理,那就和其他市場人員沒有任何區別了。在這里架構師所需要的管理與控制,其實是從技術的角度,對一些問題的控 制,特別是開發過程中的監控,而不是普通意義上的純粹管理。--ITJOB--
10、藝術氣質 一個優美的系統則是可以像有機的生命一樣成長的,這是因為從系統開始架構的那一刻起,架構師就考 慮到這個系統以後將會面臨的挑戰,為系統的成長預留好空間。項目經理經常會對這位架構師提出的看似理想化的要求不置可否——項目經理只想著能夠盡快以比較 低的成本實現客戶的需求,然而這些充滿藝術美感的想法其實是打造健康——因而優美——的系統的根本因素。--ITJOB--
❽ 程序員怎麼升職
程序員完全是靠技術吃飯的,只要技術高了,工資就會高,至於說升職的話,因為一般一個技術部門也就一個領導,一個小組可能會有一個小組長,程序員的流動性也是比較大的,因此一般稍微有點管理崗的都是老員工。
❾ 初級Java程序員要怎樣發展,如何晉升
作為新手,你會先從實習生或者初級程序員做起,然後隨著自己技術的成熟,逐步的達到中級工程師的水準,能夠獨立完成一部分開發任務,如果達到高級工程師的水準的話,你還需要再學習更多的技術,這些技術不僅僅局限於Java,如js和資料庫等,當你對整套技術都非常精通時,你便是一個真正的高級工程師,而Java則只是你所掌握的主要技術之一。
2.實際上有不少初中級Java程序員或項目經理轉行做產品經理了,產品經理不僅僅需要對技術頗為了解,更需要懂得策劃和規劃,了解項目管理和產品管理的知識,並要具備非常好的溝通能力。當然,一個剛剛從業的人很難跨入產品經理的行列,一般做1到2年開發工作的人可能會跨到這個行業來。
3.不少人學了Java後,可能往軟體工程方向發展,這個時候參與具體的編碼工作不會那麼多,主要要做的工作是需求分析,項目管理,隨著水平的提升,有可能做到系統架構師的職位,一般能做系統架構的都是大牛或者高學歷者,因為這不僅僅需要掌握Java技術,更需要掌握資料庫和演算法邏輯等知識。