NO IMAGE

  很多人問程式設計師是是做什麼的?或者問IT是做什麼的?對於非IT行業的人很難有時間慢慢解釋清楚,下面我結合自己的理解談一談吧,以後解釋就可以轉載這篇文章,這樣為大家節省了很多時間。有女朋友的程式設計師可以轉給自己女朋友看看。
  IT範圍太大,我們就說說程式設計師吧,程式設計師都在幹什麼,程式設計師有何區分,程式設計師我們就會談到開發軟體,軟體的開發對很多使用者來說都是感受不到的,人們能接觸到的就是客戶端或者網頁顯示和提示的操作,這些只是軟體的一部分,在開發中不佔大頭但是很重要,就像一個人的臉面問題,顏值很重要。
  下面我來結合蓋房子講解下開發軟體的組成吧,一個房子在開始建造的時候就會有設計和規劃,軟體也是同樣的,軟體需要挖掘和分析需求,然後架構設計師才開始對軟體進行分析和設計,轉化需求為可以使用計算機解決的一個一個的功能模組,或者將一個功能獨立成一個系統專門解決一個問題,架構師需要考慮擴充套件性和可維護性,還有訪問的壓力這些等,就會涉及到是否分散式拆分業務和服務部署的整合,舉個栗子,就跟水管一樣,有很多段,有的一段可能還會是很多細的水管組成,但總而言之,你最後開發完後最細的那段水管限制了你的吞吐量。同樣功能的軟體在訪問量大和小實現的架構和思路是不一樣的,還有使用軟體的背景,辦公內部使用和網際網路使用要求也是不一樣的,少部分人用和成千上萬人用是不一樣的。
  複雜的專案最開始的設計可能是資料庫,就想蓋房子需要打地基一樣,地基和基礎建設對一個房子蓋起來方不方便是很重要的,當架構師規劃好系統的架構和功能後就需要程式設計師像民工砌磚蓋房子一樣去碼程式碼實現所有的細小的功能,所以很多程式設計師會類比自己是碼農說的就是這個意思。後臺主要指的就是以上這些,相當於房子蓋好了。
  蓋好了房子之後就需要貼外牆裝飾房子這個類比軟體裡面的前端,前幾年的前端在大的公司分為UI和美工,美工負責製圖,UI和美工一起配合後端程式設計師做出給客戶展示和操作的介面和資料,近幾年前端工程師產生了,它們的出現減輕了後端工程師還需要去配合前端一起調整介面上資料的工作,只需要約定介面即可,所以前端工程師要求變高了。
  常見的在整個開發軟體裡面就有架構師,編碼人員,和前端,中規中矩,當然小的專案可以一兩個人都搞定了,以前一般程式設計師只有偏後端還是偏前端,複雜的軟體設計才會需要架構師,程式設計師對開發都是瞭解的,只是有的人掌握的開發技能深和淺的區別,還有解決問題的熟練程度,開發同樣的軟體一般5個架構師會比1個架構師帶四個編碼人員強,當然比直接5個編碼人員要做的好一點,架構師和編碼人員沒有明顯的區分,都是從工作實踐編碼過來的,越來越熟練就會考慮架構的一些問題,從而負責專案直到上升到架構師的高度,還有專案經理,產品經理這些角色,都只是工作更加細化而產生的,專案越大角色一般會越多。
  今年是2018年,社會的發展不需要每個人懂如何開發,但是如何使用常用的電子產品和上網這是一個常識,而不是程式設計師專有的,程式設計師做的事可能給人直觀感受就是敲程式碼,但是敲程式碼在CMMI3軟體開發體系裡面只佔後端60%裡面40%的工作量,所以大家看到的是這24%的正在敲著程式碼的程式設計師,IT還包含很多很多,IT從理解需求,設計資料庫,程式設計,開發(前後端)、測試、上線運維,這些所有相關人員都可以稱為IT從業者。
  這篇文章在2018年初發表,時代是變化的,不一定適用於以後,個人的理解,說的不好歡迎批評指正。