標籤:

為什麼部分程序員下班後只關顯示器不關電腦?

公司新入幾名程序員,下班時發現他們只關顯示器而不關電腦,說擔心有什麼問題可以第一時間遠程登錄來解決,請問這樣對公司來說有什麼安全隱患嗎?程序員下班不關電腦是習慣性的嗎?


每天上班要打開:

監控各種也不怎麼重要但就是為開而開的分屏終端*6

資料庫連接*4 ( mysql*2,mongodb*1,偶爾 redis*1 )

Chrome*1

網易雲音樂*1

看PDF的okular*1

寫文檔專用Typora*1

個人筆記Leanote*1

直接伺服器寫代碼的vim*1
為了操蛋的看各種存在eq域的 Word不得不開的Windows虛擬機

幹活的vscode*1(編輯器已經很快了,很難想像那些用IDE還堅持每天關機的同行是怎麼做到的,開完生產環境都快吃午飯了吧啊My Boy)

後台無數 jobs,比如 sslocal,比如區域網通信的 samba ,連開發機的VPN ,持久化微信通知服務(這個很重要,Linux上又沒有微信,不得不自己搞的一個通知服務,上班一般不咋用手機,沒它對內基本就是一個聾啞人,嗯,還有公司大群的紅包也搶不到了,關一次錯過了可就是兩個億啊你想想)。

甚至很多服務,承平日久,要關了都忘了怎麼開了,長此以往,和這片內存竟有了感情,怎麼忍心斷電重啟呢?

ps:

解釋下持久化微信通知怎麼搞,Python Pypi 中有個庫叫做 itchat,利用網頁版微信的介面,可以截獲別人給你發送的消息,你可以在本機或者伺服器開個進程,用一個隊列持續接收(我一般是根據發送人做一個過濾,不然啥玩意都往裡面賽,太煩了,And 監測到某些特殊關鍵詞,自動給自己發郵件,防止錯過了,當然這個識別率不太高,目前基本只能做到@的消息不錯過,有比較變態的同學自己用 jieba 分詞定製下吧),放在本地用資料庫或者文本的形式存下來,同時做成一個通知服務,有消息就 Push 。


其他人對程序員最大的誤解之一:程序員下班了,他的電腦、測試機、伺服器也下班了。


如果下班關電腦,那麼第二天上班我就不記得昨天幹了什麼了。

我同時用Mac和Windows,Windows機器上還有個Ubuntu虛擬機。

IDE編輯器有 VisualStudio,VSCode,XCode,AndroidStudio

語言有 C/C++,Java,OC,Go,Python

每個項目都有不同的工作目錄,環境配置等。

如果關機,我真的不記得每項都進行到哪裡,是什麼狀態了。


「公司新入幾名程序,下班時發現他們只關顯示器而不關電腦」

其實連顯示器都沒必要關。

「請問這樣對公司來說有什麼安全隱患嗎?」

沒有。否則的話就說明不這麼用也會有安全隱患。

「程序員下班不關電腦是習慣性的嗎? 」

是,這是好習慣。第二天來一切都就緒了,省很多時間。尤其是像我們這種每天都要裝個最新的insider,半夜讓他自己裝就是了。


入職開機,離職關機。


True story XD


關機重啟要等待操作系統載入完,打開各個應用,調整窗口位置,打開工程,找到昨天編寫的文件……就這樣半個小時過去了。

考慮到電腦待機廢不了多少電,程序員工資又不低,我覺得不關機的話,企業是划算的。

至於關顯示器是因為真的遇到過顯示器不關發生火災,而主機一般不會自己著火。


我一般都是為了利用下班的時間pull主分支全盤編譯,這樣第二天起床他就編譯好了,每次修改只需要一兩個小時的增量編譯就可以看到結果啦!

P.S.

如果安全問題要通過關電腦來解決,不如直接把公司關掉。


一個玩音樂的,怎麼弄他自己的樂器,都沒人敢插嘴。

一個做美術的,怎麼弄他自己的畫具,都沒人敢插嘴。

一個搞體育的,怎麼弄他自己的裝備,都沒人敢插嘴。

