你是碼農,開發人員,程序員,還是工程師?
這是一個老生常談的問題。
在我早前工作的時候,我喜歡稱呼自己為開發人員,因為在面試錄取通知中,我被任命為初級軟件開發人員。后來我跳槽之后,我的offer上變成了軟件程序員。而最近我被晉升為高級軟件工程師。以上都是我的職稱,但是我還是很困惑我現在真正的稱謂應該是什么。
很多人都會問我,“你是做什么工作的?”,每次我都需要先想一想,想個1分鐘,才終于意識到“哦……我是寫Java的”。時間一長,我覺得很有必要將這些關系理理清。
基本上碼農就是編寫代碼邏輯,但是卻并不清楚程序的邏輯,不過使用的相應編程語言的語法還是知道的(即使不會,也不意味著他不會自己思考)。有人定義好業務邏輯,有人制定好相應業務邏輯的程序流程圖,然后交給碼農,碼農要做的就是寫代碼,也只是寫代碼。
其中,程序員實際上就是向碼農提供邏輯的那個人,碼農就按照他的要求編寫計算機指令使之工作。如果碼農在寫代碼的時候犯了錯,那么程序就不能如期運行。如果碼農沒問題,但是程序還是不能良好表現,那就是程序員的職責了。
開發人員不但需要寫代碼也參與SDLC(軟件開發生命周期)的全過程。以前我一直以為開發人員就只需要寫代碼或者編程就可以了,但是這大錯特錯。甚至那些測試程序和寫測試場景的也是開發人員。這些都是軟件開發的一部分。
工程師是高水平的稱呼,如果上面任何一個還具備設計(業務級別)和維護的技能,那就可以擁有這個高大上的頭銜。
所以我最后給自己的總結是:
工程師就是既參與寫代碼,又會開發軟件的程序員。
哦,對了,敢問你是碼農,開發人員,程序員,還是工程師呢?
譯文鏈接:http://www.codeceo.com/article/who-are-you-coder-developer-programmer-or-an-engineer.html
英文原文:Who are you ?? Coder ? Developer ? Programmer? or an Engineer ??
翻譯作者:碼農網 – 小峰