通常所說的「程序員」是特指「中小型開源Web應用二次開發者」嗎?

其實本來從基本含義上說,編程的人應該都可以稱之為程序員。 這樣一來,無論是演算法科研人員(包括各種基礎類庫),還是特殊設備驅動開發者(比如醫療儀器、數控機床、F22等特殊自動化設備),還是大型C/S架構網路遊戲開發者(比如WOW),以及PS等專業工具的開發者,都是可以稱之為程序員的。

然而,在現實里好像一說起「程序員」彷彿被一些人給強加了一定限制,比如「程序員的理念」、「程序員的夢想」、「程序員的審美」、「程序員的語言」等等語境下,明明內涵很寬泛的一個詞語卻受到了極大的限制,包括「軟體」、「技術」等等詞語也是如此。實際上他們所指的很多情況在其他開發者看來可能根本體會不到。

難道上述的幾類其他類型的開發者都不算「程序員」?給F22做個飛控或者給魔獸世界做個新版本這就不叫「軟體」?給醫療設備開發一個遠程手術系統這就不叫「技術」?

要說「信息技術改變了世界」肯定不是哪一種開發者獨自的功勞,那為什麼有那麼多的開發者就都「被代表」了呢?


題主明察秋毫啊,說出了我多年想說但是又不知道怎麼表達的話。


想感謝題主的,都是從彙編語言、高級語言、面向結構編程、面向對象編程一路走來,浸淫於寫演算法、設計模式,研發驅動、引擎、系統級設計的「老派」程序員……

他們有著自己的驕傲與追求,大多都曾經為了一個演算法一個系統優化設計反覆斟酌,編程對他們來講,那一行行代碼某種程度上是一類藝術……

想說的話不知如何表達……

以此,紀念曾經對「程序」的追求與夢想,以及,編程的過程所帶給自己的自豪與滿足……


問主應該自問自答。

問:通常所說的程序員是什麼?

答:中小型開源Web應用二次開發者。

妥妥日報節奏


給工業設備寫程序的人叫做工程師。。

因為他們不光寫程序,他們還要按照工業規範寫程序,他們除了寫程序還要保證程序的安全性、穩定性、正確性以及出錯概率在10的負X次方以下並且出錯後能夠讓設備安全地停下來不至於出人命等等。。。

否則話就比如阿里亞娜火箭的那個浮點溢出事故。。。。

然後,他們上線調試設備,還要有電工證,知道如何對電氣設備正確進行操作,在何種情況下是可以幹活的,何種情況是絕對禁止的,相互之間分工是什麼,如何保障安全。

否則。。。烤人肉吧。。。當人醬吧。。。

除了這些,還要有相關領域的專業知識。。。比如當年給巴黎14號線寫程序的程序員,因為採用形式化方法開發,每一個函數都要寫一個數學證明去證明他的代碼是不多不少,符合技術要求的。

etc。。。


多麼有見地的一個提問,要是提問也能點贊該多好。


那叫碼農。


唱咱們工人有力量的時候,也沒說清楚是哪種工人。

唱咱當兵的人的時候,也沒說是哪個兵種。

忍了忍了


除了拼接字元串以外,還有其他更多的事情能通過編程的思維去取得更優解。

事實上,國內大眾對程序猿這一群體還缺乏足夠的認識。過年回家親戚問做什麼,答曰程序猿,一臉茫然,只好再來一句:做電腦軟體的。親戚恍然大悟,哎我那電腦老卡了來幫我看看唄......(┙&>∧&<)┙へ┻┻,別說程序猿了,你看人家醫生:路人甲:張醫生我牙疼幫我看看唄,張醫生:我是痔瘡科的。路人甲:沒事醫生都會看病的....(似乎沒這麼嚴重)


我舉一些程序員「被代表」的例子。

論:「程序員」都喜歡用Mac和Linux

駁:我天天用Win和VS

論:「程序員」都喜歡HHKB鍵盤

駁:我只喜歡小紅點

論:「程序員」都喜歡熬夜

駁:我不喜歡,熬夜的時候寫出的bug特別多。

論:「程序員」都很有錢

駁:薪金一部分靠實力,一部分靠忽悠,一部分靠騙。老實的程序員,像我這樣的,就還一般。

論:「程序員」都認為好idea比技術更重要

駁:我程序員當得越久,越專註於技術,反倒不怎麼關心產品......

論:「程序員」都認為一個好的產品經理比好的程序員更重要

駁:同上一條,我不怎麼關心產品......

論:「程序員」的主要工作是實現需求

駁:只有web程序員的主要工作是實現需求,我的主要工作是做技術,搞開發,英文叫develop,又名programming。

論:「程序員」都懂雲計算和大數據

駁:我不是做服務的,這些和我沒什麼關係。

論:「程序員」都追求最新穎的編程語言和開發工具

駁:C/C++能用的開發工具就那麼幾款,我也沒怎麼換過......

論:「程序員」都會用命令行敲命令

駁:我會一些,但會得不多,伺服器運維才經常敲命令。

論:「程序員」都關注科技界的新聞

