20210310 撮記
今早陸爸想車我,所以八點五十五分開車,九點四到炮台山,經過匯豐放低我,我要過數比JCI,三月月會參加費。之後去左同陸爸食早餐,食黃金冰室,食到十點走,返公司開工。今日學了整shopify,相對簡單。一點五出去食lunch,又食返黃金冰室,坐返今朝相同位置,巧合到我要留個記念😂

返工太悶,五點七同Christian 去左買天仁茗茶,去左睇車,去左買黑啤,六點返,成個人精神晒!
七點五收工,大家圍爐插OT,同這篇連登所講的不謀而合。七點四十開車,兜左去英皇道,上極都上唔到清風街天橋,差D入左繞道,八點到皇家堡,接陸爸放工。
等緊陸爸時,以前我係彭學高既實習Mentor 蔡sir竟然訊息關心我近況,很感恩有人關心,亦更因為佢應該唔知我出左事(太耐無聯絡了😅),證明佢真係因為我實習時既印象而問候我,這很寶貴!我交代了我無做老師,轉行寫網頁,佢表示佢都想學,我心諗佢咁忙應該無時間學🤣佢細仔讀緊男拔小,我都關心下疫情下如何,佢表示幾好,就係唔洗點上堂,我聽到都覺得幾正路,如果唔洗交學費的話。 還記得去年短聚,就係因為他的分享,我才知道原來直資學校的教育是這樣的。由幼稚園開始,已經有針對所謂名校(尤其是中小一條龍果D)的面試特訓班,課時短,收費貴,海鮮價,但仍有不少家長報讀,畢竟望子成龍嘛!當時他的兒子in 了好幾間學校,其中一間就係男拔小,所以理所當然地又報讀了這個盛惠幾千的「男拔面試雞精班」,內容都係一D有機會出現的Mock Interview Task。另外,原來每屆所有申請小一入學的家長,由第一輪面試開始都已被加入一個whatsapp grp,作發佈資訊用。而經過第二輪、第三輪的淘汰後,被淘汰的小朋友的家長變需要自動quit grp,那麼到最後這個grp 變順理成章地成為了小一家長grp 了。猶記得當時問返蔡sir,覺得自己兒子為何能脫穎而出,佢表示自己也不清楚,因為他兒子並非外向,推測可能是因為某個類似砌積木的interview task中他表現得比其他小朋友專注,因此獲得垂青吧。
陸爸八點五開車車我走,八點五十五到家,佢係牛池灣先落車買晚餐,我揸架車返去。由於下著毛毛雨,我泊好車便落冚,沒有檢查尾箱是否鎖好便回家,畢竟我兩個鐘後又要出門去搵文傑。
夜晚十點零七出門,約了子良去文傑家,我要拎返D cert 同急救船牌。十點三如常打開車冚,發現兩對手套不見了,查看四周都不見,打電話回家問陸爸,他也沒拎,可見是被小偷偷了。唔知好嬲定好笑,佢偷完野後,仲好好手尾冚返好架車,而且只偷手套,看來佢睇唔中其他野🤣等我仲以為我自己大頭蝦遺失左手套。當下我立即檢查清楚,情況就如只有當你唔見銀包時你才會忘記銀包內有甚麼東西😂當下我都不太清楚我的車尾箱本來有甚麼東西,除了手套外還有沒有其他東西唔見左,幸好我暫時搵唔到。加上我趕時間,又正落雨,幸好佢無偷我雨褸🤣真「感恩」。所以我全身包好晒,唯獨雙手是受風的,算是「不怕一萬、只怕萬一」的教訓吧!
十點五到九龍灣,接左子良後便去文傑家,有毛毛雨,子良對於vespa 有陰影,我借了雨褸比佢著。十一點四北潭涌入閘,十一點半到文傑家。全程車我心神不靈,只有同自己講「無仇報,堅強」,其實是有點可惜,因為我唔見左的兩對手套,一對是我剛買車時,在車迷城同陸爸一齊買的電單車手套,另一對是我去瑞典之前為了exchange 而買的colombia 禦寒手套,陪了我整個歐州之旅和西藏之旅,是極具回憶和意義的一對手套。
在文傑家我拎返我D證書,子良亦拎左個倒後鏡,而家變左大細倒後鏡,讓我諗起小丸子😂之後我地十二點三走。在黃石完全無車的路上,我們並排奔馳的感覺很正很難忘。怎料,十二點半,我地剛出北潭涌閘後不久,竟然有一隻「白炸」交通警叫停我倆,我腎上線素即刻飆升,幸好,原來係佢見我地揸得好慢,又見到良架車係改裝過,便截停我倆講經,一時又話我要睇住個朋友,新仔揸得慢好易炒,一時又用我架車加佢架警交通車尾同子良架車作比較,講改裝車如何違反交通規例。佢係阿「咩」黎,警署署長,如果唔係好鐘意揸電單車相信一早已返左去局到坐。得知子良新牌剛買E架N手改裝車,佢勸一句小心D就走左了。我同良都覺得這是好特別的經歷,尤其是最後武士,要感恩。
一點一到家。已經很累,但三點三才訓。
跋:
今日陸媽去左炮台山,我簡單講左我邊個位置返工,佢話佢大概知道。有時,陸媽出街的動力,就是回憶和意義,佢今日會黎炮台山就係因為個仔係度返工,我覺得這都算是一種母親的愛。
連登—IT軟件工程師必須知道的十大準則🤣🤣引君一笑,明白IT人的辛酸。
1. 如遇到不會解決的代碼難題/技術困難,果斷地將代碼推上git branch,明天就會有其他隊友和你一起解決問題。
2. 相信自己,QA是懦弱的玩意,在Production環境出現的問題才能真正地反映客戶需求。
3. 優秀的軟件工程師必須具備前瞻性眼光,勇敢地創造技術負債,並確保在負債漲大到無法承擔前跳槽。
4. 任何時候都要以系統穩定性為大前提,所以能推掉BA 的 新需求就推掉,不能推掉的就告訴BA新需求將可能對系統造成毀滅性影響。
5. 優秀的軟件工程師需要對各種市場最新科技有一定理解,所以公司電腦上安裝stream,bitcon 挖礦軟件和裸聊程式是很正常的事。
6. 優秀的軟件工程師必須確保項目能如期完成,所以當無法趕及項目死線時請自行修改死線以確定項目不會延遲。
7. 軟件工程師的高薪酬源自於高技術門檻,如發現所屬公司項目環境友善請自行提高技術門檻,包括及不限於將參數命名為abcdefg和移除設計文檔
10. 考定保安牌,唔洗擔心中途失業
11. 軟件工程師可能面對中年失業,禿頭,未能結婚等獨有問題。
身為軟體工程師,你應該要盡量寫出無法維護的程式碼,而且絕對不寫測試。
你應該要知道:在績效管理下,你愈是認真負責,愈是做到符合專業倫理的要求,你反而看起來績效愈差。而你大概會有 87% 的比例,會遇到這種績效管理。
舉個例子,假如你是警察,你決定要認真抓小偷,於是上個月在你的管區破獲了五十起竊盜案,這個月因為你的努力,破獲的案件增長到一百件 — 這代表什麼呢?這代表看起來你的管區治安變差了,而你應該要為治安變差負責,你才是應該被檢討的對象。於是你知道,警察好像應該要想辦法破案,但實際上,你的績效並不是來自破案,而是吃案。
如果你花了半年時間,抽絲剝繭理清了複雜的商業邏輯,建立了清爽明確的抽象層,並且預先額外設想了其他的使用情境,最後開發了一套易於擴充的軟體架構,讓一個大學剛畢業的新人,都可以在你的架構上不到一個星期就可以開發出新功能。這代表什麼呢?這代表你的績效很差 — 你的管理者只會看到,你花了半年才做了一件事清,一個新人剛來,卻只需要花上一個星期就可以完成一件事,那還要你來做什麼呢?
至於可以輕鬆開發出新功能的新人,他會怎麼看呢?可以這麼快開發出新功能,當然是因為他自己的功能啊!跟你有什麼關係呢?真的要了解你到底做了什麼,其實只有一個辦法,就是要閱讀你的程式碼,但,放心好了,不會有人會去讀的。
你要做的事情就是:管理者設定了什麼績效,你就想辦法達成什麼績效。如果管理者設定的指標是你修好了多少 bug,那麼你就要想辦法一開始就在你的程式中製造許多 bug,免得日後需要修 bug 的時候沒有 bug 可以修。如果管理者的目標是加速開發,你就應該要不計後果加速開發新功能,明知道是加速邁向毀滅,你也要加速開發。
事實上,身為軟體工程師,你也根本不用考慮後續維護的問題。如果你在一家公司寫了一大堆完全不考慮耦合關係、程式邏輯糾纏不清、命名混亂、使用大量 anti-pattern、到處都是怪氣味、效能極差而且宛若天書的程式碼,而你開始為了繼續維護這樣的技術負債感到痛苦的時候,其實只代表一件事情:你已經在這家公司獃得太久,而且還沒有升上去當主管。
這個時候你就會知道加速開發的好。你完成了這麼多項功能,於是在你想要換工作得時候,你可以寫出洋洋灑灑的履歷表 — 反之,你會把你寫了幾條單元測試、達成多高的覆蓋率這種數字放進履歷表裡頭嗎?把力氣放在測試這種無助於發展事業的事情上,完全就是在浪費你的時間。
你也同時應該感謝 — 不曉得是誰想出來軟體產業園區這種德政,原本製造業的產業園區是讓上中下游供應鏈可以集中在一起,降低運輸成本,但軟體這一行又沒有供應鏈這種事情,成立園區只是讓相互競爭的軟體公司其中在一起,唯一降低的就是人員流動的成本,換工作都不用搬家。多好啊你看。
如果你有機會高升,開始擔任主管(你績效這麼好,怎麼可以不選你當主管呢?),你就會知道,當初寫下的那些無法維護的 legacy code,其實更有助於你擔任主管的管理工作。
擔任主管最重要的工作,不是別的,就是一邊把持住自己的位子一邊想辦法繼續往上爬,所以主管絕對不可以讓部屬表現得比自己更優秀,而你當初寫的程式碼,就是部屬事業道路上最好的絆腳石。你除了可以一邊抱怨為什麼新功能開發愈來愈慢,一邊說嘴當年你只花了多短的時間就寫了多少程式碼,果然只有你有資格擔任大家的主管。
而到了這個時候,你還會發現,程式碼到底是什麼品質,已經跟你的績效無關了。怎樣盡可能的接觸老闆,參與更多會議,讓老闆三不五時看到你,才是你現在的績效。
當然,總有一天技術負債會大到你的部門什麼東西都做不出來,你的公司什麼服務都拿不出來賣,但是這一點都不會影響你找新工作,你瞧,現在,你的履歷表上面,可寫著你當過主管呢!拿著這份履歷表,你更有機會去別的地方,空降擔任更高階的主管。
技術負債從來就不是什麼問題。誰說你製造了技術負債之後,你就得要自己還債?怎樣欠債不還,才是工程師最偉大的藝術。
在你的人生中,你不需要要為其他人而活,也不是為了程式碼這種死物而活,你真正應該要負責的對象只有你自己;而你知道人是經濟而自私的動物,既然你的本性就是貪婪,你就應該成就貪婪。管理者想要這種工程師文化,你就提供這種工程師文化。
你要捨棄專業才能成就事業,你應該要把握當下的績效,而不要為了可能不存在的悲劇結果恓恓惶惶,你每天都應該充滿正能量,還有什麼可以比利己主義帶來更多正能量?凱因斯不就曾經說過:「In the long run, we are all dead」?
身為軟體工程師,你應該放心大膽地創造技術負債。這麼做唯一的風險,就只有在你換工作的時候,也會接手一大筆前人留下來的技術負債。不過,這種事情反正也早就已經發生了。