為什麼大部分做不了軟體架構師
1. 怎麼才能做軟體架構師
所謂軟體架構師,是軟體行業中一種新興行業,工作職責是在一個軟體項目開發過程中,將客戶的需求轉換為規范的開發計劃及文本,並制定這個項目的總體架構,指導整個開發團隊完成這個計劃,是主導系統全局分析設計和實施、負責軟體構架和關鍵技術決策的人員。
通過以上的了解軟體架構師,想要成為架構師的途徑似乎就只有現在較為流行的軟體學院和個人自我培養了。只有通過自己的不斷努力你才能夠成功。所以說每一個軟體架構師,都是經過血汗的洗禮才成功的。
2. 架構師 一個沒做過開發的人能不能成為一個架構師
可以。
架構師是一個充滿挑戰的職業,知識面的寬窄往往決定著一個架構師的架構能力,所以在這一點上我比較贊成你的學習方式,就是要閱讀大量的技術書籍,但我希望你不要僅限於軟體相關的書籍,經常泡技術論壇,一方面可以結交朋友,一方面可以增加自己的知識面。
公司的大小往往決定了所做的項目規模,一般的大項目不太可能直接總包給小公司去做,但這並不妨礙小公司可以分包到大項目的一部分。在做小項目的同時也可以積累豐富的經驗,我自己就是一個這樣的例子。
3. 為什麼大部分的程序員成不了架構師
① 碼農分為真的能寫代碼的,以及自認為能寫代碼的。② 真的能寫代碼的碼農又分為自認為寫的不錯的,以及真的還不錯的。③ 真的能寫不錯代碼的碼農又分為會鑽研會不斷優化的,以及安於現狀的。④ 會鑽研的碼農又分為喜歡廣度了解新技術蜻蜓點水的,以及深入鑽研用到知識的。了解廣度的碼農又有少部分願意深入某些技術,喜歡深入研究的又往往缺乏廣度知識。
而真能滿足這種需求的,別說題主的10%的比例,1%能不能達到我也持懷疑態度。其實現在的「架構師」大多數都停留在8這個層次,甚至很多在5這個層次就當上title上的架構師了。
4. 請問四年內做軟體架構師可能性大不大 要遵循什麼步驟 怎麼學習 有什麼書籍推薦
看之前是學什麼專業的,如果本科或者研究生計算機或者軟體工程專業畢業的話,四年用心去做完全可以的,軟體架構師本身考試不難,不過要是做出色可不容易,需要豐富的項目經驗來提升能力,軟體架構師的大部分知識和經驗將來自實際開發工作的。
建議從程序員,軟體設計等底層工作開始,邊做邊學習,做的多了自然就通了。
書籍建議看看《軟體架構師教程》、《軟體系統建模》、《系統分析基礎》、《用戶需求的分析和文檔化》等書籍,國內沒有指定的教材,建議看英文版的,一般翻譯過來的書籍都比較晦澀,不如原版書籍理解透徹。
如果你有時間經歷的話,可以找一些國外的開源軟體系統拆解分析下,走一遍軟體架構的逆向工作,也就是通過分析代碼,畫出函數流程圖及其相互調用關系,進而分析用戶需求,看看其軟體架構師是如何設計軟體的,會有一個很直觀的過程,相信對你幫助會很大。
5. 如果要當一個軟體架構師,需要什麼條件
汗,這個問題咋問到辦公軟體這個類別下了。要做到架構師,起碼要從初級程序員做起,3到5年後或許可稱為高級程序員,然後再看個人在項目中承擔的角色得到的鍛煉,從設計大的模塊或小系統做起,慢慢到設計較大的系統,之後才可能稱為架構師。總之不但需要腳踏實地地編代碼,還要有意識地培養分析把握整體大局的能力。
6. 中國那麼多軟體工程師,系統架構師,為什麼沒有自己的操作系統。 都得依賴國外 是技術不行嗎
首先你要去了解下什麼是系統底層,然後就是系統框架,再之後就是系統的功能,最重要的是目前所有系統開發都是基於C/C++語言,而C語言是屬於美國,這是沒法跳出圈外,還有系統內核這些,基本上都是美國,現在國內很多什麼謊稱自主研發系統的,其實就是一個換皮UI系統而已,內核都用是別人開源,而新框架編碼也是由美國一家大學開發出來,並且開源給全球使用,目前世界上除了微軟系統外,其他系統都是基於Linux/Unix內核,包括蘋果系統,底層核心也是這個,反正目前世界上只有2個系統了,一個微軟一個Linux/Unix,Linux是基於Unix下開發繁衍,具體發展史自己查網路就不說過多了,你把所有系統內核和系統框架查一遍就知道了,大部分都是美國那邊技術的,還有一個就是編程,目前依賴C語言開發工具是非常多,Python、Java、object-C等等一些比較常用開發語言都是用C語言去開發,也就是說無法脫離這技術,而C語言是誰的我就不說了,全世界有成千上百種開發語言就有一半以上都是依賴C語言去更新相關功能,這些發展史你具體可以去看網路,就不多說了,基本上就是目前的現狀、全世界都沒法改變的情況。
7. 軟體架構師主要是做什麼啊
軟體架構師是軟體行業中一種新興職業,工作職責是在一個軟體項目開發過程中,將客戶的需求轉換為規范的開發計劃及文本,並制定這個項目的總體架構,指導整個開發團隊完成這個計劃。主導系統全局分析設計和實施、負責軟體構架和關鍵技術決策的人員。根據「第三屆中國軟體工程大會」的報告,在中國,未來五年,高端軟體人才需求缺口達20萬。而每年自動成長起來的軟體架構師只有幾百人,可見市場需求的巨大。
(7)為什麼大部分做不了軟體架構師擴展閱讀:
架構師的主要任務:
1、領導與協調整個項目中的技術活動(分析、設計和實施等)
2、推動主要的技術決策,並最終表達為軟體構架
3、確定和文檔化系統的相對構架而言意義重大的方面,包括系統的需求、設計、實施和部署等「視圖」
8. 如何成為軟體架構師
【原創回答】我本人是一名軟體架構師,這個問題非常大,不太好回答。我總結一下,軟體架構師的能力大概分為三個方面:1.技術,這個應該沒懸念,如果沒有過硬的開發技術,就不要期望做架構師了;設計模式,系統模式,架構模型,系統理論,甚至編程語言,演算法,操作系統,網路,資料庫,都需要有扎實的掌握。 2.是業務知識,也即領域知識。軟體架構師實際上是把業務需求落實成開發藍圖的總設計師,如果你對業務一竅不通,空有一身技術也只能望業務興嘆。3.就是溝通表達的能力,架構師需要推進自己的架構設計理念給開發團隊,所以也需要這方面的能力,當然最重要的還是前兩部分的能力。
9. 怎麼成為一個軟體架構師
架構師是一個充滿挑戰的職業,知識面的寬窄往往決定著一個架構師的架構能力,所以在這一點上我比較贊成你的學習方式,就是要閱讀大量的技術書籍,但我希望你不要僅限於軟體相關的書籍,經常泡技術論壇,一方面可以結交朋友,一方面可以增加自己的知識面。
公司的大小往往決定了所做的項目規模,一般的大項目不太可能直接總包給小公司去做,但這並不妨礙小公司可以分包到大項目的一部分。在做小項目的同時也可以積累豐富的經驗,我自己就是一個這樣的例子。
我在小公司混跡了5年多,其中也偶爾有1兩個大公司,比如大唐電信,但是基本上都是小公司,從基層的程序要到公司的開發總監都做過,甚至自己還設計過包括LED顯示屏,密碼鍵盤在內的收費系統,自己聯系廠家OEM,當然這些今天已經廣泛應用了,當時我們的客戶用上之後還是非常震撼的。
知識面的寬廣對於一名出色的架構師來說是必不可少的技能,也許很多人對架構的理解還停留在設計模式,重構,SOA等等的軟體層面,然而這僅僅是非常基本的東西,架構師的腦子里不光需要知道讓軟體如何高效的運行,還需要知道如何去結合網路,存儲,甚至一些文件系統的特性,比如GFS,NFS,XFS,NTFS等等,而且架構師還需要知道一些編程語言的特性,C,C++,Java,PHP,Python,Lisp,JS等等,現在是一個混合編程的時代,只了解一種語言,即使再精通也會使你在架構系統的時候受到很大的局限性。
再有一點,架構師需要對資料庫技術有深刻的認識,因為現今是一個信息時代,大量的信息都是需要存儲並檢索的,資料庫設計的不好,將會嚴重影響系統的性能,而這一點往往會被我們的設計人員忽略,他們只知道遵守那些範式而不會結合數據的特性去設計資料庫。
看你的編程情況,你好像做PHP開發比較多,PHP比較適合B/S結構的應用開發,這會限制一個架構師的思路,我建議你再學習一門適合做C/S開發的語言,拓寬自己的視野。
從一個程序員到架構師是一個很大的變化,架構師需要從大的方面考慮,而不只是考慮這個模塊該用哪種設計模式去開發。不能急於求成,也許是我自己變化的比較慢,我用了10年的時間,這10年裡,我使用超過一年的編程語言包括了delphi,C++,Java,python,使用的資料庫包括了oracle,infomix,sybase,sqlserver,mysql,javadb,sqlite等等,使用過大型機,小型機,伺服器。unix,linux,windows都至少做過兩年以上的開發,這些使用和開發的經歷會大大增強一個人在做架構師這個職業時的技術素養。
總之,想要成為架構師,需要有耐心,不斷學習,拓寬自己的視野,不僅僅局限於自己眼前的項目,關注開源技術,關注熱門技術社區的新動向。
10. 當軟體架構師容易嗎
也容易,也不容易。
第一:
職場之事,並不是技術那麼簡單。很多都是人事和機遇。
人事好,你就有一個寬松的環境,沒那麼多挑剔,就算技術不足,有失誤,也不至於垮掉。
人事不好,你周圍都是傾軋和暗槍,就算沒失誤,也有鍋扔過來。想不受傷也難。
另外如果沒機遇,在武大郎之下受氣,不得伸展也不是沒有的。
第二:
職位名雖然一樣,但每個單位的工作可並不一定一樣。有的就是事務性的上支下派,有的是真刀真槍的技術擔子。所以也有很大差異。
但終究,只要你完成了上面下來的任務,問題一般不大。