駁:科技界的炒作比較多,因此我不怎麼關注他們整天搞「大新聞」......

論:「程序員」不靠學歷,只靠實力

駁:低學歷程序員的知識體系不完善,數學和邏輯思維能力不足,自我提升的空間有限。

論:「程序員」都用github

駁:以前我就不喜歡用,因為我不量產開源軟體。

論:「程序員」都喜歡爭編程語言的好壞

駁:我從來不爭,因為我知道C++是最優秀的,這是無可爭辯的,自己知道就好。

論:「程序員」都找不到女朋友

駁:看人,在婚戀方面和別的職業區別不大。

論:「程序員」的邏輯思維很強

駁:看學歷

論:「程序員」都經常跳槽

論:我倒是見到有些程序員去哪家公司哪家公司倒閉,還無一例外都是初創公司。

論:「程序員」都是極客

駁:只有一部分是。喜歡使用技術的人是極客,而程序員是創造技術的,兩者有交集,但不重合。

無疑,web開發是所有種類的程序員里對學歷、編程實力、思維能力需求最低的。web開發火熱,產生了許多對基本計算機知識一竅不通,只會做web或者python的同學,這些同學們與以往傳統意義上工程師形象的程序員大相徑庭,他們追求蘋果手機、蘋果電腦,張口閉口idea和創業,經常量產開源項目,追求所謂的「極客精神」——這正是大眾對「程序員」這個群體現在的認識。我更願意多談一些技術,談一談C++14、C++17,談一談CPU內存一致性,談一談Linux內核新引進的特性,而遠離創業,遠離吹牛逼,遠離所謂的「極客精神」。有些程序員奔波於創業公司之間,每一次跳槽都對東家開出更高的薪金要求,幻想公司上市賣掉股份成為百萬富翁,內心浮躁,行為浮誇——這一類人並不能代表廣大的程序員朋友們,程序員這三個字不應該被貼上太多的標籤。如果要問程序員最大的共同特徵是什麼,我的回答是:我們都是搞技術的,本質上和別的工程師差別不大。


當然不是啊。很明顯,Java社區很大,大量Android開發人員,iOS社區也是。http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html排頭語言主要都不是做Web開發的。Trending repositories也有大量非Web項目。


簡稱「中二者」


寫個基礎類庫都能叫「演算法研究人員」了?看見這個問題的第一想法是:sigh……活該沒落,幸虧跑得早。

任何語言,都只是工具,無論擅長高級或低級語言,底層基礎或終端應用,只要能用代碼迅速有效的解決問題,就是程序員。

我未離開本行業時,最欣賞的程序員,是位非常年輕的未接受過正規高等教育的前端工程師。他是我親手招進來的,因為我曾被前端折磨過,所以預見到前端開發的艱巨和複雜,絕非麾下這幫演算法小子能想到。我需要有天賦能吃苦並能儘力解決不可知風險的孩子,不問出身。他很棒!在所有牛逼烘烘的985/211眾傻眼時,在所有八年以上十年以上資深同事束手無策時,在離里程碑還有兩天時,出手!搞定。事後我拔擢他任前端組長,無人不服。

我曾干過某型號裝備及火控體系組網所需的軍用通訊協議研發,出所後服務的單位,產品涉足工控與通訊設備,並衍生出許多不同層級的中間件、服務及各種終端應用,包括瀏覽器或手持終端。我曾服務過的企業,對於不同技術崗位的同事,薪酬體系確有區別,但不會有崗位高低之分,或人為製造階層,這是鐵律。我只看重誰能解決問題,底層有底層的麻煩,終端有終端的繁瑣。

不同崗位薪酬多少,由人力資源供求關係決定,而技術本身,沒有高低之分。

有這種想法的同學,可能需要在技術觀和全局觀上多錘鍊自己,讓自己的職業生涯更加廣闊,也更加完美。

亂答,不復。


一個問題炸出了多少自以為高貴的「工程師」…呵呵


我不能解答你的問題,但是你卻解答了困擾多時的問題,謝謝


知乎為什麼不能 upvote 題主...


只會畫網頁和APP的,但是卻整天把[老子就是只畫網頁和APP,工資就是比你高]的這類人。

其實,一大把人比你乾的事情更有意義和挑戰性,工資也比你高,這就是現實。


還包含了中小型開源企業應用開發者。


作為一個web開發者,我一直在默默的懷疑,我這樣也能稱為程序員?


答案很簡單,不是。

我司寫客戶端的程序員比Web多多了。


這問題是來挑戰知乎現有核心業務邏輯的。

再次請求知乎添加給問題點贊的功能。


推薦閱讀:

怎麼標註 PDF 做筆記,並且同步到手機和電腦?
如果想在金融軟體(銀行軟體)這方面長期發展,發展到後期是需要金融業務知識多些還是計算機技術多些?
如何在不付費購買伺服器資源的情況下實現客戶端數據更新?
重裝windows系統後怎麼保證原有的軟體能夠正常使用?
軟體測試的長期規劃?

TAG:軟體 | 程序員 | 開源軟體 | 編程 | 開發者 |