很多人問程序員是是做什么的?或者問IT是做什么的?對于非IT行業(yè)的人很難有時間慢慢解釋清楚,下面我結(jié)合自己的理解談一談吧。
IT范圍太大,我們就說說程序員吧,程序員都在干什么,程序員有何區(qū)分,程序員我們就會談到開發(fā)軟件,軟件的開發(fā)對很多使用者來說都是感受不到的,人們能接觸到的就是客戶端或者網(wǎng)頁顯示和提示的操作,這些只是軟件的一部分,在開發(fā)中不占大頭但是很重要,就像一個人的臉面問題,顏值很重要。
下面我來結(jié)合蓋房子講解下開發(fā)軟件的組成吧,一個房子在開始建造的時候就會有設(shè)計和規(guī)劃,軟件也是同樣的,軟件需要挖掘和分析需求,然后架構(gòu)設(shè)計師才開始對軟件進(jìn)行分析和設(shè)計,轉(zhuǎn)化需求為可以使用計算機(jī)解決的一個一個的功能模塊,或者將一個功能獨立成一個系統(tǒng)專門解決一個問題,架構(gòu)師需要考慮擴(kuò)展性和可維護(hù)性,還有訪問的壓力這些等,就會涉及到是否分布式拆分業(yè)務(wù)和服務(wù)部署的集成,舉個栗子,就跟水管一樣,有很多段,有的一段可能還會是很多細(xì)的水管組成,但總而言之,你最后開發(fā)完后最細(xì)的那段水管限制了你的吞吐量。同樣功能的軟件在訪問量大和小實現(xiàn)的架構(gòu)和思路是不一樣的,還有使用軟件的背景,辦公內(nèi)部使用和互聯(lián)網(wǎng)使用要求也是不一樣的,少部分人用和成千上萬人用是不一樣的。
復(fù)雜的項目最開始的設(shè)計可能是數(shù)據(jù)庫,就想蓋房子需要打地基一樣,地基和基礎(chǔ)建設(shè)對一個房子蓋起來方不方便是很重要的,當(dāng)架構(gòu)師規(guī)劃好系統(tǒng)的架構(gòu)和功能后就需要程序員像民工砌磚蓋房子一樣去碼代碼實現(xiàn)所有的細(xì)小的功能,所以很多程序員會類比自己是碼農(nóng)說的就是這個意思。后臺主要指的就是以上這些,相當(dāng)于房子蓋好了。
蓋好了房子之后就需要貼外墻裝飾房子這個類比軟件里面的前端,前幾年的前端在大的公司分為UI和美工,美工負(fù)責(zé)制圖,UI和美工一起配合后端程序員做出給客戶展示和操作的界面和數(shù)據(jù),近幾年前端工程師產(chǎn)生了,它們的出現(xiàn)減輕了后端工程師還需要去配合前端一起調(diào)整界面上數(shù)據(jù)的工作,只需要約定接口即可,所以前端工程師要求變高了。
常見的在整個開發(fā)軟件里面就有架構(gòu)師,編碼人員,和前端,中規(guī)中矩,當(dāng)然小的項目可以一兩個人都搞定了,以前一般程序員只有偏后端還是偏前端,復(fù)雜的軟件設(shè)計才會需要架構(gòu)師,程序員對開發(fā)都是了解的,只是有的人掌握的開發(fā)技能深和淺的區(qū)別,還有解決問題的熟練程度,開發(fā)同樣的軟件一般5個架構(gòu)師會比1個架構(gòu)師帶四個編碼人員強(qiáng),當(dāng)然比直接5個編碼人員要做的好一點,架構(gòu)師和編碼人員沒有明顯的區(qū)分,都是從工作實踐編碼過來的,越來越熟練就會考慮架構(gòu)的一些問題,從而負(fù)責(zé)項目直到上升到架構(gòu)師的高度,還有項目經(jīng)理,產(chǎn)品經(jīng)理這些角色,都只是工作更加細(xì)化而產(chǎn)生的,項目越大角色一般會越多。
今年是2018年,社會的發(fā)展不需要每個人懂如何開發(fā),但是如何使用常用的電子產(chǎn)品和上網(wǎng)這是一個常識,而不是程序員專有的,程序員做的事可能給人直觀感受就是敲代碼,但是敲代碼在CMMI3軟件開發(fā)體系里面只占后端60%里面40%的工作量,所以大家看到的是這24%的正在敲著代碼的程序員,IT還包含很多很多,IT從理解需求,設(shè)計數(shù)據(jù)庫,程序設(shè)計,開發(fā)(前后端)、測試、上線運維,這些所有相關(guān)人員都可以稱為IT從業(yè)者。
-
程序員
+關(guān)注
關(guān)注
4文章
949瀏覽量
29744
發(fā)布評論請先 登錄
相關(guān)推薦
評論