我就不明白,為什麼一個寫程序的,連他怎麼管理自己的工具,都有人要指手畫腳?!?!(黑人問號)

你以為程序員上班就是開個電腦,打開個瀏覽器、QQ、Word、PPT 就行了?你知道什麼叫 SSH 么?你知道什麼叫 Workspace 么?你知道什麼是 Terminal 么?你知道跑一組數據的時長很可能是以「小時」為單位的么?你知不知道一個程序員開始上班,意味著他要啟動一大堆本地或遠程服務?當把一切環境、服務都弄好,開始編程、調試,需要多少時間?而他下班的時候,可能還有程序在運行著自己幹活?

另外,如果前一天有問題沒解決完,dump 下來的文件在 binary code 的編輯器中查看時,很可能是沒有保存的。這樣的臨時文件,在程序員工作時會打開很多個。關機再開機?瘋了?

看到這種問題很來氣。

程序員其實壓根沒有任何義務,來和你解釋這些。因為你壓根沒有資格指手畫腳。你去指手畫腳音樂人、建築師、面點師、烘焙師、醫生、廚師怎麼管理他們的工具與設備試試,面對程序員你怎麼就覺得自己懂了?

——有外行不服, 2017.09.14,16:19更新——

我舉幾個很常見的例子:

1)如果他正在調試一個極其難以復現的 bug,但是加班到很晚沒有調試完,程序的一個線程處於斷點狀態,這時他想回家睡覺。你讓他關機?

2)如果他在反編譯一段程序,來了解 encode 的機制(比如研究 Adobe 一個閉源協議),打開了很多臨時的筆記文件,記錄中間態、參數(你可以當成是有很多草稿紙),加班到很晚沒弄完,想回家了,這時你讓他關掉電腦?明天怎麼續上?

3)跑一組數據,運行一個很慢的腳本,要 5~6 小時結束,晚上開著電腦跑,第二天就能看到數據。這時你讓他關電腦?

……

其實提問者有兩點誤區:

1)誤區一:程序員不在電腦前,電腦就不在工作。

我曾經做過這樣的事情,為了跑一組很大的數據,把數據切割成多份,然後讓好幾個同事的電腦幫我跑。那個夜裡,不僅我的電腦沒有關,我工位附近的其他同事們的電腦,基本都在跑我的程序。

所以,程序員不在電腦前,電腦可能仍在工作。

2)誤區二:程序員關機再開機,不會耽誤多少時間。

程序員的工作,具有很強的連續性。很多時候都是前一天的事情,今天要繼續做。而且一般會涉及到大量工具,就拿我多年前剛畢業的時候說起,那時我是 Linux 服務端 C++ 程序、Flash 程序、Java 程序同時編寫與調試,客戶端是 Flash 運行一下,發個請求到伺服器,SSH 連到遠程測試伺服器上斷點調試,本地 Java 作為另一個服務收到請求,還有其他很多臨時創建的工程作為測試(未保存,也不必要保存),很多打開的臨時文件用來粘貼數據、參數(未保存,也不必要保存)…… 還會打開無數的 Stack Overflow、GitHub、Google 頁面,基本上一個瀏覽器打開上百個頁面在程序員眼中是很正常的。

————再更新————

有人覺得是程序員在秀優越…… 可是,你一個外行,指手畫腳程序員如何操作他們的專業工具,你哪來的自信?你哪來的優越感?

隨手截圖,我已經很久沒有寫程序了。現在的主要工作內容,也不是技術工作,但是我的電腦也已經 17 天沒關機了:

————再再更新————

其實這裡面隱含著不信任,以及不聰明。

為什麼說不信任?這麼多程序員都選擇下班不關機,自然有這個崗位、這個工種的工作特點,你們為什麼不信任程序員這樣做是有原因的、是正確的?

為什麼說不聰明?你這樣質疑計算機技術人員對於計算機的使用,你表面的「自作聰明」說明了你的「不聰明」。

—— 麥克船長

  • 更多文章

《我們是應該「斷舍離」還是「念念不忘,必有迴響」?》

