Ⅰ 程序員如何才能晉升為優秀的高薪架構師
晉升為優秀的高高興框架是程序員在工作的時候,一定要認真的工作,努力的學習,而且還要進一步的去深造自己,把自己的各項工作做的更好,這樣才能夠呃,今生為優秀的高興框架時,我以後的呃學習和工作更加有前途展望。
Ⅱ 程序員是不是一般到了30歲以後乾的時間長一點一般都會被提升到管理層(內行懂的進,否則不給分謝謝)
其實,對於軟體開發人員來說,通常,他們職業發展有幾個選擇:專注於技術,成為技術專家;轉型到技術型銷售、技術支持等;所以要想走得遠一點,必須有一項本領是過人的。
隨著技術成長,從技術性管理到高級管理。這是大家都看得清楚的方向,也都在向這些方向的金字塔尖努力。
程序員要根據本身的基本素質、技術能力選擇開發層次,由低到高,逐步發展。 這也是一名程序員本身具備相應素質的循序漸進的發展軌跡,包括很強的技術背景和綜合管理才能等素養,這也就是所謂『兩條腿走路』的職業規劃發展路線。」如果這樣的話,我相信你也不至於到了35歲就是個坎兒過去不了。
希望可以幫到您,謝謝!
Ⅲ 從普通程序員到今日頭條CEO,張一鳴是如何做到的
可以說張一鳴的成功是憑借著自己有面對不確定因素的能力,張一鳴在沒有創辦頭條之前,就已經連續與創業5次,在這幾次創業當中,雖然都以失敗而告終,但是對於張一鳴來說,卻從這些創業的過程當中收獲了很多的東西,能夠讓自己在技術上變得越來越精進,就連技術之外的其他方面也掌握的非常熟悉了,所以張一鳴後來提到自己創辦頭條的時候,就說如果說沒有前期這4次創業的經歷,那麼就沒有後來頭條的出現,張一鳴有著非常敏銳的頭腦。
張一鳴能溝通一個非常普通的程序員到後來成為頭條的CEO,在這一段成長的過程當中,經歷了多少的辛苦,可能只有張一鳴能夠知道,所以想要成功就要付出努力。
Ⅳ 成為一名「高級」程序員的條件是什麼麻煩告訴我
聰明的程序員可能比他們的同行擁有更出眾的編程技巧,但那不足以說明他們就是「老手」。同樣,僅僅因為擁有10年編程經驗也並不意味著他們就是高手。在工作崗位上,擁有多年編程經驗也不能說明問題。即便沒被炒魷魚,那也不能提升你的價值。
下面列舉的事情是大多數高級程序員都會做的。
1.至少掌握一門編程語言
我相信有些優秀的程序員只懂(並精通)一門編程語言,但在某種程度上而言,這其實會限制一個人的思維。就像當你手拿一把錘子時,任何東西看起來都像釘子。我認為,知道並成功使用至少一門編程語言,這是程序員從新手走向老手的重要一步。我要說的是,像JavaScript和SQL這樣的輔助編程語言,只有當你確實已經開發了完整的應用程序,並在其中使用這些編程語言時,它們才有價值。
2.工作之餘也經常編程
我抱怨過把開源作為招賢的一項要求,但那僅僅因為許多充滿激情的程序員把時間花在別的地方。除了對開源有所貢獻,你還可以做兼職顧問,兼職創業,開發自己的產品或者創辦自己的微型軟體公司。當然,你也可以嘗試從外部接些兼職項目,可參考伯樂在線的這篇《成功接項目需要注意的幾個要點》。
注:mISV即MicroISV,是一個只有一名員工組成的軟體公司,是一種微型公司。
3.經歷完整的軟體開發過程,從概念設計到產品實現,再到產品維護
有的程序員希望不用自己動手就可以得到詳細的設計說明,然後把缺陷代碼交給測試/維護小組,這是平庸程序員的一個縮影。任何稱職的程序員都會跟客戶密切合作,去制定需求分析,然後編碼實現,當然也要維護。如果你在編碼實現階段偷懶了,那你在維護階段不得不付出代價。
4.不斷創新
創新就是做一些你身邊的人沒有做過的事情,用來改善你的過程或產品。你不一定非得是世界上第一個做這件事的人,只要發現一個問題,找到解決方法然後實現它就行。
5.編寫的軟體能解決實際問題
有一副虛構的場景:一名黑客,僅僅是出於對技術以及自己所做事情的愛,一天到晚都在編寫代碼。但這幾乎無助於成就一名優秀的開發者。事實上,我曾見過有些開發人員和客戶爭論,來採用更好但不太有助客戶的技術。這會適得其反。你可以利用自己的時間來完善。但涉及工作時,你最好還是編寫能實際改進並解決問題的代碼,而不是使用那些不同尋常的演算法或介面。
這些問題對於任何想成為高級開發人員的朋友來說,都合情合理。因為這些問題和擁有多少年編程經驗並沒有關聯。如果你能做到上面4-5條,那你就是高級程序員。
Ⅳ 請問一個程序員,怎麼進化到一個項目經理
那得看你是不是有這樣的志向了,如果你的目標是成為項目經理,那麼你現應該做的就是開始關注項目開發的全過程。
程序員和項目經理是兩個工種,這一點你一定要清楚,只有思想先轉變了,人才有可能跟著轉變身份。
程序員是技術工作,主要承擔的是項目中某一部分的具體任務,完成某些需求,去把代碼都敲完,保證測試的時候不出問題,沒有BUG,也就夠了,別的事不用操心,也用不著一個程序員去操心;作為程序員最多就是學點新技術,可以更快更好的完成自己那攤任務即可。
項目經理是管理崗,至少理論上是這樣的,不過現在很多軟體開發工司的項目經理多半也是一個項目組里的技術骨幹,其實這也沒有什麼不行的,只不過想做好項目經理,僅僅懂技術是遠遠不夠的。
項目經理的工作更多的是協調內外關系,確保項目可以按期合格完成。協調則是主要工作,內部 ,需要協調項目組里各工種之間的工作,讓大家可以配合起來更高效的完成工作;同時還要和公司進行協調,比如人員的借調或者資源的調配,瑣事更多一些。
與此同時還要和項目的建議單位進行協調,因為人的溝通是不可能百分百理解的,項目開發更是如此,對於很多細節上的問題,都是應該由項目經理去和建議單位協商的,若溝通不暢後續將面臨著很多設計變更的問題,會耽誤時間與資源。
所以如果你想成為項目經理,在忙完自己程序員的工作之後就多留心去學一些管理方面的知識吧,以備哪一天的榮升之機。
Ⅵ 程序員怎樣才能晉升高薪架構師
對於工作多年的程序員而言,職業生涯的發展有三條出路:專精技術、轉型管理和晉升架構師。
網路,系統架構師是一個既需要掌控整體又需要洞悉局部瓶頸並依據具體的業務場景給出解決方案的團隊領導型人物。
架構師工作職能
軟體架構師在整個軟體開發過程中都起著重要的作用,並隨著開發進程的推進而其職責或關注點不斷地變化,在需求階段,軟體架構師主要負責理解和管理非功能性系統需求,比如軟體的可維護性、性能、復用性、可靠性、有效性和可測試性等等,此外,架構師還要經常審查客戶及市場人員所提出的需求,確認開發團隊所提出的設計;在需求越來越明確後,架構師的關注點開始轉移到組織開發團隊成員和開發過程定義上;在軟體設計階段,架構師負責對整個軟體體系結構、關鍵構件、介面和開發政策的設計;在編碼階段,架構師則成為詳細設計者和代碼編寫者的顧問,並且經常性地要舉行一些技術研討會、技術培訓班等;隨著軟體開始測試、集成和交付,集成和測試支持將成為軟體架構師的工作重點;在軟體維護開始時,軟體架構師就開始為下一版本的產品是否應該增加新的功能模塊進行決策。
成為架構師所需要具備那些技能?
所謂架構師,思考的是全局的東西,是如何組織你的系統,以達到業務要求,性能要求,具備可擴展性(scalability),可拓展性(extendability),前後兼容性等。可能涉及到的東西包括了從硬體到軟體的方方面面,實在是一言難盡。
架構師該如何學習
成為架構師條件根據自己經驗列舉幾點
1.喜歡技術,這個是必備條件
2.技術方面要有一個單點突破點,別會很多技術都是個大概七,架構師都玩的很精不現實,精力有限。說自己各方面都很牛的偽架構師幾率大
3.學習能力強,交流能力強,大局觀強,三強能讓你不落伍,不至於吃老本,技術更新太快,別安於現狀
以上我的回答希望對你有所幫助
Ⅶ 成為高級程序員應具備什麼條件
作一個真正合格的高級程序員,或者說就是可以真正合格完成一些代碼工作的程序員,應該具有的素質。
1:團隊精神和協作能力
把它作為基本素質,並不是不重要,恰恰相反,這是程序員應該具備的最基本的,也是最重要的安身立命之本。把高水平程序員說成獨行俠的都是在囈語,任何個人的力量都是有限的,即便如linus這樣的天才,也需要通過組成強大的團隊來創造奇跡,那些遍布全球的為linux寫核心的高手們,沒有協作精神是不可想像的。獨行俠可以作一些賺錢的小軟體發點小財,但是一旦進入一些大系統的研發團隊,進入商業化和產品化的開發任務,缺乏這種素質的人就完全不合格了。
2:文檔習慣
說高水平程序員從來不寫文檔的肯定是乳臭未乾的毛孩子,良好的文檔是正規研發流程中非常重要的環節,作為代碼程序員,30%的工作時間寫技術文檔是很正常的,而作為高級程序員和系統分析員,這個比例還要高很多。缺乏文檔,一個軟體系統就缺乏生命力,在未來的查錯,升級以及模塊的復用時就都會遇到極大的麻煩。
3:規范化,標准化的代碼編寫習慣
作為一些外國知名軟體公司的規矩,代碼的變數命名,代碼內注釋格式,甚至嵌套中行縮進的長度和函數間的空行數字都有明確規定,良好的編寫習慣,不但有助於代碼的移植和糾錯,也有助於不同技術人員之間的協作。
有些coding fans叫囂高水平程序員寫的代碼旁人從來看不懂,這種叫囂只能證明他們自己壓根不配自稱程序員。代碼具有良好的可讀性,是程序員基本的素質需求。
再看看整個linux的搭建,沒有規范化和標准化的代碼習慣,全球的研發協作是絕對不可想像的。
4:需求理解能力
程序員需要理解一個模塊的需求,很多小朋友寫程序往往只關注一個功能需求,他們把性能指標全部歸結到硬體,操作系統和開發環境上,而忽視了本身代碼的性能考慮,有人曾經放言說寫一個廣告交換程序很簡單,這種人從來不知道在百萬甚至千萬數量級的訪問情況下的性能指標是如何實現的,對於這樣的程序員,你給他深藍那套系統,他也做不出太極鏈的並訪能力。性能需求指標中,穩定性,並訪支撐能力以及安全性都很重要,作為程序員需要評估該模塊在系統運營中所處的環境,將要受到的負荷壓力以及各種潛在的危險和惡意攻擊的可能性。就這一點,一個成熟的程序員至少需要2到3年的項目研發和跟蹤經驗才有可能有心得。
5:復用性,模塊化思維能力
經常可以聽到一些程序員有這樣的抱怨,寫了幾年程序,變成了熟練工,每天都是重復寫一些沒有任何新意的代碼,這其實是中國軟體人才最大浪費的地方,一些重復性工作變成了熟練程序員的主要工作,而這些,其實是完全可以避免的。
復用性設計,模塊化思維就是要程序員在完成任何一個功能模塊或函數的時候,要多想一些,不要局限在完成當前任務的簡單思路上,想想看該模塊是否可以脫離這個系統存在,是否可以通過簡單的修改參數的方式在其他系統和應用環境下直接引用,這樣就能極大避免重復性的開發工作,如果一個軟體研發單位和工作組能夠在每一次研發過程中都考慮到這些問題,那麼程序員就不會在重復性的工作中耽誤太多時間,就會有更多時間和精力投入到創新的代碼工作中去。
一些好的程序模塊代碼,即便是70年代寫成的,拿到現在放到一些系統裡面作為功能模塊都能適合的很好,而現在我看到的是,很多小公司軟體一升級或改進就動輒全部代碼重寫,大部分重復性工作無謂的浪費了時間和精力。