1. 程序員分哪幾種,分別要學什麼知識,工資怎麼樣
一、程序員的分類
程序員從事的人群很多,分工也不相同,從大的方面可以分為以下幾類:asp程序員、delphi程序員、php程序員、powerbuilder程序員、C程序員、linux程序員、net程序員、vb程序員、java程序員、javascript程序員、C++程序員、Python程序員、ABAP程序員、android程序員、iOS程序員。
二、所學的知識與必備技能
1、熟練開發軟體
做為一名程序員至少熟練掌握兩到三種開發工具的使用,這是程序員的立身之本,其中C/C++和JAVA是重點推薦的開發工具,C/C++以其高效率和高度的靈活性成為開發工具中的利器,很多系統級的軟體還是用C/C++編寫。而JAVA的跨平台和與WEB很好的結合是JAVA的優勢所在,而JAVA即其相關的技術集JAVAOne很可能會成為未來的主流開發工具之一。其次,能掌握一種簡便的可視化開發工具,如VB,PowerBuilder,Delphi,CBuilder,則更好,這些開發工具減小了開發難度,並能夠強化程序員對象模型的概念。另外,需要掌握基本的腳本語言,如shell,perl等,至少能讀懂這些腳本代碼。
2、熟悉資料庫
很多應用程序都是以資料庫的數據為中心,而資料庫的產品也有不少,其中關系型資料庫仍是主流形式,所以程序員至少熟練掌握一兩種資料庫,對關系型資料庫的關鍵元素要非常清楚,要熟練掌握SQL的基本語法。雖然很多資料庫產品提供了可視化的資料庫管理工具,但SQL是基礎,是通用的資料庫操作方法。
3、了解操作系統
要想成為一個真正的編程高手,需要深入了解操作系統,了解它的內存管理機制、進程/線程調度、信號、內核對象、系統調用、協議棧實現等。要懂得網路協議TCP/IP。網路技術已改變了軟體運行的模式,從最早的客戶/伺服器結構,到今天的WEBServices,再到未來的網格計算,這一切都離不開以TCP/IP協議棧為基礎的網路協議支持,深入掌握TCP/IP協議是非常必要的。至少,需要了解ISO七層協議模型,IP/UDP/TCP/HTTP等常用協議的原理和三次握手機制。要明白DCOM/CORBA/XML/WEBServices存在的意義。DCOM/CORBA是當前兩大主流的分布計算的中間平台,DCOM是微軟COM(組件對象模型)的擴展,而CORBA是OMG支持的規范。XML/WebServices重要性不言而喻,XML以其結構化的表示方法和超強的表達能力被喻為互聯網上的「世界語」,是分布式計算的基石之一。
三、薪資待遇
程序員的薪資待遇分檔次,大致情況是這樣的:
初級軟體工程師(0-3年開發經驗),平均月薪(3000-8000)
中級軟體工程師(3-5年開發經驗),平均月薪(5000-12000)
高級軟體工程師(5年+開發加2+管理),平均月薪(10000-90000)
一般只有剛畢業的初級工程師說的是月薪,中高級基本是年薪。
也有剛畢業就簽的年薪的。這個是大致范圍就這樣,也有少部分低於3000或高於90000的 具體差別要看自己的,畢業院校,專業學歷,專業能力,外語能力,職稱等級,綜合能力,以及所在城市還有自己的選擇等。但最主要的是看專業能力的。
2. web程序員分為哪幾種
Web程序員(這些Web程序員都有一個共同的目的:維持公司的網站運行良好)分為幾大類:
FrontEnd
Frontend表示「前端」。一般我們所說的WebFrontend就是指「Web前端程序員」。主要負責網站的外觀,也就是「顏值」擔當。一般精通HTML,CSS和JavaScript等客戶端語言。
BackEnd
BackEnd表示「後端」。一般我們所說的WebBackend就是指「Web後端程序員」。與Web前端程序員配合,主要負責網站伺服器端的編寫和維護,也就是「功能」擔當。一般精通PHP,Java,Python,Ruby,C#,或Go等伺服器端語言。
QAManager
QA是QualityAssurance(質量保證。Quality表示「質量」,Assurance表示「保證」)的縮寫。manager表示「主管」。所以QAManager就是我們平時所說的「質量主管」,他可以充當客戶的角色,來使用網站。負責網站的正確運行,對網站的質量進行監控,如果有什麼問題或有什麼需要的新功能,會通知Frontend,Backend或SystemAdministrator來處理。可以想像是一個醫生,確診網站的「疾病」,對網站的健康負責。
SystemAdministrator
System表示「系統」,Administrator表示「管理員」。所以SystemAdministrator(簡稱SA)就是我們平時所說的「系統管理員」。他就好像一個很厲害的老工程師傅,可以想像提著一個工具箱,到機房裡去修修弄弄(當然其實並不見得是這樣)。他保證Web的伺服器可以正常運作,負責一些硬體的維修和管理,使網路暢通無阻,而且一般的SA都熟悉Linux技術,至少會用Linux命令行吧。
FullStack
Full表示「全部,完全的」,Stack表示「棧」。所以FullStack就是我們平時所說的「全棧程序員」或「全棧工程師」。他就好像一個「全能騎士」或者身懷絕技的「日本武士」,可以做以上四個職位的所有任務。當然,要成為全棧工程師是很辛苦的,因為什麼都要會。
Web程序員的特質
每個Web程序員的性格,習慣和愛好都各不相同。不過我們可以試著概括一些Web程序員的共同特質,或者說那些驅使他們選擇去這個公司而不是那個公司的因素。
喜歡解決復雜又新穎的問題:喜歡解難題並不稀奇,很多人都喜歡挑戰自我,但是Web程序員還喜歡解決新穎的問題。如果一個難題很老套又很陳舊,那他們可能提不起太大興趣。他們希望構建和維護的網站是新潮的,與眾不同。不喜歡用別人用爛了的模版、樣式。
3. 科普篇!程序員都有哪些工種和類型呢
程序員的職業領域廣闊且復雜,涵蓋了多種工種和類型,其差異性體現在不同的工作范疇、技能需求、工具使用以及產品方向。本文將深入解析程序員的工種與類型,以幫助了解程序員的職業發展路徑。
首先,從程序設計工種的角度看,程序員的主要工作可以大致歸類為客戶端程序員、伺服器端程序員、資料庫程序員以及Web開發人員等。
客戶端程序員主要負責開發運行在終端設備上的程序,如個人電腦、移動設備上的應用軟體,工作范圍相對明確,主要依賴伺服器端傳來的數據。
伺服器端程序員則關注於遠程數據傳輸與同步,構建系統時需要設計伺服器端與客戶端之間的介面與數據處理流程。
資料庫程序員側重於數據的組織、存儲和提取,負責構建高效穩定的數據管理系統,如大數據工程師所從事的工作。
Web開發人員及其他腳本編寫者使用HTML、CSS和腳本語言進行網頁和應用的開發,他們通常不需要深入的專業訓練,但在技術領域同樣具有不可忽視的地位。
其次,從程序員的類型看,我們可以將他們劃分為系統工程師/架構師、系統程序員、應用程序員以及非真正意義上的程序員。
系統工程師/架構師是技術領域的高級專家,需要深入了解各種系統組件及其復雜關系,擁有豐富的專業知識和實踐經驗。
系統程序員負責編寫與硬體交互的程序,創建運行環境,開發編譯器和調試工具,為軟體開發提供基礎。
應用程序員則更關注於應用程序的開發,包括桌面應用和移動應用,他們需要從用戶角度出發,設計出易用且高效的程序。
非真正意義上的程序員則主要使用現有工具或應用,而非親自編寫代碼,這類人員在開發團隊中也佔有一定的比例。
總的來說,程序員的工種與類型豐富多樣,每個領域都有其獨特的挑戰與機遇。了解這些差異有助於程序員選擇適合自己的職業路徑,從而在職業生涯中實現個人價值與成就。
4. 程序員有哪些崗位
程序員的崗位多種多樣,主要包括但不限於以下幾種:
一、軟體開發工程師
軟體開發工程師是程序員中最常見的崗位之一。他們負責設計、編碼、測試和維護軟體,確保軟體的質量和性能。軟體開發工程師需要熟練掌握至少一種編程語言,如Java、Python、C++等,並具備資料庫管理、演算法設計、系統架構等技能。
二、測試工程師
測試工程師在軟體開發過程中起著至關重要的作用。他們負責通過測試來確保軟體的質量和穩定性。測試工程師需要編寫測試用例、執行自動化測試,並找出軟體中的缺陷和漏洞。他們還需要與開發團隊緊密合作,確保軟體開發的順利進行。
三、前端開發工程師
前端開發工程師主要負責軟體的界面設計和用戶體驗優化。他們需要掌握HTML、CSS和JavaScript等前端技術,並能夠與後端開發人員進行協作,實現前後端的無縫連接。前端開發工程師還需要關注用戶的使用習慣和需求,以提供更好的用戶體驗。
四、後端開發工程師
後端開發工程師主要負責伺服器的開發、資料庫管理和數據處理等工作。他們需要熟練掌握至少一種後端編程語言,如Java、PHP等,並能夠進行資料庫的設計和優化。後端開發工程師還需要確保伺服器的穩定性和安全性,以保證數據的安全和軟體的正常運行。
除了以上幾種常見的崗位外,程序員還包括其他多種專業崗位,如系統架構師、大數據工程師、雲計算工程師等。這些崗位需要程序員具備更深入的專業知識和技能,以應對不同的技術挑戰和需求。隨著技術的不斷發展和創新,程序員的崗位也在不斷變化和增加。
5. 程序員分為哪幾種
1、WEB前端
前端開發是創建Web頁面或app等前端界面呈現給用戶的過程,通過HTML,CSS及JavaScript以及衍生出來的各種技術、框架、解決方案,來實現互聯網產品的用戶界面交互。
2、硬體工程師
硬體工程師要求熟悉計算機市場行情;主要工作為:制定計算機組裝計劃、選購組裝需要的硬體設備、合理配置和安裝計算機以及外圍設備、安裝和配置計算機軟體系統等。
3、硬體測試工程師