世界很複雜,尤其是人事的﹑政治的問題…

我自己個人的想法其實比較單純。
我喜歡寫code,我希望能幫到人們的生活,我希望能為人們解決到問題。
我希望我能一直地做這些喜歡做的事。
就算有天我老了,能力與適應力退化,遠遠被年輕人拋離;我也希望我能間中在家裡寫寫code做些玩具。

我想做的事

現今人們做的,好像都是差不多。
做些東西(Product/platform etc),儲user,growth,找人投資,再growth。
少數成功做大的,做大了就收割。
其實,也都是用科技搵錢。

我作為IT狗固然要食飯,但我自己對這些事($)不會特別的感到雙眼發光。
我真正感興趣的是,科技如何改變人們的生活,如何解決人們的問題。

我也明白,搵錢是一種利益,而利益對於sustain model是重要的。
只有sustain model,才能長遠解決人們生活問題。
而搵錢,有時是一種trade off,去settle既得利益分配問題。

這種sustain model﹑做法,是最正路做法,亦是大部份人們做IT所做的事。

——————————————————

我自己,心裡理想的想法,可以的話我是prefer另一種alternative。
對於解決人們生活的做法,我希望那是:

1) 盡量用低成本去解決。
低成本的做法,易於量化scale out

2) 盡量把成本分散﹑尤其是分散到用家之上。
那不只是decentralize server,而甚至是p2p形態﹑distributed形態,這樣能壓低成本,也能分散責任﹑ownership。

3) instead of platform﹑server﹑application
我更希望做到的是standard﹑做法﹑生態﹑culture

我的理想是有點太理想及太typical。
現實中,解決問題從來不是那麼容易找到一個做法是match到我自己的理想,也不是所有問題都適用這類model。

之前做的那個chrome「放工交通消息」只是一個玩具,不是什麼成功的東西。
但至少那件玩具之中,我不是隨便做,也不是純粹找最易做的方法去做。
我是有真正用心去想過,我想做什麼形態的東西。

那種工具,其實可以做web application形式去做,而我會比較熟,為什麼我要做我未做過的browser plugin?

因為,做web application,就要有server side,亦有server side的成本。(除非host o係github乜乜乜果種啦)

而做browser plugin,處理成本都在用家的browser。
所以做法上是低成本﹑能無限scale out,能做到成本分散。
我希望自己能多練習﹑訓練,做些離自己理想比較接近的東西。

平平無奇之中,生活之中,其實我每天想很多很多。

社區

一個城市,人與人之間的關係是疏離的。

我常常覺得香港的社區性不是很強。
人們返工放工回家,流連的就是公司﹑屋企。
人們有幾可會流連在社區的空間?落樓下散步?其實做的也只是各自各的自閉。
所謂的社區,可能只是交通配套﹑生活消費配套。

我自己覺得,理想的社區,是應該有一些公眾的廣場。
人們會在廣場流連,而廣場內會有著人與人的交流。

—————————————

「社區」其實是一個理想,但不是不可能的事。

在雨傘革命時,佔領現場除了是抗爭現場,當中還有一定社區性。
無論是金鐘﹑旺角﹑銅鑼灣,人們會聚集。
當中有些人會組成了一些小型的cluster group,大大小小交錯並存共生的cluster group,有著很多不同的人與人的交流。
這種是「社區」。
(當然,金鐘村我係覺得有少少on9,但on9還on9,我只是想指中雨革當中存有「社區性」,「社區性」不是不可能的事。)

—————————————

其實城市人﹑香港,現實沒有太強社區性。
社區的特性,都由現實轉移到網上的社交平台,例如Facebook。
人們習慣面向Facebook或其他社交平台,使用時感覺是與其他人交流。
在那些Public的page﹑group﹑KOL堆之中,其實就像在一個公眾的廣場。
人們自覺的或不自覺的選擇了或被Algorithm選擇了自己所站的位置﹑所得到的交流空間。

對於facebook平台的潛在問題﹑越來越顯現的問題,
我覺得問題不只是跳不跳去其他平台的問題。
其他平台,遲早也會有facebook的問題。
因為平台皆要營利,平台皆等著user growth到某一天收割。

—————————————

香港,這個城市。
我覺得,人與人之間,需要社區,需要社群。

故有之以為利,無之以為用

大學時,一位教英文的老師在課後教了這幾句話,而我就一直記住了。
若你問我當中的大道理是什麼,我其實也說不到太多。
我只是明白到,因為「無」所以生出「有」的道理。

現今社會,很多時人們只看到「有」的便利,而看不到「無」的作用。
「無」,其實是一種逆向思維。
不過話說回頭,用「無」的角度去看事物作為逆向思維,其實也很平常。

————————————

道德經:故有之以為利,無之以為用

