❶ 程序員,架構師,軟體工程師的區別
1、程序員,架構師,軟體工程師的能力要求不同,程序員是從事程序開發、程序維護人員,但是不擅長寫文檔。軟體工程師的技術要求比較全面,會熟練的寫語言代碼,也會寫一些項目的文檔。架構師是軟體開發過程中的重要人物,主要負責大系統項目的架構設計。
2、程序員,架構師,軟體工程師級別不同,程序員分為初級程序員、中級程序員,軟體工程師是從事軟體職業的人員的一種職業能力的認證,架構師是團隊領導型人物,是需要從資深軟體工程師裡面提升為架構師。
3、程序員,架構師,軟體工程師平均年薪不同,美國谷歌程序員的工資最低年薪平均水平為12.8336萬,軟體工程師平均工資較高,谷歌軟體工程師年薪平均水平為25-30萬美元,架構師的工資水平是最高的,谷歌大數據架構師年薪為50-60萬美元。
❷ 一般軟體設計師通過率為多少怎樣增加通過率軟體設計師跟程序員之間有什麼關聯
我在這個暑假也在為軟體設計師考證做准備,我了解到的,軟體設計師的通過率一般是20%左右,至於怎樣增加通過率,當然是自己的努力了,因為我也在考,我能告訴你的只有,上午的理論知識還是蠻好過的,只要你能把軟體設計師教程這本書看完,基本上沒什麼問題,難的就是下午的考試,需要自己平時的一定的代碼量的積累和實戰經驗,推薦買的書籍(我現在就是用的這本書,口碑不錯):軟體設計師教程第三版,清華大學出版社,胡聖明 主編 ,另外我是在孔夫子網站買的,那裡相對淘寶,京東,當當要便宜點,樓主可以參考下,軟體設計師就是以前的高級程序員,只是現在換一種名稱而已,希望我的回答能幫助到您,謝謝!!
❸ java 框架師和程序員的區別
程序員 是泥瓦工,搬磚壘牆的
架構師 就是房屋設計師。
架構師 設計好結構,程序員就只能在這個結構里折騰。
架構師 也分很多種,我知道有應用程序架構師和框架架構師。
想當架構師,至少有五年的編碼經驗,二到三年的管理經驗,剛開始別想這個了。
你所說的ssh三大框架,只能算是基本框架,就算是一個地基吧,把范圍定下來了,
如果直接那這個來開發,不是不行,但約束性無法保證,因為個人編碼習慣的不同,直接用
代碼就沒法看了。
我做使用它們做一些重構,這個就算是業務框架吧,只是針對具體項目來制定的,使項目開發更容易一些。代碼的規范性得到一定的控制。
至於是干前台還是後台,那就看你公司了,以前我們是包畫面做,前後台都得干。
❹ 為什麼有人說大部分碼農做不了軟體架構師
從事軟體開發多年,在編程行業真正的架構師比例少的可憐,就目前國內軟體開發環境而言,真正意義的架構師還不是很多,因為大部分的代碼框架幾乎從開源代碼社區裡面拿出來,然後定製成自己公司產品需要的,其中研究框架的時間比較長的,並且能夠深度定製的程序員就算是高手了,因為很多開源的代碼更新速度非常快速,能跟上開源社區的代碼更新速度的企業已經是實力非常強的公司了,國內企業現在真正意義上的從頭開始設計一個框架然後推向市場相對比較少。
經過十幾年的發展,國內編程人才的平均水平已經上來了,雖然在頂級程序員由於在編程底蘊以及生態系統這塊有差距,但基層的程序員水平已經上來了,國內很多互聯網公司做的產品有些已經不弱於歐美等企業,這些都是國內程序員水平提升的結果,而且現在由於培訓行業在國內普及,入門級別的程序員在國內數量巨大,所以很多人喊著國內程序員行業已經飽和了,已經不適合再去從事程序員的工作了。
事實上國內軟體行業內需依然足夠多,特別是現在的三四線城市都陸續出現了軟體公司,而且規模和數量都在提升,國內企業對中高級程序員的需求量還是非常巨大,五六年大小公司對於這類的人才招聘一直沒有停止過,而且薪資水平還維持在非常高的水準,了解這個行業現狀對於規劃自己的職業生涯還是有著非常大的好處。
架構師這種職位可遇不可求,基本上國內架構師都是自己本公司內的優秀的軟體工程師,成為了優秀的程序員並且在公司內部深得公司的信任願意給這種突破的機會,抓住了後邊的就會給與架構師的待遇,不是每個程序員天生就是做架構師的料,關鍵還在於平時的積累,有了機會抓住了,要成為架構師先要自己成為一個優秀的程序員,優秀的程序員需要具備什麼樣子的因素,現在就根據自己技術生涯的一些經歷分享給大家。
基本功扎實。 很多程序員在入門之前由於在學校裡面比較重視基礎,還能看看基礎,在成為了程序員之後就開始放鬆了對這方面的要求,所以導致很多程序員見到有筆試的公司,直接就選擇了放棄走人,不能講這類的程序員水平不行,但起碼不是優秀程序員的范疇, 優秀的程序員是經得住基本功考驗的,是不怕這些所謂的筆試題目的。
演算法扎實。 很多程序員做了很長時間還不覺得演算法挺重要,演算法貫穿整個技術生涯,如果沒有意識到這點說明意識層面還沒理解到,證明需要彌補的東西還是非常多,有些程序員可能是學習了一門編程語言就匆匆去找工作了,運氣還不錯還找到工作了,沒有很好的規劃技術生涯路線,一個標準的程序員需要的一門基礎的編程語言,熟悉數據結構,並且穿插著學習演算法,這三樣也是優秀程序員的標配,學習技術不是由著自己性子去做事,需要有規劃,這其中不能少了演算法的因子。
錘煉編程思想。 很多程序員覺得能夠寫代碼,時間長了經驗到位了慢慢就能熬成資深技術專家了,程序員不是靠著熬日子過的,需要不斷的提煉編程思想,舉個簡單的例子,做網路編程如果懂得了一門編程語言的編程經驗,相信切換到別的語言只需要很短時間內就能搞定,而且積累總結類似的場景以後遇到這種場景都能靈活應對,還能同步遷移到類似的場景,不能只是為了做而作,僅僅就是為了完成任務,那麼提升的空間有限,不能因為工作承擔的東西就這么點,而不去補充其餘的東西,善於總結也是優秀程序員需要具備的一種意識。
成為架構師沒有所謂的模板,而且有些人一輩子也沒有這種機會,但想要達到這種境界就需要先讓自己成為一個優秀的程序員,這樣子遇到有理想的企業抓住機會就上去了,一旦進入這個級別後面的編程生涯就會有根本的變化了,關鍵在於平時一點一滴的積累,讓自己長期處於一種高效的學習狀態,有太多的程序員經歷了幾年的適應期就提前讓自己進入了舒適期,結果隨著年齡的增長技能沒有相應的跟上導致年齡大了競爭力下降,出現了老了被企業淘汰的悲劇,什麼樣子的態度決定什麼樣子的人生,也就決定了什麼樣子的結局,希望能幫到你。
作為一名IT行業的從業者,同時也是一名計算機專業的研究生導師,我來回答一下這個問題。
首先,目前IT行業內大量的程序員確實無法成長為架構師,主要原因集中在三點,其一是自身的知識結構不足以支撐向架構師方向發展;其二是崗位工作任務受限;其三是行業迭代速度太快,學習壓力較大。
早期的架構師主要集中在後端領域,針對於不同的開發領域,對於架構師的要求也不盡相同。總的來說,架構師的任務主要集中在三個方面,其一是整體技術框架設計;其二是技術選型;其三是解決難點問題。所以對於程序員來說,如果想成長為架構師,需要做好以下幾個方面的知識儲備:
第一:豐富的開發經驗。 開發經驗通常是軟體架構師的基本要求,通常軟體架構師都是從初級程序員、主力程序員、研發級程序員等崗位一步一步成長起來的,每一個階段都會積累一定的開發經驗,這些經驗對於架構師的方案設計會起到重要的作用。對於大量的程序員來說,從主力程序員向研發級程序員發展會存在較大的困難,主要原因就是基礎知識結構的問題,不少程序員通過讀研的方式完成這一步升級。
第二:豐富的知識結構。 架構師的知識結構不僅僅局限在技術層面,還需要掌握大量的行業知識,不同行業領域往往有不同的特點,要能夠根據這些特點來完成具體的方案設計。
第三:緊跟技術發展趨勢。 架構師一定要緊跟技術發展趨勢,同時能夠對於未來的發展方向有較強的認知能力,這對於架構師的方案設計會起到重要的作用。對於技術趨勢的認知能力,是判斷一名架構師能力的重要因素。
架構師並不是一個很好玩的升級路線。
相對於架構師的開發工作。研發工作更有趣,更容易得到 社會 的承認,不論是圖形學,還是人工智慧,區塊鏈,甚至黑客(網路安全),憑借你的智慧和努力,可以在短時間內取得成就,並達到一個很漂亮的高度。研發方面是拼年輕,智商和體力的工作,有眾多的天才少年取得漂亮的成果,每年有大量新的技術突破和文獻等著大家研究。你做的每一件事情,都能表現出漂亮的成果,全局光照,計算機視覺。或者很容易賺到很多的錢,自動駕駛或者區塊鏈ico,就算做 游戲 外掛,其收入也大得超乎你的想像。
而架構師不是,架構師拼的只有經驗,正確的方法和項目數量。《C++程序設計新思維》裡面有一句話:「只有天才的程序員沒有天才的構架師。」 在構架師的世界裡不存在天才,只存在重構。一定要有正確的方法(敏捷開發),然後就是無數個項目和時間的鋪墊。然而對一個架構師應該明確,我們的職責是內部質量而不是外部質量,我們要把軟體做的強壯且易易擴展。但你會發現,對於外行麻瓜來說,這根本不吸引人,麻瓜老闆經常說一句話:你功能做不出來我們公司就破產了,別他媽的再花時間重構了。
至於為什麼架構師很少
內部原因是: 架構師太無趣了,相對於圖形學光照演算法,你卻強調測試驅動重構持續集成。研發工程師會得到大量的外部激勵,所有人都去贊揚他們的成果。而構架師需要從自身產生激勵的能量,比如對代碼的潔癖,重構在不改變功能的情況下不斷優化代碼質量,一個分層,一個正確的依賴關系,甚至一個精簡美麗的命名,都需要由衷地感到興奮和刺激。否則很難熬下來。
外部原因是: 浮躁的 社會 容不下一個架構師成長的時間和空間。一個框架師需要大量的項目經驗,超級長的編碼時間。堅持正確的方法和一個融洽配合的團隊。國外的架構師都是大鬍子,而國內程序員到30歲,老婆就催著要去做管理崗位了。和研發工作拼智商不同,架構師就拼的是經驗,沒大鬍子沒五六十歲很難成為xx之父這個級別。
行業原因是: 架構師容不下架構師。架構是藝術不是科學,沒有一個統一的標准,每個成型的架構師心裡都有一套屬於自己的程序結構和原則,你可以看到十個圖形學程序員基於一個演算法合作,但你很難看到兩個架構師做一個項目不打架的。架構師需要有自己的團隊來驗證自己的觀點和共同進步,但就如同食肉動物永遠是食草動物的十分之一,行業也沒那麼多團隊給架構師來糟蹋。
經歷過很多項目洗禮,並有自己的想法和能力的架構師,必然是稀有動物。
但看起來無聊的架構師有什麼用呢?
他是輔助英雄,給整個團隊加各種屬性光環:降低代碼中的混亂(熵),讓團隊中初級的程序員做出高級的代碼,提高單位時間效率避免加班,讓團隊更容易進入未知領域,大幅度降低企業成本。
我現在做的混合現實領域,這是一個新的領域,有一個優秀的架構師可以在沒有前人經驗的情況下開疆闢土,並且可以帶起來整個團隊的開發質量,降低成本給客戶更多的獲利空間。
這個問題不知道提出來的緣由是啥,其實問題不是很合適,不過還是一分為二的來回答一下,如下:
架構師不是誰都能做到的,我想說如下幾點:首先,應具備的素質應該是快速的學習能力,需要從平常的任何工作活動中,快速學習,包括從自己的本質工作完成,以及與他人的交流中,而後者又尤其重要,從別人那兒學來,而快速形成自己的理解並超越對方,而這,從自然規律角度上來講,這只有少數人能做到;
其次,需要具有全局的視野,能平衡整系統各子系統之間的解耦與耦合,這個需要積累,需要在各子系統內有實際項目的、比較成功的設計編碼的問題處理能力,而尤其是問題處理能力又尤為重要,這也不是段時間能達到。
第三,在這個行當內,能靜下心來踏踏實實,保持飢渴的學習,保持積極正向的心態,不斷的越挫越勇,始終往設計架構方面努力,在當下整個行業浮躁的環境下,很對都想通過不斷的跳槽來達到漲薪的目的,這又會淘汰一大部分人。
最後,即便具備了素質,你能否當上架構師,取決於客觀因素了。因為一個架構師,決定了他所在領域的發展規劃,以及當前的問題現狀的改進,這個位置至關重要,不是那個人,上一層組織關系是不會讓你做這個位置的,上層組織還會考察你除了技術能力以外的,諸如與人溝通,管理你的上下級,包括你的上級的上一級到連三級的關系,關繫到你的直接老闆的,這些其實就很難說了。
呵呵,當然了,還有其他很多了,靠這個問題是說不清道不全的。
真正的軟體架構師對各方面的職業素養都要求比較高。架構師的工作,不是平時工作的簡單堆疊,除了專業技能要過硬外,還要思維活,想東西細致全面,需要自己去主動去接納工作以外的大量知識。此外,在性格方面也有一定要求,一個軟體架構師往往還需要具備善於溝通的品質。
總而言之就是要技術好、思維活、會交際。大多數程序員做不到架構師的位置主要是因為自身能力達不到,其次是一個公司裡面架構師佔比本來就想小。
一般程序員在公司負責的工作主要是維護日常的需求,在原有的架構上進行修改,所以很少會接觸到架構層面的東西。長期缺少接觸相關的知識及業務的機會,久而久之離架構師的標准也會越來越遠。
年輕的程序員在知識儲備上無法達到成為架構師的標准。
現代的高可用架構一般為:RDS、Cache、MQ、後端服務、監控服務。而隨便拿其中一個點,都有著非常多的技術點知識點需要掌握。
比如在多系統交互中,如何保證MQ中的消息能被對方系統消費,如何設計高可用的服務負載均衡,這些都是需要很多經驗才可以解決,但是一般的程序員又不容易接觸到架構設計。
而年紀大點的程序員要麼是後期缺少折騰的的動力,要麼在職業發展途徑走到不同的分岔路口,最終走上架構師這個樹枝上的寥寥無幾。
小富即安的心理。很多程序員滿足於現狀,缺少堅持不斷學習不斷提高的動力,每個月拿著萬把塊錢的工資,心安理得,懶得去折騰。
一個公司架構師在廣大碼農裡面佔比還不到10%,能成為架構師的一般都在公司里擔任研發和管理的角色,想像一下公司團隊的人員金字塔你就知道競爭力有多大了。
平常,開發的團隊一般都是10多人組成。幾個團隊間一般會存在一個技術面最廣、技術經驗較充足的人,叫做架構師或者說是TL。而架構師的存在,一般在眾多的碼農中占的比例少之又少,可能連碼農總人數的10% 都達不到。軟體架構師也存在初中高級。
碼農都會寫代碼,對計算機編程語言都有自身的理解。但是很多時候,程序員或者說是碼農只是機械的完成自身的編碼工作。為了完成任務,成長有限。
看到這里,很多人都會說:編碼時間長了,經驗積累的足夠,自身也就逐漸成為了資深技術專家。想法其實不能說是不正確,在一個人見多識廣後,自然自身的內涵也就足夠的豐富。從碼農的角度出發。除了架構師,很少有35歲以上的人士會在互聯網做程序開發。而一個人想要通過機械性質的編碼積累經驗。需要多少年成長才能見多識廣呢?是否會有碼農堅持到那一時刻呢?一個值得商榷的問題?
碼農是一份年輕人為主的職業。平均從業者的年齡都是20多歲。慢慢熬、慢慢積累在碼農中也不能說錯。但是很多人在軟體開發領域積累一定的經驗後就會轉型不做開發。
所以說,長久時間的碼農很少。而在短暫的碼農開發軟體的工作中,脫穎而出,成長起來的人更少。
些許拙見,供您參考。
從事互聯網開發多年,歡迎大家騷擾
小團隊一般 10 人左右,其中常常是技術最牛的人做架構師(或TL)。所以,架構師在廣大碼農中的佔比大概平均不到 10%。而架構師也可以分為初級、中級、高級三檔,江湖上真正高水平的軟體架構師就更少了。
所以,大部分(超過九成的)碼農幹上許多年,還是做不了架構師,這是什麼原因造成的呢?
1:碼農分為真的能寫代碼的,以及自認為能寫代碼的。
2:真的能寫代碼的碼農又分為自認為寫的不錯的,以及真的還不錯的。
3:真的能寫不錯代碼的碼農又分為會鑽研會不斷優化的,以及安於現狀的。
4:會鑽研的碼農又分為喜歡廣度了解新技術蜻蜓點水的,以及深入鑽研用到知識的。
了解廣度的碼農又有少部分願意深入某些技術,喜歡深入研究的又往往缺乏廣度知識。
6:為業務而技術的深度廣度都了解的碼農,又需要有良好的溝通能力。
7:而溝通好的,又有一部分當PM去了。
8:然後剩下的,又有一部分慢慢脫離實際開發(不再做任何實現)或者開始依靠拿各種中間件搭積木來作為「架構」手段。
9:除去這些,剩下對業務有一定了解,對技術廣度上有多種涉獵,深度上對部分技術研究徹底,還有很重要的一點,考慮問題足夠細致全面。
10:細致全面善於溝通,技術上深度廣度都沒問題, 又喜歡這個工作,還會不時做底層實現,從業務和開發兩個角度出發,搭出「架構」來是為了開發效率,為了運行效率,為了開發質量,為了業務靈活和運行穩定,為了維護方便等等這樣的人,個人認為可以稱為「架構師」。
而真能滿足這種需求的,別說題主的10%的比例,1%能不能達到我也持懷疑態度。其實現在的「架構師」大多數都停留在8這個層次,甚至很多在5這個層次就當上title上的架構師了。
總之,成為架構師,不僅僅是工作上的簡單積累,更需要主動接納工作外的大量知識,同時,對性格上對於非技術能力上也有一定的要求,不僅如此連思維方式都很重要,外加職業發展中又有很多岔路,最後走到架構師這根樹枝上的就寥寥可數了。
如果你想要往架構師的方向發展的話,那或許你可以看一下我分享給你的這份進階路線圖,主要針對2到5年及以上工作經驗的Java開發人員,裡面的技術包涵了Java高並發、分布式、微服務、源碼分析、高性能等技術,這些也是目前互聯網企業比較常用的技術,那麼來詳細看看。(圖片可以保存)
一:常見模式與工具
學習Java技術體系,設計模式,流行的框架與組件
常見的設計模式,編碼必備
Spring5,做應用必不可少的最新框架
MyBatis,玩資料庫必不可少的組件
二:工程化與工具
工欲善其事必先利其器,不管是小白,還是資深開發,玩Java技術體系,選擇好的工具,提升開發效率和團隊協作效率,是必不可少的:
Maven,項目管理
Jenkins,持續集成
Sonar,代碼質量管理
Git,版本管理
三:分布式架構
高並發,高可用,海量數據,沒有分布式的架構知識肯定是玩不轉的:
分布式架構原理
分布式架構策略
分布式中間件
分布式架構實戰
四:微服務架構
業務越來越復雜,服務分層,微服務架構是架構升級的必由之路,Java技術體系,和微服務相關的技術有哪些呢?
微服務框架
Spring Cloud
Docker與虛擬化
微服務架構
五:性能優化
任何脫離細節的ppt架構師都是耍流氓,向上能運籌帷幄,向下能解決一線性能問題,Java技術體系,需要了解:
性能指標體系
JVM調優
Web調優
DB調優
如何一起學習,有沒有免費資料? 有需要的滴滴滴哦
軟體架構師?似乎是個明確的職位或者崗位了。然而,他在軟體產品開發過程中,充當什麼角色?起什麼作用?確眾說紛紜,缺乏共識。成為一名架構師,碼農根本沒有明確的努力目標。這是問題的關鍵,架構師,是上級領導、老闆對某些軟體開發人員的「認同」,是某種管理理念的體現,不是軟體產品生產活動中某個具體的崗位、角色。
❺ 程序員 軟體設計師 網路工程師 網路管理員 還有 架構師 系統分析師 主要是做什麼的 區別是什麼
程序員:做編程的底層開發工作,寫代碼,不停的寫代碼
軟體設計師:其實這個概念不太清楚,跟架構師類似,就是要分析設計這個軟體的整體概念,就像蓋房子要先畫圖紙,然後分給不同部門的人去建造,其實在現在,一般叫項目經理,或叫開發經理
網路工程師:設計整體的網路的人,跟軟體設計師差不多,不過做的是網路工程。
網路管理員:與程序員類似,重復性的技術工種。
系統分析師:這個也是個比較模糊的,系統分析類似醫生的,可以通過自己的經驗和從業經驗,對某各軟體或某項工程進行分析,優化,從而幫助架構師或項目經理用最短的時間做出最滿意的東西來。
其實你分的這幾個,都是計算機里的職位,你重新分一下類好了
軟體開發裡面分為:程序員,軟體工程師,軟體架構師和系統分析師
網路工程裡面分為:網路管理員,網路工程師,網路架構師和系統分析師
如果是工資高,級別高的,就是架構和分析了,但是。。。。強調一下,這兩個職位不是有技術就可以的,需要大量的經驗,一般都是從程序員開始做起的,才有資格。
樓主如果想進這個行業,建議先從頭開始吧,冰凍三尺非一日之寒,可以把這個作為目標,一點一點努力才行哦
關於這些還有不明白的,可以加群85134514
❻ 誰能准確的告訴我架構師是什麼
系統架構師是一個既需要掌控整體又需要洞悉局部瓶頸並依據具體的業務場景給出解決方案的團隊領導型人物。一個架構師得需要足夠的想像力,能把各種目標需求進行不同維度的擴展,為目標客戶提供更為全面的需求清單。
架構師的分類:
1、軟體架構師
軟體架構師是軟體行業中一種新興職業,工作職責是在一個軟體項目開發過程中,將客戶的需求轉換為規范的開發計劃及文本,並制定這個項目的總體架構,指導整個開發團隊完成這個計劃。主導系統全局分析設計和實施、負責軟體構架和關鍵技術決策的人員。
2、信息架構師
信息架構師即Information Architecture,是一個常常被誤解的職稱。他們是設計者?開發者?管理者?還是以上全部?我們在本文將探討信息架構師是做什麼,為什麼它和可用性相關,以及在信息架構中需要用到的工具/軟體。
3、網站架構師
網站架構師是網站系統、功能、模塊、流程的設計師,架構師,好比是高樓大廈的設計人員,通常一座大廈在建之前,都先由設計師將藍圖描繪出來,包括其形狀、結構、尺寸、材料等等,然後建築工程師帶領工人們按照藍圖將大廈一層一層地建起來。
(6)應用程序員和框架師的合作關系擴展閱讀:
架構師的要求:
1、必須具有豐富的軟體設計與開發經驗,這有助於理解並解釋所進行的設計是如何映射到實現中去。
2、要具有領導能力與團隊協作技能,軟體架構師必須是一個得到承認的技術領導,能在關鍵時候對技術的選擇作出及時、有效的決定。
3、在技術能力方面,軟體架構師最重要也是最需要掌握的知識是構件通信機制方面的知識,比如遠程過程調用(RPC,Remote Procere Call)、JAVA RMI、CORBA、COM/DCOM、各種標準的通信協議、網路服務、面對對象資料庫、關系資料庫或者NoSQL資料庫等等,另外,架構師應時刻注意新軟體設計和開發方面的發展情況,並不斷探索更有效的新方法。
❼ 程序員往上做是什麼軟體分析師、架構師、工程師有什麼區別
程序員往上做是軟體分析師、架構師這些高級技術人員。要說層級關系軟體分析師、架構師、工程師比程序員高級,這些都是從基礎程序員做起的。
(7)應用程序員和框架師的合作關系擴展閱讀
對於軟體工程師,不太重視學歷,但並不是對學歷沒有要求,重點關注項目的經驗和學習知識的能力,能否利用軟體工程專業知識來解決問題,根據崗位不同,對軟體工程師的要求也有所不同。
具體能力要根據崗位和自己的興趣愛好選定自己的職業規劃方向,一方面要詳細了解軟體工程師的要求,可以關注企業的招聘信息;一方面自己要貯備通用的知識技能。
可以確定的是軟體工程師的前途在未來的發展依然是不斷升溫的職業,比較需要有技術和良好前景的專業。
參考資料
網路—軟體工程師
網路—程序員
網路—系統架構設計師
網路—系統分析師
❽ 美工跟程序員的合作問題
准確的說,WEB應用程序開發中,美工與程序員是沒有直接合作的,程序員應該與(網頁)設計師合作,只不過現在很多網頁設計師也做美工的活,在專業的公司里,美工做完圖後交給前端設計師,更專業的公司里,前端設計師還分網頁設計師、CSS工程師、JS工程師等,,,其實網頁UI與程序代碼已經分得比較徹底了,程序員拿到的靜態頁面,只需要稍作修改即可,而且大部分頁面是要靜態生成的,程序員會從設計師那裡得到靜態頁面的模板。
關於合作的問題,其實不是程序員應該考慮的,有項目主管以及架構師去考慮,就像我現在做的項目,說實話我基本沒碰過前台頁面,因為我是個程序員,我絕大部分時間都在寫服務端代碼,腦子里都是業務邏輯和演算法,就算我想與設計師或美工交流也沒法,應為設計是外國的公司做的。當然也必須懂些CSS和JS,這樣把問題反映到上面,他們會統一與那個公司或客戶交流,每一次的交流都有標準的文檔記錄,以後查閱也方便。
如果沒有一個專業的開發流程,你可以叫你的設計師一定把所有涉及到的頁面都做出靜態頁面模板來,不是做幾張圖或幾個主要頁面就完事,這樣程序員就會輕松很多。開發的時候你把HTML內容復制到你的ASPX就行了,一個實例做完後你要在瀏覽器里查看網頁源代碼,一定保證與設計師給你的HTML一致。不要一些多餘的標簽(雖然顯示效果一樣)
對於要靜態生的頁面,你把設計師給你的靜態頁面改成靜態模板,在程序中讀取然後生成相應靜態頁面
組織好你的網站結構
❾ Java程序員該如何突破瓶頸,成為優秀的架構師
架構師不是通過理論學習可以搞出來的,不過不學習相關知識那肯定是不行的。總結架構師自我培養過程大致如下,僅供參考。
1、架構師胚胎(程序員)
學習的知識是語言基礎、設計基礎、通信基礎等,應該在大學完成,內容包括java、c、c++、uml、RUP、XML、socket通信(通信協議)——學習搭建應用系統所必須的原材料。
2、架構師萌芽(高級程序員)
學習分布式系統、組建等內容,應在大學或第一年工作時間接觸,包括分布式系統原理、ejb、corba、com/com+、webservice(研究生可以研究網路計算機、高性能並發處理等內容)
3、架構師幼苗(設計師)
應該在掌握上述基礎之上,結合實際項目經驗,透徹領會應用設計模式,內容包括設計模式(c++版本、java版本)、ejb設計模式、J2EE構架、UDDI、軟體設計模式等。在此期間,最好能夠了解軟體工程在實際項目中的應用以及小組開發、團隊管理。
4、軟體架構師的正式成型在於機遇、個人努力和天賦。軟體構架師其實是一種職位,但一個程序員在充分掌握軟構架師所需的基本技能後,如何得到這樣的機會、如何利用所掌握的技能進行應用的合理構架、如何不斷的抽象和歸納自己的構架模式、如何深入行業成為能夠勝任分析、構架為一體的精英人才這可不是每個人都能夠遇上的餡餅