絕了!這屆日本碼農水平讓人害怕:學支付寶被盜刷5500萬....._風聞
观察者网用户_244166-2019-07-14 22:42
作者:好大一隻貓
大家知道嗎?前幾天日本程序員搞了個移動支付 APP,結果上線 3 天就被盜刷 5500 萬日元!
看見這個天文數字,學霸君一開始和你一樣震驚,甚至還有點同情。
可當我知道這羣程序員作的蠢後,差點沒被笑死了!
想吃這個瓜,就得先聊聊這瓜怎麼來——
話説,日本人民眼看着我們把支付寶、微信支付用得不亦樂乎,自然蠢蠢欲動。
奈何他們沒有馬雲或馬化騰這樣的爸爸帶頭,於是各個商家只能各搞各的。
像是便利店「全家 family」 就搞了個「FamiPay」,又是送錢又是送積分什麼的,搞得很紅火了。
隔壁同樣開便利店的 7-11 自然坐不住了,於是就打算搞個 「7 Pay」,準備來正面懟一場。
但是開便利店的 7-11 不會碼代碼啊!所以他們只能找一家外包 IT 公司來做。
可沒想到,在全球以「工匠精神」、「苛刻嚴謹」著稱的大和民族,在「密碼找回」機制設計上卻很「弱智」。
大家不妨一起來分析一下 日本程序員在這裏邊的解題思路——
(這裏需要引用網友「 Yuee 」的相關解釋)
已知:
1.首先用户賬號就是郵箱(記住,這在日本很常見)。而用户需要找回密碼時,只需提供「生日」信息;
2.生日信息可以不填,此時會默認為 「2019 年 1 月 1 日」;
3.找回密碼時,沒有輸入錯誤次數限制;
4.找回的密碼,可以用另一個郵箱來接收。
所以,只要你有足夠多的郵箱,再用「2019 年 1 月 1 日」這個默認密碼去試——總有那麼一羣人是懶得改的,這時對方的「7 Pay」賬號就到手了。
可以看到,整個過程不費吹灰之力。只需一台電腦,在家上網日入幾千不是夢。
如果説是學藝不足,那你像女媧補天那樣趕緊補鍋就是了。
但接下來那家外包 IT 公司的補鍋方式,學霸君就真的有點看不懂了——
他們修復漏洞的方法是:
把上述第 4 步中找回密碼的郵箱輸入框,用代碼直接隱藏,讓你無框可輸。
正所謂:我思故我在。我看不見問題,就等於它不存在啊!
看來這羣程序員的哲學課,好像學得還可以哈。
雖然事件以日本特色的「道歉鞠躬賠錢」三連告一段落,但是學霸君繼續深入刨瓜後,發現原來日本程序員的水平真的不太行。

比如你看,小學生都知道,閏年的 2 月是有 29 天的。
但是在日本札幌市鐵路系統的數據裏,平成 12 年(即 2000 年),卻沒有 2 月 29 日這一天的數據。
原因就是程序員用習慣了年號(平成 12 年)計數,忘了閏年(2000 年)這回事……
結果這天用月票坐車的人統統上不了車,因此遲到的上班族更是都快把站台擠爆了。
不知道當時負責開發鐵路系統的程序員最後跪鍵盤沒有。
如果説前面這兩件事,已經讓你對 日本程序員的「匠人精神」產生懷疑。
那麼學霸君接下來説的這個價值 300 億日元的代碼,恐怕要再次刷新你的認知。
2016 年,日本宇航機構(JAXA)發射了一個叫「瞳」的太空望遠鏡衞星。
但十分不幸,衞星上負責定位和穩定的追星儀和陀螺儀都相繼失靈。
失去定位能力的衞星,也因此陷入了高速自轉狀態。
最後衞星電腦自檢,啓動了一個常人都覺得很合理的解決方案——
通過點火器反向點火噴氣,便可抵消自轉力,降低速度。
可萬萬沒想到,在執行方案時,本該往「自轉反方向」的點火噴氣操作,最後卻是順着「自轉正方向」噴了!
而這一噴,自然讓「瞳」轉得更猛了!