《道德經》第十一章
「三十輻共一轂,當其無,有車之用。
埏埴以為器,當其無,有器之用。
鑿戶牖以為室,當其無,有室之用。
故有之以為利,無之以為用。」
.
解釋:
三十根輻條匯集到一根轂中的孔洞當中,有了車轂中空的地方,才有車的作用。揉和陶土做成器皿,有了器具中空的地方,才有器皿的作用。開鑿門窗建造房屋,有了門窗四壁內的空虛部分,才有房屋的作用。所以,「有」給人便利,「無」發揮了它的作用。

Software developer的價值在於什麼

作為一個Software developer,我有時會想Software developer的價值在於什麼?

寫code﹑productivity?

我當你做同一件feature,你用3個月時間去做。
而假設同一件事,一個普通大陸developer,是要用5個月時間去做。
那麼我假設,用3個普通大陸developer,可能3個月時間都做得完。
其實從codiing﹑productivity角度,你的價值就只是3個普通大陸developer。
一個developer人工幾多?3個普通大陸developer人工幾多?

而且,寫code層面,你從市場上很容易找到人去replace。
所以我常常跟朋友說,technical野不值錢,寫code不值錢。
你計計自己寫code的productivity,in terms of 幾多個普通大陸productivity,就會發覺自己不值錢。
(當然,如果你做的是冷門的programming language skillset,市場供求問題,你價值會高一點。但那也有drawback,在此從略。)

所以我覺得,作為一個developer,
最重要的是找到/去develop一些自己的價值, which is coding & productivity以外的價值, 而那不可能被簡單地用3個普通大陸developer去replace你。

責任﹑視野﹑innovation﹑執行力﹑溝通能力…這些東西都是比起coding & productivity重要得多。
對於freshgrad, 入行做左一兩年左右的developer,我覺得這是很值得他們想想的問題。

從Framework user角度去如何做Framework

如果我是product team,我的想法就是以做好我的product為我的最優先piority。
Framework什麼﹑其他application什麼,他們應該是想想如何幫助到我的pain point,而不是為我製造更大的effort。
而我也只concern對我的product角度有value的事才是真正的有value。
我是面向market﹑customer﹑business﹑user﹑…那些才是最重要的事。

反過來,我自己做Framework人,
我會同情地了解著product team角度地去做返我自己(Framework人)。

我往往是從story角度開始去思考/validate問題,technical問題都只是為要實現story才出現的。
當然,technical不可行也就說不下去。
但story層面想不通的話,technical問題也就不太需要想。

在technical之前的問題是,關於story,我們說的是what? who? when? why? how?

—————————————

做Framework人其實有時有少少人格分裂,

因為要有頂帽是用framwork的一般product角度,
有頂帽是站在公司最重要的very important application角度,
有頂帽是一般developer user角度(product developer本身不一定與product的角度align的),
有頂帽是大環境culture角度,
有頂帽是management睇野角度,
有頂帽是technical可行性及延展性角度。

點做一件事,其實背後唔係純粹technical問題,
背後有好多可能自己不知不覺做左都唔為意既tradeoff。

我當初做個紫微斗數網係點做?

最初最初,我同朋友(user)傾開知道佢地每次起盤(operation)都要用一d好唔方便既tool,而且好唔dynamic,所以每次用都要做好多操作﹑print幾十張紙。
睇到個大致有painpoint,之後我再同佢地傾details少少painpoint bottleneck﹑點樣先幫到佢地﹑佢地點睇個問題。

user講到既最表面問題就係:
1) 每次operation要好多人手操作
2) 每次都要print幾十張紙出黎係咁搵野

於是解決件事同時,我親身去學果樣野,化身為一個user,去了解個問題。
in parallel去分析個問題。
其實問題係舊有既tool互動性﹑資訊性太差,所以好多野要offline做,好白痴。

所以solution係要:
1) 增強操作介面互動性,從而將operation搬返去online度做。(呢個point係由user直接講到俾我聽)
2) 增加一d必須既資訊,有得好方便去search﹑filter。(呢個point係我真正企入去了解個問題之後,自己further諗出黎,佢地初頭foresee唔到就同我講係optional)

第2點,我都唔係自己係咁做做做。
我都係做個minimum viable feature出黎,然後去問下d user覺得正唔正,有冇value,有value我就再enhance。

搵錢其實搵唔到,因為我唔想攪。
雖然我其實一早駁好晒paypal,technically收錢系統根本加少少野就整到個member subscription。
但我唔想諗點計錢,亦唔想收錢攪到d同學唔想用,我想對佢地有用多過搵錢,就係咁。

我唔覺得成件事有咩成功。
我只係想講做product係應該類似咁做。
依d野冇人教我亦冇人指點過我,但我覺得依d係common sense。