思否有約丨@子君:感性的程序員寫的代碼更有詩意
本期訪談嘉賓:@子君
訪談編輯:芒果果
“太陽有升有落,人有生的當然有死的,剩下來的也就是油鹽醬醋茶,吃喝拉撒睡,日子像水一樣不緊不慢地流著?!?/p>
這是子君正在讀的茅盾文學獎獲獎作品《秦腔》里的一句話,賈平凹用一句話描繪了整個中國當代鄉村的價值觀。書中西北漢子的熱烈和農村生活的平淡毫不沖突,這兩種看似極不和諧的氣質卻奇妙的融合。就像子君,是一個浪漫卻理性的程序員。
生活不是電影,不可能浪漫致死,也很難時時波瀾壯闊,但讀書的時候可以去想象、去感受不同的人生。子君說他自己不是個文藝青年,但他相信,感性的程序員寫的代碼更有詩意。
選專業的過程一點也不浪漫
確實,子君走上編程道路的原因一點也不浪漫,就是在家人權衡之下覺得這個專業更好找工作,就這么報了志愿。入行后,他那種帶著“文人特質”的驕傲性格也會時不時的出現,甚至在某個決定性的時刻改變了他自己的人生走向。
Q:為什么選了軟件工程專業?編程是你一開始的興趣嗎?
我的大學專業就是軟件開發,也是從上大學開始接觸編程的。其實自己當年報考大學的時候一心是想學習化學相關的專業,但是因為某些原因沒有選擇化學,同時家人當時也聽說軟件相關專業比較好找工作,所以就報考了軟件工程專業。
Q:入行多久了?現在主要做什么工作呢?
我從入行到現在已經有六年有余了,入行之初我做的一直是全棧相關的開發,但是相對于后端,我更喜歡前端這種展現性的開發,因為可以直接看到自己的工作成果,后來就慢慢的將自己的重心偏向了前端,后來18年進入一家新的公司之后,就真正專注于前端開發了。
當前自己工作中主要用的編程語言是Javascript
,使用的主要框架是三大框架之一的Vue
。
Q:為什么給自己取名“子君”?有什么特殊意義嗎?
我在大學的時候曾經在??厦姘l表過幾篇文章,當時用的筆名是子君,所以就一直沿用下去了。其實用子君這個名字并沒有什么特別的含義,當時只是覺得讀起來特別順口。
Q:平時是個比較文藝的人嗎?程序員應該更偏理性吧?
自己也不算是一個比較文藝的人,生活中也是比較粗枝大葉的,只是平時喜歡看一些文學書籍。我覺得程序員不一定都是很理性的,感性的程序員寫的代碼更有詩意哦。
對于剛工作的人來說,能參與重大項目就是很有成就感的事了,更不用說還取得了不錯的成績。子君入行沒多久就因為“與眾不同”在整個團隊中脫穎而出了,他也慢慢的在這一點點小成績的積累上找到了做程序員的樂趣。
子君很享受被大家一致認可的感覺,無論是寫一篇文章被大家認同,還是是做程序員和團隊成員分享技術都是如此。但面對工作中和同事的分歧,他仍舊可以理性的分析原因,找到解決辦法。
Q:第一次參與項目開發是入行的哪個階段?當時心情如何?
剛入行的時候,做的更多的是公司已有項目的維護開發工作。在入行一年多之后,公司當時有了一個新的產品,對于前端展現要求比較高,而整個團隊因為都是全棧開發,大家經歷更多的都投入在了后端,而自己在前端方面做了許多學習,所以就脫穎而出參與了整個產品前端方面的技術預研與核心功能設計。
剛開始的時候其實心情是比較緊張的,但是慢慢也就適應了。當時做的產品是可視化相關的,在界面操作上面需要通過拖拽的方式來進行界面布局,而自己當時并沒有相關經驗,只能通過尋找開源庫,然后通過擴展開源庫來滿足需求,雖然過程比較艱辛,但是最終還是比較成功的。
Q:有沒有因為工作和同事或者上下級有分歧的情況?是怎么解決的?
工作中和同事或者上下級之間存在分歧我感覺是比較正常的,關鍵在于如何解決分歧。比如對于一個功能,前端認為應該后端做,后端認為前端做,就很容易出現分歧,對于這類分歧一般我們會通過去分析多方面比如性能、實現難度等來決定到底前端做還是后端做。
子君喜歡讀書,也善于思考,他總會反思自己的問題,但也像大多數人一樣,“道理我都懂,但是做起來太難了”。
Q:你覺得自己的缺點是什么?
我自己存在的短板,作為一個開發人員,我的數學和英語不是很好,這個對我日常工作和個人成長帶來了很大的影響。所以我希望所有想學或者已經入行的小伙伴們可以在這兩個學科上面好好提升一下自己,我感覺是很有幫助的。
Q:有什么可以避免短板影響工作的好辦法嗎?
在平時工作中,我喜歡提前和產品探索后續的需求,然后將后續可能出現技術卡點的內容提前做一些技術預研。同時對于新的需求我是比較喜歡先思考清楚需求的每一個細節,然后才進行編碼工作,這樣可以避免需求理解不清造成的工作返工現象。
Q:你還在堅持學習嗎?有沒有好的方法提升自己的能力?
自從Deno
問世以來我就持續在關注它的發展,也做過一些Deno
相關的小demo
。其實作為一個開發人員,日常工作中必須保持持續學習的習慣,否則很容易被淘汰掉。平時我會通過看一些技術文章和書籍,同時也會在github
上面搜一些實戰項目去做一些學習與參考。
Q:工作中最常使用的幾個工具是什么?好用的插件推薦?
作為一枚前端開發工程師,自己在工作中最常用的開發工具是Vscode
,因為其比較輕量,打開速度很快,同時擁有豐富的插件系統,在日程開發中可以帶來很大的便利。對于前端開發者我強力推薦兩款插件,一個是eslint
,一個是Prettier
,每個人的編碼習慣是不一樣的,千人千面,通過這兩個插件可以去對代碼的語法規則和風格進行檢查,對代碼進行美化,好的代碼規范可以讓工作事半功倍。
子君應這樣一個喜歡文學愛看電影的文藝青年和程序員這個職業好像很難聯系起來。但他又是一個不太擅長與人打交道的人,這個職業似乎又很適合他。
思否社區也是在子君一個人默默查資料時偶然發現的,后來發現社區里內容干貨比較多就慢慢的習慣使用思否了。他也不止是在社區里查資料,后來也常常會在思否發表自己的文章。
小編有話說:
西安是一座有很深文化底蘊的城市,即是現代化的都市也有著豐富的“地下寶藏”。就像那個西安不敢修地鐵,就怕挖著挖著出來個古墓的笑話一樣,它飽含著歷史在那座城里留下的財富。
子君一直在西安工作生活,他好像已經和那座城市融為了一體,一樣充滿底蘊,一樣有著取之不盡的“財富”。
技術也是有態度的,就像子君自己說的:“我覺得感性的程序員寫的代碼更有詩意?!?/p>