結果,這個耗費 300 億日元的太空望遠鏡衞星,就成為了人類史上第一位「太空舞娘」。
它一邊閉眼旋轉跳躍,一邊把身上的太陽能電池板、導流罩等設備,像不祥之刃大招一樣統統甩出天際。
事後,日本宇航機構(JAXA)宣佈事故原因是源自「底層軟件錯誤」。
説人話版本就是——日本程序員把噴氣方向的代碼寫反啦!
而且這行指令在上傳前,居然並沒有經過完整測試!
在宇宙中設備連續出錯,可能得怪運氣不好。
但是你日本程序員居然把代碼寫反了,那就只能説是真的菜了啊!
眾所周知,菜從菜地出。所以日本程序猿業務水平這麼菜也是有原因的,學霸君覺得首先跟他們的 IT 行業環境脱不了關係。
長期以來,日本 IT 行業都有「業務外包」習慣,而且還是呈「金字塔式」的層層遞減外包。
具體而言,就是客户爸爸(像7-11)都會找外包的 IT 開發公司做軟件。但接單的 IT 公司往往會抽取一部分開發費用,然後再轉手給第二家 IT 公司去做。
這個「抽水過程」可能會重複幾次,直到出現真正願意幹活寫代碼的「接盤俠」。
多次轉手對於接盤的公司來説,開發經費捉急自然是一個問題,但工作的內容和形式才是大問題。
一方面,甲方爸爸一般都會把自己開發需求寫好。然後程序員就根據這些需求描述,把它們轉化成代碼的形式。
聽起來很簡單對不對?
的確,和支付寶這些國民級軟件不同——日本這些通常只是公司級的需求,涉及的編程技能一般也比較簡單。
實在不行的,就上 GitHub 這些碼農交流網站複製黏貼就成了。
但問題也就這麼來了:
這些開發工作不需要對市場未來進行什麼深刻思考,也不需要對功能體驗作什麼優化。
於是每個程序員都「按本照碼」,結果就成了「人肉代碼翻譯機」。
另一方面,遇到要改 bug 的情況,層層上報審批這有多麻煩先不説。你這個舉動在包工頭看來,就是在説甲方爸爸的需求不合理才產生了 bug !
所以這些包工頭從不解決問題,只解決提出問題的人。
久而久之,這些原本應是充滿創意與自由的 IT 程序員,在日本卻成為一種服務員般的存在。
而對於服務員來説,客人就是上帝嘛!
「甲方爸爸有新要求?滿足他!不行就應付他!」畢竟交完貨就完事了。
於是世人皆道索尼大法好,但索尼相關軟件的體驗都很不好!
甚至日系大廠各種代工做出來的軟件,簡直就是在花式比拼誰更垃圾!
再加上日本還有「終身僱傭制」這奇葩聘任制度,也間接增長了程序員混日子的念頭。
像是公司如果要秋後算賬,想解僱當年負責的程序員?
這些老鹹魚早就混成「終生僱傭員工」——想炒他們魷魚小心律師函警告哦!一告一個準!
如今日本 IT 行業,大多都把「軟件開發工作」當成一種機械化的「解決方法」。
那麼人類在機械作業中產生的惰性習慣,自然也隨之而來。
你小學被罰抄寫還會用複寫紙呢!所以怎能完全責怪人啊懟不懟?
不過眼看這一代放棄了思考的日本程序員,在成為鹹魚的路上越走越遠。
學霸君還是衷心希望,他們能迎來「功成猿滿」的那一天。
參考文獻:
知乎:《日本IT業發展怎麼樣?》的相關回答
https://www.zhihu.com/question/40807267/answer/88419959
知乎:《在日本的 IT 公司工作是怎樣一番體驗?》的相關回答
https://www.zhihu.com/question/25334349/answer/63423755
為什麼改元“令和”,竟然成了日本程序員的魔咒?
鈦媒體 品玩
https://www.tmtpost.com/3921491.html
移動支付剛開始在日本火起來,7-11 就鬧了個大笑話
愛範兒 吳羚