日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

在客觀世界中,有很多事物存在非黑即白,我們很容易去區分。例如女人與男人,老虎與獅子,汽車與自行車等等,但對于眾多IT從業人員,外界的人們很難一下找出他們之間的區別。提出此問題,目的在于從外界和IT人員自身的角度去探討開發者和程序員之間的差異和關聯,為想要踏入IT行業的求職者和企業招聘者提供一些個人的看法。

也許你會覺得該問題會很搞笑,不管是開發者還是程序員他們都是程序員,就像男人和女人都是人(你也可以說都是動物)。首先,開發者和程序員都是程序員沒錯,這就像下面這個小故事一樣:

“駕購獅,射雞獅,攻城獅和程序猿一起走進酒吧”

酒保:——程序員們來了!

程序員和開發者,細品之下見差別

 

對于非IT行業的人們來說,他們只能對IT從業者只有一個模糊和呆板印象——他們都是程序員,會修電腦,頭發很少。如果你是一個IT行業的從業人員,則需要細品開發者和程序員之間的差異(我探討的目的并不在于界定誰比誰好)。例如,如果你是IT公司負責招聘的工作人員,則必須搞清楚兩者之間存在的差異,不然可能招募不到合適的人才,浪費公司的時間和金錢;如果你是一個想要從事軟件開發的人,理解兩者之間的差異,對你的職業規劃也大有幫助,因為只有了解了差異,你才知道什么角色適合你,將來該往什么方向發展。

一、程序員

為了便于理解,我先將程序員比喻成一個技藝高超的廚師(注意強調烹飪技術),他們能夠按照菜單上的信息,在既定的時間范圍內,烹飪出色香味俱全的菜肴。能完成這樣一項任務,這得益于廚師們在刀工,時間和火候上的精湛技藝。

程序員和開發者,細品之下見差別

 

同樣的,程序員在既定的時間范圍內,按照開發任務(菜單)將別人的想法轉化為可執行的軟件代碼,他們負責編寫,測試,調試/故障排除和維護計算機源代碼,能勝任這樣一類工作,這得益于他們能理解各種計算機編碼指令,能熟練使用各種庫函數或框架。

如果要用一句簡單的話來概況,那就是:和廚師一樣,程序員是面向任務/指令型的角色。他們都是根據任務/指令行事。

二、開發者

如果將程序員類比為技藝高超的廚師,那么開發者更像是一個專業的美食家。就像美食家也是一名廚師一樣,開發者也是程序員,但區別在于,他們不僅能夠烹飪出美味的菜肴,還可以從0到1創造新的菜品。于程序員相比,開發者在創造性和概念性上更勝一籌。

對于同樣一個產品,程序員的工作是從任務/指令下達的時候開始的,而開發者的工作是從和客戶談論需求時開始的。開發者需要不斷的同客戶交談以獲取原始的需求信息,然后對需求進行分析,定位和抽象并找出其中埋藏的問題,最后針對客戶的問題,尋求可行的解決方案。

程序員和開發者,細品之下見差別

 

在實際情況中,程序員和開發者并沒有很明確的界限。例如,在小規模的公司,一個開發者既要承擔需求分析,系統設計,項目管理的工作,又要承擔編碼,測試,調試/運維的工作。但不管界限如何模糊,他們之間終究有區別,例如,從工作的范圍來看:

程序員的工作始終伴隨著編碼,而開發者的工作更多是處理需求,設計和管理的事情。

如果從工作的時間周期來看:

程序員的工作時間周期是從任務下達到調試完成,而開發者的工作時間周期是從需求談判到產品落地。

從工作范圍和時間周期上來看,我們可以得到第一個直觀的概念:

開發者程序員都是程序員,開發者和程序員所承擔的角色是整體與部分,全集與子集的關系。

程序員只需關注自身任務的時間周期,而開發者需要關注整個項目周期。

三、程序員 VS 開發者

首先,不管是系統架構師,軟件工程師還是軟件設計師,他們都是程序員。

