電腦與電腦連接,滿屏都是程序碼,這就是程序員的工作空間。
羅高欽帶著團隊進駐企業(yè),了解企業(yè)需求,完成編程設(shè)計。
“對于程序員來說,‘工匠精神’更是對自己的要求,是一種向內(nèi)的、對己的不斷追求?!?/p>
他們有時會把公司的遮陽簾都拉下來,在一片幽暗的環(huán)境中,眼前只有屏幕在閃爍,耳邊只有敲擊鍵盤的“啪啪”聲。
那感覺,真是太美妙了。
一排排馬達作響的機器設(shè)備,一條條井然有序的作業(yè)流水線,一名戴著眼鏡、穿著黑衣的男生,穿梭在機器密布的“叢林”中,將手提電腦連到一臺機器上,綠色符號瞬間占滿顯示空間。
他叫羅高欽,臺州奕點網(wǎng)絡(luò)科技技術(shù)經(jīng)理,一名妥妥的“程序猿”。1995年出生的他,光看長相,以及隔著看不懂的代碼看他的工作內(nèi)容,怕是很難將其與“工匠”二字聯(lián)系在一起。但這一點都不影響,全公司的人叫他“老羅”,在臺州,他所在的行業(yè)真的很鮮嫩。
“工匠的工作比較直觀,大家都能看出他是怎么做的,可以體會到工匠的堅守和困惑,但到了我們程序員這里,大家就只能看到我們在敲鍵盤,其他的幾乎不理解。擱在前幾年,大人還都覺得我們不務(wù)正業(yè),成天就知道趴在電腦前。”
如此,就自然理解羅高欽的這番話了:“對于程序員來說,‘工匠精神’更是對自己的要求,是一種向內(nèi)的、對己的不斷追求。”
少年立志
“我印象中第一次看到電腦,是在我爸的單位。”羅高欽盤點自己與電腦之間的故事,把時光追溯到5歲那年。那一年,他看到了一個全身烏漆麻黑的東西,就好像全身被電流擊中了一樣。
“顯示器是正方形的,放在一個長方形的黑色盒子上面,鍵盤、鼠標(biāo)看起來都很笨重?!绷_高欽說道。但正是這臺貌似很“笨”的機器,點亮了他的人生。一顆夢想的種子,在他心中扎下了根。
10歲那年,羅高欽終于可以和心中之夢產(chǎn)生交集了。表哥家買了一臺電腦,只要一有空,他就跑去表哥家,《傳奇》《泡泡糖》,如饑似渴地玩起來。
和絕大多數(shù)孩子一樣,游戲是羅高欽打開虛擬世界的一道門。
小升初那會兒,爸爸終于給他買了一臺聯(lián)想學(xué)習(xí)機。經(jīng)過防沉溺設(shè)置,他每天最多只能玩三個小時,超過時間學(xué)習(xí)機就會自動鎖定。到了初中,學(xué)校里開設(shè)信息課。因為學(xué)習(xí)需要,學(xué)習(xí)機有時會接入外網(wǎng),羅高欽就趁著這機會,偷偷地打開網(wǎng)頁,瀏覽漫畫。
慢慢地,羅高欽找到了破解機器鎖定的方法。當(dāng)他在后臺手動敲進一行cmd命令,那種仿佛觸達事物終極秘密的快感,令他至今難忘。學(xué)習(xí)機成功破解,可沒多久,爸爸就發(fā)現(xiàn)了異樣,干脆把電腦的電源線給拔了。
羅高欽又上網(wǎng)查詢,得到“電腦電源線和電飯煲的電源線是通用的”這一說法,就大著膽子試了試?!拔移鋵嵤且粋€不太愛學(xué)習(xí)的人?!绷_高欽一邊說,一邊靦腆地笑了笑。
而事實上,他當(dāng)年以優(yōu)異成績考入新河中學(xué),也早早決定以后要從事和信息相關(guān)工作的目標(biāo)。于是到了高三,他發(fā)奮努力,終于考上了理想的大學(xué)專業(yè)。
計算機科學(xué)與技術(shù)、Java、數(shù)據(jù)庫、網(wǎng)絡(luò)原理與基礎(chǔ)、算法……一門門計算機課程撲面而來,讓羅高欽欣喜,又覺得應(yīng)付不過來。他如饑似渴地學(xué)著,也利用各種場合小試牛刀。
在校期間,羅高欽代表學(xué)校參加了藍橋杯——全國大學(xué)生TMT行業(yè)賽事和ACM吉林省高校賽。
“ACM吉林省高校賽一般都是大三以上的學(xué)生參加的,我那時還是大二學(xué)生,就代表學(xué)校參加了?!绷_高欽說,相對于全國賽,他還是更看重省級賽,因為ACM競賽是大學(xué)生計算機競賽中影響力最大的賽事。
比賽一共兩個半小時,其中有一道大題、一道算法實現(xiàn)題,以及三四道小題。羅高欽和同組的隊友一起,密切分工配合。大題由羅高欽先進行邏輯分析,再由另一位同學(xué)編寫代碼,最后由一名同學(xué)進行測試,而小題則一人一題分配解決。
“雖然我們只獲得了一個三等獎,但對我來說,是一次難忘的鍛煉?!绷_高欽說。
初露身手
2017年,羅高欽大四實習(xí),心中的理想自然是到北上廣深,或者到阿里這樣的大公司就職。“其實當(dāng)時有一家企業(yè)給我提供了一個offer,但老師叮囑我們,不要去做免費的實習(xí),因為很多公司會以實習(xí)為名,免費使用臨時的勞動力,等到實習(xí)期結(jié)束,就把人‘掃地出門’,因此,當(dāng)我聽對方說實習(xí)期雖然會有工資,但會在以后的工資中扣除時,就果斷放棄了?!?/p>
回家后,羅高欽的父母也像大多數(shù)父母一樣,希望他能找一份穩(wěn)定的工作。但羅高欽并不死心,對父母說:“再給我一個星期找工作,找不到,我就去考個‘鐵飯碗’回來?!?/p>
就這樣,羅高欽來到路橋,見到了老板陳恩華。兩個人一見如故,一聊就三四個小時,非常投機。漫長的“神侃式”面試后,陳恩華一拍桌子:“好了,現(xiàn)在你可以去工作了?!绷_高欽一時沒反應(yīng)過來,回答說:“老板,今天我是來面試的?!?/p>
可能是程序員之間的默契,也可能是一種緣分,羅高欽感謝陳恩華的知遇之恩,成為奕點網(wǎng)絡(luò)的第四個核心開發(fā)員工。
“有點阿里十八羅漢的感覺?!绷_高欽調(diào)侃。
然而,很快,現(xiàn)實扎扎實實地給羅高欽上了一課。
“有一次,有個客戶想讓我們做一個線上的砍價活動。我當(dāng)時完全沒有想法,不知道這個活動該怎么搞,就根據(jù)自己的理解,一步一步推導(dǎo),寫了一千多行代碼,結(jié)果拿到組長那里,被他拿起鼠標(biāo)‘砍砍砍’,只剩下一百多行,就實現(xiàn)了這個功能。”羅高欽說。
這讓羅高欽認(rèn)識到,不管自己在學(xué)校里獲得過什么獎項,拿到真實的應(yīng)用場景中來,自己就是一個地地道道的“菜鳥”。
羅高欽也發(fā)現(xiàn),組長之所以能把代碼寫得這么簡潔高效,是運用了大學(xué)計算機算法原理中的“哈希算法”。這也讓他真正地感受到:“學(xué)校里學(xué)的東西,還是有用的?!?/p>
之后,羅高欽就養(yǎng)成了一個習(xí)慣,每次編程之前,會先對程序的函數(shù)、數(shù)學(xué)方面提出更高的要求,想一想有沒有更好的解決辦法,慢慢地跟上“老手”的水平。
就在羅高欽覺得自己的編程水平與日俱進時,真實的市場又給羅高欽上了一課。這一次,一位客戶想讓他做一個網(wǎng)上商城。
羅高欽第一次牽頭做這個項目。興奮的他立即進行需求分析、可行性探索……但當(dāng)他把成品交付給甲方時,客戶卻說:“這是什么?這不是我要的東西!”
羅高欽這才意識到,自己完全理解錯了客戶需求。于是,他帶著團隊入駐客戶公司,跟著他們一起體驗工作流程,理解他們的工作邏輯,重新設(shè)計方案,終于獲得了客戶的點贊。
試運行那天,甲方董事長親自剪彩。商城一上線,兩小時內(nèi)有60多萬用戶上線,巨大的數(shù)據(jù)流量直接導(dǎo)致服務(wù)器崩潰。羅高欽立即調(diào)來新的服務(wù)器連接在一起,才撐起運營當(dāng)天的流量壓力。
“這也是我第一次同時操作10臺服務(wù)器運行?!绷_高欽說。
拿下了這一單,羅高欽信心增長不少。同時,更棘手的任務(wù)又?jǐn)[到了他的面前。一位客戶提出一個緊急需求,要求在5天之內(nèi)上線。羅高欽接到任務(wù)后,當(dāng)晚就到客戶那里,直接睡在現(xiàn)場,每天早上七八點上班,晚上工作到凌晨一兩點,最終趕上了發(fā)布時間。
“最后的半小時,還在大屏前調(diào)試程序。”羅高欽說,雖然整個程序只有5分鐘的展示時間,他還是挺高興的。
遠大夢想
“我曾經(jīng)的夢想,是自己開創(chuàng)一門編程語言。”羅高欽笑著說:“那時差不多是在畢業(yè)前,我一邊做畢業(yè)設(shè)計,一邊覺得自己超牛,天下無敵?!?/p>
后來的羅高欽,清醒地認(rèn)識到自己是一個“菜鳥”,不過,他依然沒有放棄這個夢想。聽說國內(nèi)有誰封裝了一個新的編程語言,就羨慕得不得了,經(jīng)常收看各種新品發(fā)布會。
慢慢地,羅高欽對編程有了自己的理解。
“首先要搞清楚客戶需求,分析邏輯框架,然后產(chǎn)品經(jīng)理要用技術(shù)性的話語把這些表達清楚,進行需求可行性分析,畫出思維導(dǎo)圖,然后再交給前后端人員開發(fā)編碼,最后進行測試,提交驗收報告?!绷_高欽逐一縷析。
每一個程序編好后,都要進行三種類型的測試。第一種叫做“白盒測試”,就是程序員對著打開的一行行代碼,檢查程序的運行情況;第二種叫做“暴力測試”,就是模擬巨大流量沖擊的情況,看看程序能否扛得住極端環(huán)境;第三種叫做“黑盒測試”,這個說來也有趣,就是由測試員胡亂點擊程序中的各種按鈕,看看有沒有潛藏著意想不到的錯誤發(fā)生。只有經(jīng)過了這三種測試,一個程序才能進入交付。
“我覺得編程序就像是蓋房子,程序員就和建筑師類似,首先要做好規(guī)劃,然后要打好地基,地基要留下一些余量,為以后‘加蓋房子’預(yù)留空間?!绷_高欽說。
“程序員在架構(gòu)程序的時候,需要想象力和理解力,但真正到了寫程序的時候,就要嚴(yán)格按照規(guī)程操作,不能有半點馬虎?!绷_高欽說,現(xiàn)在有各種編譯軟件幫著糾錯,要是在以前,幾萬行的程序代碼中錯了一個符號,就會導(dǎo)致程序死機,“絕對準(zhǔn)確,絕對清晰,就是對程序的要求?!?/p>
現(xiàn)在,羅高欽已經(jīng)制定了一套規(guī)范文件,對已有的常用代碼進行封裝,并進行了規(guī)范命名。程序員在寫程序時,必須按照公司的規(guī)范文件進行書寫,以免產(chǎn)生交流混亂和無法交接等情況。
“若要自主增加一個新的變量或函數(shù),就必須加以注釋,說明新函數(shù)的設(shè)計用意,并標(biāo)注設(shè)計人員的姓名?!绷_高欽說,標(biāo)準(zhǔn)流程是一家公司提升編程效率的根本保證。
“很多程序員不喜歡給自己的程序加注釋,覺得這樣會限制自己的發(fā)揮,但實際上,只有這樣做,才能使同事以較快的速度看懂你的代碼,也有利于別的同事接手你的工作?!绷_高欽說,“有時時間久了,如果沒有注釋,即便是自己也會看不懂自己寫的代碼?!?/p>
“這既是對自己負(fù)責(zé),也是對團隊、對公司負(fù)責(zé),這也是一個程序員應(yīng)該具有的最起碼的‘工匠精神’。”羅高欽說。
如今,羅高欽的工作,就是配合臺州的各類機構(gòu),幫助他們做數(shù)字化轉(zhuǎn)型工作。
2019年,羅高欽帶著團隊,頂著高溫入駐一家模具工廠,用了三個月的時間,搞清楚該工廠所有的生產(chǎn)流程,完成了這家工廠的ERP系統(tǒng)開發(fā),大大提升該工廠的管理效率。
之后,羅高欽又參與了政府基層網(wǎng)格化治理的系統(tǒng)建設(shè)工作。這讓他第一次感到自己的工作“上了臺面”。
再之后,羅高欽帶著團隊入駐一家縫紉機企業(yè)。這一次,他們不僅幫助該企業(yè)完善了ERP系統(tǒng),更是對生產(chǎn)流水線進行MES智能化改造。企業(yè)能對接到的訂單自動安排生產(chǎn)任務(wù),并根據(jù)設(shè)備的運行情況適時進行調(diào)整,實現(xiàn)了從管理到生產(chǎn)的全流程自動化。
“其實機器工作的速度和人的速度差不多,但機器能24小時工作,出錯的概率更低,企業(yè)因此還能大大減少管理人員,一套系統(tǒng)能給企業(yè)增加幾十倍的生產(chǎn)效率,”羅高欽說,“這就是‘智慧工廠’?!?/p>
在羅高欽和公司同事的計劃里,他們夢想著在幫助企業(yè)智能化方面集中發(fā)力,在未來的三年到五年,爭取做到每年三千萬元到五千萬元的營業(yè)額,爭取在新三板上市。
“我們最喜歡穿深色的衣服,工作讓我們經(jīng)常晝伏夜出,因此我們也更喜歡黑暗的環(huán)境?!绷_高欽說,他們有時會把公司的遮陽簾都拉下來,在一片幽暗的環(huán)境中,眼前只有屏幕在閃爍,耳邊只有敲擊鍵盤的“啪啪”聲。
那感覺,真是太美妙了。
【手 記】
泰山不讓土壤,故能成其大;河海不擇細流,故能就其深。優(yōu)秀程序員的價值,不在于掌握了幾招“屠龍術(shù)”,而是在細節(jié)中見真章。
在很多人看來,程序員絕對是“高端”人群,Windows系、Andrioid系、iPhone系……他們的工作看起來五花八門、高深莫測,卻也具有珍貴的工匠精神。
“如果可以一次把事情做對,并且做好,在允許的范圍內(nèi)盡可能追求卓越,那為什么不去做呢?”這是羅高欽對工作的理解。
追求卓越,追求完美,追求細節(jié)的極致,恰恰就是工匠精神的體現(xiàn)。
“修表匠,握著一把小螺絲刀,或者是電工,拿著烙鐵粘著錫和松香,在那一小寸的世界里,把壞的地方修好,那種專注的眼神,讓我覺得很厲害?!?995年出生的羅高欽,深入到問題當(dāng)中,總有一番獨到的見解。
不同的崗位,同樣的追求,正是工匠精神最好的詮釋。