開發(fā)者的日常
作為一名996的開發(fā)者,我?guī)缀趺刻熘挥袃杉拢圃靊ug和解決bug,這兩件事,既替我解決了溫飽問題、也替產(chǎn)品經(jīng)理、測(cè)試工程師等一票人解決了吃穿問題。
嗯,有人為我這種程序員評(píng)了一個(gè)等級(jí),我大概是第五等程序員。
? ? ? ??? ? ?
但是。。。我是真的想寫bug嗎?。。。并不是。我也渴望能夠編寫更加優(yōu)秀的代碼,能夠掌握更優(yōu)秀的互聯(lián)網(wǎng)技術(shù)框架、掌握更加優(yōu)秀的開發(fā)方法,但是每天沉迷于搬磚之中不可自拔,哪怕每天認(rèn)真閱讀Robert大叔的《The
Clean Code》,掌握好代碼的速度也遠(yuǎn)遠(yuǎn)趕不上我寫爛代碼的速度。
好吧,我的工作大概是這樣的:
~溪源,你那個(gè)功能做完了嗎?可以發(fā)布了么?
~可以發(fā)了,啥毛病都沒有。
~那行,現(xiàn)在發(fā)吧。
~等下,我又發(fā)現(xiàn)了一個(gè)bug。
~那我等你五分鐘。
~好的,只剩最后一個(gè)bug了,改完這個(gè)bug就可以發(fā),就可以下班了。
-哎呀,臥槽,怎么天亮了。。
?
~你就不能做一個(gè)不寫bug的程序員嗎?
~對(duì)不起,我做不到啊。
~為毛啊。
~那天我去廟里上香,我虔誠(chéng)的對(duì)菩薩說,菩薩,保佑我成為一個(gè)不寫bug的程序員吧~
---然后我獲得了永生。
以上內(nèi)容純屬虛構(gòu),如有雷同,純屬巧合。
?
中國(guó)程序員的現(xiàn)狀?
中國(guó)的程序員大概是國(guó)內(nèi)最苦逼的行業(yè)之一,每天996,下班還要回家學(xué)習(xí)各種新技術(shù)哪怕是BAT這樣的大廠,優(yōu)秀的開發(fā)者也不過是公司前進(jìn)路上的一塊磚石,無時(shí)無刻不面臨著被犧牲的后果,如果未能在指定年齡之前,成為最拔尖的那一批人,那不管你多優(yōu)秀,跟其他開發(fā)者沒有任何區(qū)別。
“中年危機(jī)”,就像夢(mèng)魘一般,既激發(fā)我們向前,更驅(qū)趕我們向鴨子一般,盲目的向前拼搏。或許我們可以逃出這座圍城,但是圍城之外卻是留不住躁動(dòng)心的舒適區(qū)。
無論如何,我們都得努力提高自己,先寫更加優(yōu)秀的代碼,才能獲得更多的機(jī)會(huì),但是,bug卻像魔咒一般。尤其是為了緊跟技術(shù)的步伐,我們會(huì)選擇一些新技術(shù),這就得迎接更加嚴(yán)酷的考驗(yàn)。
?
博客園翻車事件
例如,前不久,博客園就英勇而壯烈的翻車了。眾所周知,博客園選擇了一個(gè)構(gòu)建在.NET平臺(tái)之上的博客系統(tǒng),而隨著.NET
Core的推出,博客園內(nèi)部的許多系統(tǒng)也完成了從.NET FX到.NET Core的技術(shù)改造;而前不久,博客園也將博客系統(tǒng)升級(jí)到了.NET Core 3.0
Preview8,然后開始了挖坑、踩坑、填坑的過程。
前前后后,博客園進(jìn)行了五次嘗試,
【故障公告】發(fā)布 .NET Core 版博客站點(diǎn)引起大量 500 錯(cuò)誤。
?https://www.cnblogs.com/cmt/p/11302666.html
<https://www.cnblogs.com/cmt/p/11302666.html>
【網(wǎng)站公告】.NET Core 版博客站點(diǎn)第二次發(fā)布嘗試。
?https://www.cnblogs.com/cmt/p/11316324.html
<https://www.cnblogs.com/cmt/p/11316324.html>
暴風(fēng)雨中的 online : .NET Core 版博客站點(diǎn)遭遇的高并發(fā)問題進(jìn)展 。
https://www.cnblogs.com/cmt/p/11328141.html
<https://www.cnblogs.com/cmt/p/11328141.html>
Powered by .NET Core 進(jìn)展:驗(yàn)證高并發(fā)性能問題嫌疑犯 docker swarm。
?https://www.cnblogs.com/cmt/p/11335456.html
<https://www.cnblogs.com/cmt/p/11335456.html>
同“窗”的較量:部署在 Windows 上的 .NET Core 版博客站點(diǎn)發(fā)布上線。
https://www.cnblogs.com/cmt/p/11347507.html
<https://www.cnblogs.com/cmt/p/11347507.html>
Powered by .NET Core 進(jìn)展:第5次發(fā)布嘗試(Windows部署)。
https://www.cnblogs.com/cmt/p/11357365.html
<https://www.cnblogs.com/cmt/p/11357365.html>
問題也從最開始的Docker swarm切換到Docker Compose的組件故障,到后來的.NET
Core本身的一些故障,期間從博客園團(tuán)隊(duì)發(fā)布的一些內(nèi)容來看,也似乎陷入了扯毛線扯掉了一件毛線衣的怪圈,不過最終還是發(fā)現(xiàn)了問題的核心,是來源于DbContextPool的線程池限制。
https://www.cnblogs.com/cmt/p/11355978.html
<https://www.cnblogs.com/cmt/p/11355978.html>
將這個(gè)對(duì)象去掉之后,終于塵埃落定,取得了短暫的平靜,當(dāng)然,即便如此也無法證明已經(jīng)真正解決了所有問題,下周是否會(huì)重現(xiàn)本周的局面?不得而知。
?
問題分析
博客園對(duì)于.NET的執(zhí)著,讓無數(shù)優(yōu)秀的.NET開發(fā)者欽佩,但是這些翻車事故,我個(gè)人認(rèn)為,暴露了博客園的一些現(xiàn)存問題。
*
1、貿(mào)然使用還是處于預(yù)覽版階段的.NET Core Preview7,同時(shí)使用了非主流的容器編排技術(shù)Docker Swarm。
*
2、未充分對(duì)業(yè)務(wù)進(jìn)行大規(guī)模的壓測(cè)和AB測(cè)試。
*
3、將生產(chǎn)環(huán)境作為測(cè)試環(huán)境。
我也冒昧的提幾點(diǎn)小建議:
*
1、將這次環(huán)境切換過程的珍貴過程復(fù)盤,形成系統(tǒng)的.NET Fx互聯(lián)網(wǎng)應(yīng)用升級(jí)改造典型案例,讓廣大.NET開發(fā)者能夠從中獲益。
*
2、將博客系統(tǒng)開源,讓更多開發(fā)者參與其中來。
除此之外,也暴露了國(guó)內(nèi).NET技術(shù)圈存在的一些問題。
*
多如牛毛的學(xué)習(xí)資料,卻顯得不夠系統(tǒng),許多博客都是面向初級(jí)開發(fā)者,介紹的都是如何編寫HelloWorld這樣的基礎(chǔ)知識(shí)。更高層次的開發(fā)者,往往只能借鑒于梯子,從國(guó)外獲取有用的學(xué)習(xí)資源。
*
由于國(guó)內(nèi)基于.NET的互聯(lián)網(wǎng)企業(yè)不多,使用容器技術(shù)構(gòu)建互聯(lián)網(wǎng)體系的更是少之又少,所以缺乏真正能夠讓企業(yè)快速借鑒的容器知識(shí)分享或社區(qū)交流氛圍。
*
NET技術(shù)圈對(duì)于大并發(fā)的經(jīng)驗(yàn)不足,對(duì)類似的技術(shù)缺少分享、缺乏開箱即用的優(yōu)秀學(xué)習(xí)資料。
*
閉塞的行業(yè)應(yīng)用范圍是.NET技術(shù)圈的硬傷,與其他技術(shù)社區(qū)很容易針對(duì)技術(shù)點(diǎn)發(fā)生討論相比,.NET技術(shù)圈依然過于安靜,例如當(dāng)出現(xiàn)問題時(shí),往往大部分開發(fā)者都只能看熱鬧,想插手都無能為力。
?
總結(jié)
在這樣的大背景下,博客園的勇氣依然值得贊賞,毫無疑問,博客園的初衷是渴望通過這次新版本的發(fā)布,成功的將.NET
Core的優(yōu)秀宣傳出來,讓更多開發(fā)者能夠親歷技術(shù)的變革、加入.NET Core的轉(zhuǎn)型之中,不過過程中遇到了太多坎坷。
這恰好跟我們平時(shí)開發(fā)過程中經(jīng)常遇到的問題或我們采取的解決問題的辦法一模一樣。
所以,不要妖魔化博客園,也不必神化博客園,畢竟博客園是一家規(guī)模不大的小公司,他恪守底線,讓商業(yè)化在這個(gè)平臺(tái)上幾乎對(duì)大家來說無感。
在技術(shù)這條道路上,每個(gè)人都需要努力的學(xué)習(xí),并不是為了爭(zhēng)一口氣、也不是為了成為第一,而是為了打造更加優(yōu)秀而完美的產(chǎn)品。
限于時(shí)間倉(cāng)促,胡言亂語(yǔ),還請(qǐng)諸君見諒。
(ps:請(qǐng)騰訊把博客園這樣優(yōu)秀、優(yōu)質(zhì)的內(nèi)容平臺(tái)收了吧,云加社區(qū)文章再多,不都是從博客園搬過去的、而且也沒這么多流量啊,再不下手頭條就要搶了。)
?
關(guān)注公眾號(hào),閱讀更多精彩內(nèi)容。
熱門工具 換一換