《未來人工智慧就是要:讓普通人過上現在富豪們的生活》

  • 更多回答:旅遊

新加坡旅遊應當忌諱什麼?什麼時候去才最合適?》

《乘坐阿聯酋航空Emirates 是怎樣的一種體驗?》

《迪拜兩天怎麼玩?》

《中國哪些省份、城市或地方不是以普通話拼音為英文名稱的?》

  • 更多回答:其他

《東北經濟為何陷入困境?》

《各國遊戲審批制度誰最嚴,誰最松?》

《王者榮耀還有哪些英雄可以出?》

-


假設不加班的話,主機一個晚上的功耗差不多在一度左右,按商用電一度一塊來算的話,一個晚上也就一塊錢。

碼畜一分鐘薪水一塊錢。
碼農一分鐘薪水二塊錢。
程序員一分鐘薪水三塊錢起。

每天各種軟體開關數據保存和載入以及機器開關機總計耗時算5分鐘好了。

自己算算成本好了。。長年累月加起來了就很多了。


為了提升工作中效率進一步壓榨員工的剩餘價值,全部PC換固態盤的老掉牙手段就不說了,特么我還見過直飲水管道直達各工位的。


其實不關電腦,是想讓電腦保持在一種就緒狀態,第二天來了立馬可以用,不用再費勁去做下列事情:

  • 打開IDE,定位到昨天的代碼
  • 打開Chrome,定位到昨天瀏覽的網站
  • 打開JIRA或mantis或其它bug管理平台,找到正在處理的Bug
  • 打開日誌文件,定位到瀏覽的位置
  • 打開PDF教程,定位到昨天看的章節
  • 打開SourceInsight,定位到昨天瀏覽的代碼
  • ……

這些事情真的很費時間啊,也神煩。


我把這個題目分成兩部分:為什麼不關電腦、是否有安全隱患。下面開始聽我慢慢說來。

先說說為什麼不關電腦

我剛去我們公司的時候,每天都老老實實關電腦下班,上班再開電腦。直到有一天,我發現他們幾個人的電腦竟然從來不關,周六周天都不關,更誇張的是我老大有一次出差一個星期電腦也沒關。

這彷彿打開了我新世紀的大門。從那以後我也開始下班只關顯示屏,上班開顯示屏,這樣一來不用每天上班的時候都不用再進行以下操作了。

1、啟動微信,確認登陸,手機確認,哪天沒帶手機的時候更有用。

2.、輸入密碼登入堡壘機、輸入密碼登錄伺服器,有時候要輸入好幾次密碼。

3、辛辛苦苦找昨晚還沒幹完的活的斷點、然後再重新開始,重新理一下思路。

4、打開Sublime打開到上一次寫代碼的目錄

5、打開另一個伺服器準備給人提供數據。

尤其當我發現,我電腦屏幕下方有十多個小圖標程序在運行的時候,不知道關了電腦會不會有什麼臨時的東西被我關掉了,我想了想:算了,那就不關了吧。

再說說是否有安全隱患

至於題主說的另一個問題,程序員下班之後可以在家連接公司的沒關的電腦,一般公司的電腦都是處於內網的,正常情況下在家是連接不到的。

如果公司不強制關電腦也允許遠程連接確實會存在安全隱患,我們當然是很抵制公司允許在公司外部遠程連接公司內部電腦的,因為這樣意味著什麼時候你都有可能被電話鈴聲吵醒遠程連接去幹活。

--

不說了,電話響了,老大讓我上雲伺服器改點東西。


有一個公司,不僅要求下班要關電腦,要關顯示器,恨不得連充電器都要拔了,要給公司省電。

我們來算個賬,1千瓦時=1度電這是科學常識,筆記本+顯示器+充電器待機功耗合起來不到2瓦,也就是500個小時才一度電,每天待機12小時的話要40多天才花公司1度電錢。要不,咱從員工工資里扣了?別再擦拔插頭了行嗎?拔壞了插座板買一個的錢夠待機好幾年了。

(老闆,你冷靜一下,我可沒說是咱公司啊,老闆,哎呀,您別動手啊老闆。再打我還手了啊……)

