[翻譯] 程式設計師、碼農、開發者、工程師有什麼差別?

Chenxu Wang
3 min readMay 2, 2017

--

文章來源:https://blog.jixee.me/whats-difference-programmer-coder-developer-engineer/

Computer scientist(電腦科學家)。Programmer(程式設計師)。Coder(碼農)。Developer(開發人員、開發者)。Engineer(工程師)。(以上名詞,以下都用英文代稱)。即使是身在這個產業的我們,這些稱呼也令人困惑。這些到底是什麼意思?還有當你需要完成一些事時,你應該求助於誰?整個產業上下,這些術語通常都被交互使用,組織與組織間互相變換的稱呼,甚至在不同情況代表不同的意思。

所以你要如何知道誰是誰和這項工作需要什麼領域的專家呢?坦白說,沒有任何嚴謹的和快速的規則——所以最好的辦法是就事論事。這裡有一個我們在Jixee(國外科技公司)如何定義各種稱呼的方法:

Coders

非科技業的人通常都會叫一個會寫程式的人Coder。但是這對於我們這種每天都生活在寫程式的人來說,這個全面涵蓋性的術語可能會被認為是貶義的。通常,受過很少訓練或沒什麼經驗的Programmer才會被認為是Coder。這些人通常是初來此領域,只會寫一種程式語言,也不會像Programmer或Developer有著豐富的演算法技巧。Coder通常負責由Developer委派撰寫直觀的程式碼。因為一些公關因素,通常我們會交互使用”Junior Programmer“(初等程式設計師)或”Junior Developer“(初等開發人員),以代替Coder。

Developers and Programmers

在Jixee(國外科技公司),我們內部傾向交互使用Developer和Programmer。這些是可以撰寫兩種到三種程式語言和使用演算法來建立更複雜的軟體的豐富經驗程式撰寫者。

在其他公司,Developer有時被意指為參與過從頭到尾一個完整的專案的人。在這些公司中,Developer通常監督一整個團隊的Coder(不好意思,應該說是Junior Programmer)和Programmer來確保團隊凝聚力和用戶介面設計品質。在這些例子中,Developer很有可能是客戶的直接聯繫人和與其他團隊一起解決問題,回應客戶的問題還有修改要求。

Engineers

我們傾向於叫A咖們 — 最高等級、最多經驗的Coder稱呼為Software Engineer或Engineer。Engineers可以熟練地撰寫三種或三種以上的程式語言和設計與實作完整架構的應用程式。他們把最終產品模組化成一個清楚的介面,然後在和Programmer與Developer實作各模組的設計。

以上這些是在Jixee(國外科技公司)定義這些稱呼的方式,但是我們知道你可能不會同意。這就是為什麼我們不想讓客戶們使用我們定義的術語。不像其他軟體公司,Jixee的專案管理工具可以讓你設定團隊於你自己的標籤,以致於讓你可以保留你的術語。想要叫你的Senior Engineer(高等工程師)為“不可思議的綠巨人浩克”嗎?別讓我們阻止你!Jixee為的是讓你以自己的方式管理你的團隊。

圖片來源:https://www.flickr.com/photos/financialtimes/8785445626/sizes/h/

--

--