Programming in 10 years

人生第一次Coding在大學,然後就一直做到現在,剛好十年。

坦白說,還有很大的進步空間。但卻總是覺得幸運

前途問題

遇上不同的人,對「不理想的現實」感到很多的不滿。工作時間長,自己做出來的東西明明很不錯,卻還面對無理客戶和上司的要求;甚至有朋友直言做Software Engineer是低下階層,總是渴望不用理會Coding而能升上管理位置。

這正是幸運的一點:我總是能找到Coding給我的樂趣,每天都總是有新的想法做法,想嘗試挑戰以往自己的做法,每天有新樂趣便成。(也太簡單了吧?)

現在卻是公司想請一個好的工程師也難的世代哈哈。在供不應求之下算是吃香。也是幸運的一種吧。

有朋友指再過十年,你的競爭力比畢業生低,還從事工程師嗎?我也不懂如何答。我沒有很大的意欲升上管理人員,或者自己一直就是尋找藉口,逃避上位避開責任的問題?

學習問題

出來第一份工作,我發現自己跟老闆Coding的差距,做好Coding其實Hard skills很重要,有感自己永遠都追不上的樣子。有幸就是他,遇上了讓我感興趣的Lean Startup書。或者就是一切的開端。是對書有興趣的開端。之後也一直買了很多書。

到現在則是放眼世界,其實還有一段很長的路學習Hard skills Soft skills。他們同樣重要,但最重要的莫過於學懂學習的方法。

我最怕重覆做著相同的事十年,然後告訴別人:喂我有十年經驗,但實際經驗只得一年。

幸運的是自己有很多機會嘗試,接觸到很多Project吸收經驗,甚至學習一種新技能新體驗,刺激一下創意思維。亦有幸認識到一班做事認真的同事朋友,有些時候還在熱列討論Technical問題,可以談得很起勁。

到現在我還是會讓自己「回到過去」,思考面對同樣的問題,會否有更好的做法。在離開舒適圈與不舒服的中間,找到理想的學習速度就不錯了。

面對長時間工作

雖然很想持續學習,但我也有長時間工作的時間。

第一間長時間工作的公司,同事們都十一點回寫字樓,兩三點回家。我都有OT,但幸運的是:那時上司有牙力,讓很多同Team的同事有空間,所以除了第一個月,之後的工作算是輕鬆。我自制了不用OT的時間,好讓我回家都繼續學習。

我發現有些 OT 其實能夠避免,有些則不能:不論是因為能力不足所以需要更多學習空間,或是一個不可能追趕的時間表。也許是我有正面面對OT的經驗,及後有兩間工作過的而又誇張的OT,我想算是處理得不過不失吧。

但暫時還是有一種很強烈的感覺:要做得好,就要休息足夠。

我樂見之前參與的某個Revamp中,有機會一展所長,同時堅持休息時間,有不少好方法,都是第二天早上就忽發奇想。寫的Code真的比以前靚仔實正。離開後也知道維護得很容易,擴展也是,所以很感恩有這機會打好一些根基,現在才有感自己是Senior的樣子。

工程師不是生產機器,生產過程是充滿人性的設計與執行。而好設計,需要休息,腦子才有點子。能夠脫離長時間工作的惡性循環,已經是正向循環。

溝通問題

Soft skills 則是很有趣。

一直也很少說閒話,卻發現要說的話也不是不能,不過做出來還是有點突兀。

我不懂修飾不夠圓滑,給人一種不懂溝通的感覺。有三間合作過的公司,(碰巧都是Senior)對我的溝通能力卻滿有懷疑。但更有趣的是:現在上班的同事問我是否一個「文人」 — — 他認為我與其他工程師有一種不同的感覺,直言覺得我的詞彙我的談吐很不錯。

我想:溝通要圓滑,要讓別人明白你的意見,看來也需要時間磨合和技巧。

最近總是想到一句名言:「你遇到的人都有其困難」。所以在嘗試體諒。

不理想的現實

還有買樓、家庭...其實都不太有問題哈。但環境不理想是無可避免。人總是要尋找在不理想的環境中生活吧。Thanks 子華。

最後

慢慢來比較快。再來多個十年吧。