看了下評論,補充一句話:是不是有些朋友不認識「待機」兩個字?要不怎麼分不清正常使用功耗和待機功耗的區別呢。


我發現滿屏幕都在諷刺題主,猜想題主可能會覺得委屈,似乎很多人沒有準確理解題主的意思。

題主在問題中的關鍵點說的其實是「這樣做是否存在安全隱患」。也就是說,從字面上看,題主的疑惑在於,允許程序員遠程登陸到辦公電腦,這件事情對公司是否存在安全隱患。

我來回答這個問題:如果公司電腦暴露在公網,確實有安全隱患,所以很多公司提供了vpn,程序員在外網需要用登陸認證vpn才能訪問到位於公司的電腦。

當然,同時還有一點:vpn需要有維護人員。。。而vpn維護人員常常是7x24小時手機待命的(這個維護人員需要輪班)。畢竟vpn出問題會導致全公司所有人訪問不了,同時也要負責處理某些員工vpn認證臨時出問題的事。

至於vpn的安全隱患,你需要聘請安全人員來處理這些事情,這個再靠知乎問是不夠的。


安全隱患是吧

說 M$ 一堆人也是下班不關電腦的,而且他們硬碟上面一般都有一份 Windows 的源碼……

問題是想偷走這個的話你得破掉他的域賬戶密碼,而且要麼你來辦公室裡面(意味著要刷狗牌),要麼拿到 vpn 的許可權,哪個都不容易啊。


不關電腦有三重境界:

第一重是休眠,比如用筆記本開發的程序員把蓋子一合,或者PC/Mac台式機直接按電源開關。

其實本問題下好多人提到第二天開機時能直接恢復昨天打開的IDE/資料庫/文檔/各種臨時筆記/查到一半的資訊/摸魚刷的網站……這個需求,靠休眠就能解決啦。

特別提示:對台式機來說純休眠也有風險,萬一哪個走得比你還晚的同事手誤按了插線板開關或者寫字樓突發停電就慘了。所以穩妥方案是把電源按鈕設置為直接進入不耗電的安全睡眠,最起碼把自動保存打開吧。


啥?你需要下班後花三小時編譯整個內核,或者跑個下班前臨時寫的爬蟲等著第二天早上撿數據,或者半夜睡覺前靈感突發遠程SSH連進來優化一下演算法?

多好的員工啊,老闆應該鼓勵這種行為,只要讓運維控制一下辦公室對公網埠的安全性就行了。

這是第二重境界:只關顯示器,拒絕辦公室光污染,但主機還在正常運行。

電腦是大腦的延伸,就算人走了、睡了,它也在忠實地繼續工作。

(當然也有不浪費公司千兆光纖一夜下載幾十G電影的,但難道網費還按流量交嗎)


第三重就更厲害了,屬於人機合一的境界。

電腦上隨時開著幾十個SSH連接、服務監控、開發界面、參考文檔、進度計劃;顯示器最少四個,最多到人類視覺上限;只要辦公室還有人,隨時能遠程連入主機不管是開另一個用戶還是直接和桌面互動,甚至開啟攝像頭直接加入會議討論。

人在或不在辦公室根本不重要,因為電腦就是他的分身。


以後有了成熟的AR/VR技術,還會進化出最高境界。對程序員來說就不再存在上下班的分野了。坐在家裡電腦前就跟在辦公室一模一樣,和你交流的那個人是真的在辦公室還是在家也不重要。

再進一步,是不是連「下班」也不需要了?甚至辦公室都不存在了?那時候的人恐怕已經忘了電腦還是需要關的了吧。

甚至於,你都不知道與自己一起編寫代碼的是另一個程序員還是AI了……


公司不捨得花錢買ssd和配置雲開發環境,

就只好花電費了……


別說程序猿不愛關電腦,我們公司所有人都不愛關機,作為一個八年以上的遊戲從業者,一年下來,除非整棟樓停電或電腦死機等不可抗拒的外力因素,能讓我主動關機的次數三根手指都數得過來,因為嫌麻煩硬生生忍了四年沒有重裝過系統。

