自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

程序員和開(kāi)發(fā)者,細(xì)品之下見(jiàn)差別

新聞
在客觀世界中,有很多事物存在非黑即白,我們很容易去區(qū)分。例如女人與男人,老虎與獅子,汽車與自行車等等,但對(duì)于眾多IT從業(yè)人員,外界的人們很難一下找出他們之間的區(qū)別。

 也許你會(huì)覺(jué)得該問(wèn)題會(huì)很搞笑,不管是開(kāi)發(fā)者還是程序員他們都是程序員,就像男人和女人都是人(你也可以說(shuō)都是動(dòng)物)。首先,開(kāi)發(fā)者和程序員都是程序員沒(méi)錯(cuò),這就像下面這個(gè)小故事一樣:

“駕購(gòu)獅,射雞獅,攻城獅和程序猿一起走進(jìn)酒吧”

酒保:——程序員們來(lái)了!

 

程序員和開(kāi)發(fā)者,細(xì)品之下見(jiàn)差別

 

對(duì)于非IT行業(yè)的人們來(lái)說(shuō),他們只能對(duì)IT從業(yè)者只有一個(gè)模糊和呆板印象——他們都是程序員,會(huì)修電腦,頭發(fā)很少。如果你是一個(gè)IT行業(yè)的從業(yè)人員,則需要細(xì)品開(kāi)發(fā)者和程序員之間的差異(我探討的目的并不在于界定誰(shuí)比誰(shuí)好)。例如,如果你是IT公司負(fù)責(zé)招聘的工作人員,則必須搞清楚兩者之間存在的差異,不然可能招募不到合適的人才,浪費(fèi)公司的時(shí)間和金錢;如果你是一個(gè)想要從事軟件開(kāi)發(fā)的人,理解兩者之間的差異,對(duì)你的職業(yè)規(guī)劃也大有幫助,因?yàn)橹挥辛私饬瞬町悾悴胖朗裁唇巧m合你,將來(lái)該往什么方向發(fā)展。

一、程序員

為了便于理解,我先將程序員比喻成一個(gè)技藝高超的廚師(注意強(qiáng)調(diào)烹飪技術(shù)),他們能夠按照菜單上的信息,在既定的時(shí)間范圍內(nèi),烹飪出色香味俱全的菜肴。能完成這樣一項(xiàng)任務(wù),這得益于廚師們?cè)诘豆?,時(shí)間和火候上的精湛技藝。

 

同樣的,程序員在既定的時(shí)間范圍內(nèi),按照開(kāi)發(fā)任務(wù)(菜單)將別人的想法轉(zhuǎn)化為可執(zhí)行的軟件代碼,他們負(fù)責(zé)編寫(xiě),測(cè)試,調(diào)試/故障排除和維護(hù)計(jì)算機(jī)源代碼,能勝任這樣一類工作,這得益于他們能理解各種計(jì)算機(jī)編碼指令,能熟練使用各種庫(kù)函數(shù)或框架。

如果要用一句簡(jiǎn)單的話來(lái)概況,那就是:和廚師一樣,程序員是面向任務(wù)/指令型的角色。他們都是根據(jù)任務(wù)/指令行事。

二、開(kāi)發(fā)者

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

對(duì)于同樣一個(gè)產(chǎn)品,程序員的工作是從任務(wù)/指令下達(dá)的時(shí)候開(kāi)始的,而開(kāi)發(fā)者的工作是從和客戶談?wù)撔枨髸r(shí)開(kāi)始的。開(kāi)發(fā)者需要不斷的同客戶交談以獲取原始的需求信息,然后對(duì)需求進(jìn)行分析,定位和抽象并找出其中埋藏的問(wèn)題,最后針對(duì)客戶的問(wèn)題,尋求可行的解決方案。

 

在實(shí)際情況中,程序員和開(kāi)發(fā)者并沒(méi)有很明確的界限。例如,在小規(guī)模的公司,一個(gè)開(kāi)發(fā)者既要承擔(dān)需求分析,系統(tǒng)設(shè)計(jì),項(xiàng)目管理的工作,又要承擔(dān)編碼,測(cè)試,調(diào)試/運(yùn)維的工作。但不管界限如何模糊,他們之間終究有區(qū)別,例如,從工作的范圍來(lái)看:

程序員的工作始終伴隨著編碼,而開(kāi)發(fā)者的工作更多是處理需求,設(shè)計(jì)和管理的事情。

