我出生在一個農民家庭,父親是一個徹徹底底的莊稼人。他沒什么大本事,但收拾莊稼他是一把好手。春耕秋收,哪個節氣該做什么事情他都門兒清。一有空就去地里拾掇,把莊稼打理的漂漂亮亮的。收割的時候每畝田都比別人家的多打二三百斤糧食。作為一個莊稼人,他是出色的。
我叔叔是一個木匠,他這一輩子在學校待的時間加起來按天算,兩個人的手也就夠用了。十幾歲就認了師傅學習木匠活兒,活兒做得細致還快。什么新花樣的家具,他看了就能做出來。作為一個木匠,他是出色的。
我是一個軟件工程師(就是敲鍵盤寫代碼的),我喜歡寫代碼,我享受一個事物從無到有的過程。一個需求有多種實現,一個變量,一個函數有多種命名,很多時候我都在為這樣的事兒糾結。但我享受這個過程,因為我在讓一個軟件變得更好。作為一個程序員,(我想)我是出色的。
父親,叔叔和我從事著截然不同的職業,但是每個人對自己都有一個要求:把自己的事兒做好。那把自己的事兒做好容易嗎?在我看來它一點都不容易,而且還非常難。
首先,你要認定什么才是你自己的事兒。對于父親和叔叔,受限于當時的社會環境以及生活條件,他們在選擇自己的事兒時并沒有多少余地。種地,木匠,瓦工... ...事兒不一樣,但都是要賣苦力的。你選哪個差別都不大。父親選了當農民種地,叔叔選了作木匠打家具。一干就是大半輩子,在退休之前他們還得在干上十幾年。我不知道他們是不是真的喜歡自己的事兒,或者對于一個農村的人來說他們知道自己喜歡的事兒是什么媽?他們日日夜夜的忙碌就是為了養家糊口,但是難的是他們真正的把自己的事兒踏踏實實的做了幾十年。簡單的事兒做的時間長了也就不簡單了。這就是手藝人,選擇一件事兒,踏踏實實的做上它幾十年。一件事兒如果你不踏實干上幾年是摸不到門道兒的。難的不是事兒本身,是這幾十年的堅持。
村里人教育兒女時經常說:不好好讀書將來就得種地。多么無奈時才會選擇去種地。這口氣里也包含著幾分對這種職業的不屑。但是,在我看來種地這門手藝包含著無數的學問。啥時候播種,啥時候治蟲,啥時候澆水,啥時候收割,等等。種地可不是一件簡單的事情。你不去地里拔草,你不去地里施肥打藥,這都不礙事,因為生活條件好了,一畝地少來二百斤糧食出不了人命。但是,這要壞了莊稼人的名聲。父親經常和我說:賣啥吆喝啥。這是一個莊稼人能教給他孩子的道理。
再說說軟件工程師。這種職業隨著科技的發展越來越趨于普及。社會需求量大了,從事的人也就多了。一個大學生花上萬八千塊錢上個培訓學校出來就能進這行當。林子大了,鳥多了,就出現了良莠不齊的現象。往日的軟件工程師成了現在的IT狗,碼農。 被脫掉神圣的光環,接上了地氣,這個行當也顯得低賤了幾分。前幾年學PHP的工資高,一些人就都奔PHP去了;這兩年搞大數據的吃香,一些人又忙著學Spark去了??傆幸恍┤嗽贗T圈里飄著,往哪兒刮的風大他們自然就去那了?;斓臅r候長了,就成了這樣:說什么他都聽過,能插上兩句嘴,各種技術,圈里的各路大牛他都知道,如數家珍。但是坐到電腦前邊,手挨上了鍵盤就不太一樣了。有的人是根本做不出來東西,有的人勉強能夠做點東西,但是寫的代碼就像沒睡醒的人說胡話。一個軟件工程師的根本是啥,不就是你的代碼嗎?在江湖上混,代碼才是你最有利的武器。再能說是不解決問題的。舉個例子,天龍八部里熟稔各路武學的王語嫣,什么武功都知道,但就是不會練。你要說她在江湖上排第幾,能打倒誰?我還真找不到。Linus不是說過嗎:Talk is cheap,show me the code(別廢話,給我看代碼),就是這道理。
那就有人說了,我才剛剛學編程啊,我還是菜鳥呢。沒錯,哪行都有入門的菜鳥,但是沒有永遠的菜鳥。但想成為好的軟件工程師,寫漂亮的代碼,就必須不斷的操練。只有這樣才能精進自己的技藝。你可以是新人,但不要以新人自居,坐井觀天。
我想這篇文章的讀者不會有莊稼人,不會有木匠,可能只會有一小部分是軟件工程師。但是我們都可以用“手藝人”去要求自己。找到自己想作的事兒,踏踏實實地把它做好。這就是我對手藝人的一些看法。