在接下來的內容中,我會從工作的職責,時間,能力和領域這四個方向探討開發者和程序員之間存在的區別和聯系。

程序員和開發者,細品之下見差別

 

3.1 工作職責

程序員:

  • 程序員需要對他們正在編寫的源代碼負責(測試,調試/運維)
  • 根據既定任務行事
  • 專注于代碼邏輯和算法
  • 負責業務邏輯的實現和代碼組裝

開發者:

  • 很少的代碼編寫量,更偏重于編碼規范的制定
  • 負責評定和管理項目代碼
  • 對項目的時間,空間和資金成本負責
  • 協調處理整個項目的功能
  • 協調/掌控全局,但沒有必要知道各子功能的內部細節。

程序員利用專業知識,將現實需求/問題轉化為可執行代碼,開發人員則需要利用創造性和概念性來保證程序員的節奏一致,為項目爭取時間和空間。這好比一場交響樂音樂會,程序員像演奏者,而開發者像手拿指揮棒的演奏指揮。

3.2 時間范圍

程序員:

  • 任務下達——工作開始時間
  • 編碼
  • 測試
  • 調試
  • 任務完成——工作結束時間

開發者:

  • 需求談判——工作開始時間
  • 需求分析
  • 概要設計
  • 解決方案
  • 編碼實現
  • 系統測試
  • 系統運維
  • 文檔編寫——工作結束時間

程序員的的工作好比一個400米的接力往返跑比賽,每個程序員只負責其中一段工作,而開發者更像是馬拉松長跑比賽,需要從頭盯到尾。

程序員和開發者,細品之下見差別

 

3.3 工作能力

程序員:

  • 使用合適的編碼指令和算法,編寫經過測試且符合標準的有效代碼,以完成任務。

開發者:

  • 發揮自身的創造性和概念性,找到滿足客戶需求的解決方案,并讓程序員能夠理解并實現自己的想法。

3.4 專注領域

程序員:

  • 業務邏輯轉化為可執行代碼
  • 精于某一個或多個編碼語言
  • 善于使用各類算法解決問題
  • 善于對代碼進行測試、修改和運維

開發者:

  • 需求分析和溝通
  • 資源整合和協調
  • 項目管理與跟蹤
  • 風險評估于把控

四、總結

通過對程序員和開發者之間的對比,我們發現了兩者之間的差異。簡單來說,程序員和開發者之間最本質的區別在于他們的工作范圍不同,思考方向不同。開發人員(技術總監,架構師,設計師,項目經理等)會更多的參與到整個項目當中,并對項目有更深入的了解;而程序員(例如:初/中/高級JAVA程序員或技術專家),他們只參與了項目的特定部分,利用自身的專業知識,解決了某一領域的問題。

回到一開始的那個問題中,開發人員也是程序員,就像美食家也是廚師。但需要注意的是,開發者可以平滑切換到程序員的角色,但程序員并不一定能切換為開發者的角色。為什么這樣說?道理很簡單,美食家可以切換成廚師的角色,自做美味菜肴,但廚師并不一定能夠像美食家一樣創造新的菜品,并對沒事進行品鑒。同樣的,一個技術總監或架構師可以成為一個合格的程序員,去完成編碼任務(通常不會這樣,殺雞用牛刀,如果小公司只有一把牛刀,那也沒有辦法);但一個高級程序員未必能夠勝任技術總監或架構師的工作,因為兩者要思考的問題是一個父子集合,整體與局部的關系。

認識到這一點后,如果你是一名IT公司的招聘人員,你應該已經明白,一個編程專家未必是你想要尋求的技術總監或架構師,選擇需謹慎,用人有風險;如果你是一個碼農,也請認清兩者區別,做好職業規劃,如果你想往技術總監/架構師方向發展,除了必要的編碼能力,你還需加強自身在溝通,表達,整合,探索,創新等方向上的能力,規劃需謹慎,光陰去不回。

 


 

分享到:
標簽:程序員
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定