夜深人靜之時,來嘗試回憶一下我每次開機後的準備工作(畢竟上次開機好像還是春節後開工時):
1、對接外包,上Q,打開外包聊天窗,隨時留意外包消息,以及QQ已經淪為最便捷的截圖工具。
2、處理遊戲數值,打開mysql,為了方便對比數值,打開兩個以上mysql窗口,大多數時候需要同時處理4個以上遊戲項目的數值,則每個窗口還需要同時開著4個以上遊戲資料庫。
3、打開共享文檔,查看正在跟進項目模塊的最新策劃文檔。
4、打開兩個以上excel 窗口,開始寫任務策劃和劇情文案。
5、打開瀏覽器,隨時搜索資料,此處慣用搜狗,經常一個瀏覽器有時開著十幾二十個窗口。
6、打開管理後台,需要時直接在後台做數據。幾個遊戲則有幾個後台,有時一個遊戲還不止一個後台。(掀桌!!)
7、打開本地遊戲測試新寫的數據。程序經常要求使用360、Google或者配合firefox進行測試,有時開了很多個小號,需要開著好幾個窗口進行測試。
8、打開雲筆記,隨時記錄可用信息和備忘。
9、打開Editplus處理軟體,用於批量處理數值成自己需要的格式。
10、工作需要對接的各個內部工作軟體聊天框。前端程序猿需要對接,美術需要對接,產品組需要對接,策劃組需要對接,老闆需要對接,還有跟基友用於隨時吐槽的聊天窗口。
11、再來就是一些雜七雜八的窗口或臨時需要的軟體了。

很顯然看到這裡,你會發現,我就是個打雜的。

至於說不關機會浪費資源,恩....浪費資源總好過浪費時間。反正對我而言,每一次開機後的重新打開軟體過程都是對最後一絲人性的磨滅。要關機,毋寧死。


一台筆記本,屏幕不亮,功率三十多瓦,咱就按五十瓦算,每20小時一度電,咱多算點,一塊錢。
每天就算完全不加班,八小時上班中午一小時休息,九小時。餘十五小時,每天多用電費七毛五。
程序員按低了算,應屆生,二線,五千可以了吧。一天是5000/22.75 = 219.78。八小時工作時間,每小時27.47。
那麼,早上上班,開機兩分鐘,打開IDE,啟動各個環境,打開昨天臨走關閉的文檔,網頁,登錄各個賬號。還得回憶一下,昨天到底搞到哪裡了。少說,半小時沒了。成本是13.735。
13.735 - 0.75 = 13
這位程序員,每天給公司節省了十幾塊錢啊。要是高級程序員,那就更多了。
當然,如果你們是那種磨洋工的國企。那沒話說。那不僅要每天關電腦,應該把伺服器也關了。


你知道:開機要打開十個左右的應用,是怎樣一種痛苦嗎?

混合應用開發的我。。

  • Intellij Idea (多個前端項目)
  • XCode
  • Android Studio (用於調試和編譯)
  • Sublime(保存臨時字元)
  • Chrome
  • GenyMotion
  • WeChat
  • iTerm (最不想重啟的應用)
  • QQ
  • 科學上網工具
  • 等等

更新: 一周關一次電腦


更新:關於 idea


大部分人對於 Idea 有一個錯誤的認識,就是只用來寫 Java。


旗艦版(收費)的 idea 幾乎擁有所有 WebStorm 的功能,畢竟價格上差了五六倍。


大腦出棧 下班 上班秒入棧 接著昨天的工作 。不為別的 就為替公司多干點活。另外teamview回家沒事加個班 深藏功與名。

日常開機圖標

如果在深度debug點東西 或者聯調一點東西 基本放不下...


推薦閱讀:

老闆對女員工曖昧耍流氓無賴騷擾,該怎麼對待?
人的工作有高低貴賤之分嗎?
PPT 寫作有哪些技巧?
提出新年我要更加努力這樣的願望,有意義嗎?
認為轉崗不合理拒絕簽字,和公司達不成一致只能走勞動仲裁嗎?

TAG:程序員 | 工作 |