如果從工作的時(shí)間周期來(lái)看:

程序員的工作時(shí)間周期是從任務(wù)下達(dá)到調(diào)試完成,而開(kāi)發(fā)者的工作時(shí)間周期是從需求談判到產(chǎn)品落地。

從工作范圍和時(shí)間周期上來(lái)看,我們可以得到第一個(gè)直觀的概念:

開(kāi)發(fā)者程序員都是程序員,開(kāi)發(fā)者和程序員所承擔(dān)的角色是整體與部分,全集與子集的關(guān)系。

程序員只需關(guān)注自身任務(wù)的時(shí)間周期,而開(kāi)發(fā)者需要關(guān)注整個(gè)項(xiàng)目周期。

三、程序員 VS 開(kāi)發(fā)者

首先,不管是系統(tǒng)架構(gòu)師,軟件工程師還是軟件設(shè)計(jì)師,他們都是程序員。

在接下來(lái)的內(nèi)容中,我會(huì)從工作的職責(zé),時(shí)間,能力和領(lǐng)域這四個(gè)方向探討開(kāi)發(fā)者和程序員之間存在的區(qū)別和聯(lián)系。

 

程序員和開(kāi)發(fā)者,細(xì)品之下見(jiàn)差別

 

3.1 工作職責(zé)

程序員:

  • 程序員需要對(duì)他們正在編寫(xiě)的源代碼負(fù)責(zé)(測(cè)試,調(diào)試/運(yùn)維)
  • 根據(jù)既定任務(wù)行事
  • 專注于代碼邏輯和算法
  • 負(fù)責(zé)業(yè)務(wù)邏輯的實(shí)現(xiàn)和代碼組裝

開(kāi)發(fā)者:

  • 很少的代碼編寫(xiě)量,更偏重于編碼規(guī)范的制定
  • 負(fù)責(zé)評(píng)定和管理項(xiàng)目代碼
  • 對(duì)項(xiàng)目的時(shí)間,空間和資金成本負(fù)責(zé)
  • 協(xié)調(diào)處理整個(gè)項(xiàng)目的功能
  • 協(xié)調(diào)/掌控全局,但沒(méi)有必要知道各子功能的內(nèi)部細(xì)節(jié)。

程序員利用專業(yè)知識(shí),將現(xiàn)實(shí)需求/問(wèn)題轉(zhuǎn)化為可執(zhí)行代碼,開(kāi)發(fā)人員則需要利用創(chuàng)造性和概念性來(lái)保證程序員的節(jié)奏一致,為項(xiàng)目爭(zhēng)取時(shí)間和空間。這好比一場(chǎng)交響樂(lè)音樂(lè)會(huì),程序員像演奏者,而開(kāi)發(fā)者像手拿指揮棒的演奏指揮。

3.2 時(shí)間范圍

程序員:

  • 任務(wù)下達(dá)——工作開(kāi)始時(shí)間
  • 編碼
  • 測(cè)試
  • 調(diào)試
  • 任務(wù)完成——工作結(jié)束時(shí)間

開(kāi)發(fā)者:

  • 需求談判——工作開(kāi)始時(shí)間
  • 需求分析
  • 概要設(shè)計(jì)
  • 解決方案
  • 編碼實(shí)現(xiàn)
  • 系統(tǒng)測(cè)試
  • 系統(tǒng)運(yùn)維
  • 文檔編寫(xiě)——工作結(jié)束時(shí)間

程序員的的工作好比一個(gè)400米的接力往返跑比賽,每個(gè)程序員只負(fù)責(zé)其中一段工作,而開(kāi)發(fā)者更像是馬拉松長(zhǎng)跑比賽,需要從頭盯到尾。

 

程序員和開(kāi)發(fā)者,細(xì)品之下見(jiàn)差別

 

3.3 工作能力

程序員:

使用合適的編碼指令和算法,編寫(xiě)經(jīng)過(guò)測(cè)試且符合標(biāo)準(zhǔn)的有效代碼,以完成任務(wù)。

開(kāi)發(fā)者:

發(fā)揮自身的創(chuàng)造性和概念性,找到滿足客戶需求的解決方案,并讓程序員能夠理解并實(shí)現(xiàn)自己的想法。

3.4 專注領(lǐng)域

程序員:

  • 業(yè)務(wù)邏輯轉(zhuǎn)化為可執(zhí)行代碼
  • 精于某一個(gè)或多個(gè)編碼語(yǔ)言
  • 善于使用各類算法解決問(wèn)題
  • 善于對(duì)代碼進(jìn)行測(cè)試、修改和運(yùn)維

開(kāi)發(fā)者:

  • 需求分析和溝通
  • 資源整合和協(xié)調(diào)
  • 項(xiàng)目管理與跟蹤
  • 風(fēng)險(xiǎn)評(píng)估于把控

四、總結(jié)

通過(guò)對(duì)程序員和開(kāi)發(fā)者之間的對(duì)比,我們發(fā)現(xiàn)了兩者之間的差異。簡(jiǎn)單來(lái)說(shuō),程序員和開(kāi)發(fā)者之間最本質(zhì)的區(qū)別在于他們的工作范圍不同,思考方向不同。開(kāi)發(fā)人員(技術(shù)總監(jiān),架構(gòu)師,設(shè)計(jì)師,項(xiàng)目經(jīng)理等)會(huì)更多的參與到整個(gè)項(xiàng)目當(dāng)中,并對(duì)項(xiàng)目有更深入的了解;而程序員(例如:初/中/高級(jí)Java程序員或技術(shù)專家),他們只參與了項(xiàng)目的特定部分,利用自身的專業(yè)知識(shí),解決了某一領(lǐng)域的問(wèn)題。

回到一開(kāi)始的那個(gè)問(wèn)題中,開(kāi)發(fā)人員也是程序員,就像美食家也是廚師。但需要注意的是,開(kāi)發(fā)者可以平滑切換到程序員的角色,但程序員并不一定能切換為開(kāi)發(fā)者的角色。為什么這樣說(shuō)?道理很簡(jiǎn)單,美食家可以切換成廚師的角色,自做美味菜肴,但廚師并不一定能夠像美食家一樣創(chuàng)造新的菜品,并對(duì)沒(méi)事進(jìn)行品鑒。同樣的,一個(gè)技術(shù)總監(jiān)或架構(gòu)師可以成為一個(gè)合格的程序員,去完成編碼任務(wù)(通常不會(huì)這樣,殺雞用牛刀,如果小公司只有一把牛刀,那也沒(méi)有辦法);但一個(gè)高級(jí)程序員未必能夠勝任技術(shù)總監(jiān)或架構(gòu)師的工作,因?yàn)閮烧咭伎嫉膯?wèn)題是一個(gè)父子集合,整體與局部的關(guān)系。

認(rèn)識(shí)到這一點(diǎn)后,如果你是一名IT公司的招聘人員,你應(yīng)該已經(jīng)明白,一個(gè)編程專家未必是你想要尋求的技術(shù)總監(jiān)或架構(gòu)師,選擇需謹(jǐn)慎,用人有風(fēng)險(xiǎn);如果你是一個(gè)碼農(nóng),也請(qǐng)認(rèn)清兩者區(qū)別,做好職業(yè)規(guī)劃,如果你想往技術(shù)總監(jiān)/架構(gòu)師方向發(fā)展,除了必要的編碼能力,你還需加強(qiáng)自身在溝通,表達(dá),整合,探索,創(chuàng)新等方向上的能力,規(guī)劃需謹(jǐn)慎,光陰去不回。

責(zé)任編輯:華軒 來(lái)源: 今日頭條
相關(guān)推薦

2019-01-07 09:31:37

程序員測(cè)試人員代碼

2021-05-18 16:42:51

開(kāi)發(fā)博學(xué)谷工具

2014-03-26 10:13:07

2014-02-09 10:30:17

Python程序員工具

2022-11-14 14:51:46

2019-07-09 11:09:34

程序員Linux技術(shù)

2020-05-25 09:30:30

程序員工具開(kāi)發(fā)者

2019-09-17 12:35:17

阿里巴巴程序員開(kāi)發(fā)者工具

2014-04-18 14:32:31

美女程序員Android開(kāi)發(fā)者

2013-11-07 11:23:13

2021-05-24 11:10:32

工具阿里巴巴代碼

2017-11-03 10:21:08

程序員編程語(yǔ)言

2019-04-12 14:14:09

碼農(nóng)程序員職業(yè)

2021-01-12 09:02:19

開(kāi)發(fā)人員程序員科班

2020-07-14 11:14:31

開(kāi)發(fā)技能工具

2023-08-15 10:10:34

2011-03-02 13:59:20

2024-11-26 00:35:30

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)