[心得] 「怎麼樣算(好)問題?」

作者: AmosYang (泛用人型編碼器)   2019-11-26 03:43:50
之前談到「好的求職作品能展現你『解決問題,創造價值』的能力與實績」 [1]
,就有鄉民提道:「解決問題還好,發現問題才難」。
> 推 nekosgr93: 推 我覺得寫作品本身還好 找問題這件事才是最難的
這篇我想談「好問題」,但與《提問的智慧》 [2] 的「好問題」不同。
《提問的智慧》主張的是「能激發知性智識成長的,就是好問題」,我想談的是「
有價值、能交換利益的,叫做好問題」,也就是偏向「功利」的考量,去思考如何
做到「價值大於成本」。
# 知識落差的價值:計算思維(computational thinking) [3] [4]
整理自維基百科對「計算思維」的說明:
* Abstraction 抽象化/定義問題
* decomposition 解構問題、降低複雜度
* pattern recognition / data representation 識別問題模式/資料表示方法
* generalization/abstraction 歸納/抽象思考
* algorithms 演算法
* Automation 自動化/實作解決方案
* Analyses 分析/執行、改善解決方案
上面提到的3A(抽象化、自動化、分析/執行/改善)可說是碼猴特有的三合一
優勢;一般人多少也能做到抽象化、分析/執行/改善,但「自動化」有個程式語
言門檻,一般人常卡在這裡,它們的方法再好,最後還是要手動去做。
從功利角度來說,你不需要是世界最強碼猴,你只需要找到從「自動化」知識落差
套利的機會即可。易言之,可以從生活中工作上各種體驗著手,把事情紀錄下來,
拆解成小步驟,看看可以怎麼用自動化省時省事省麻煩(省成本)、做出來的結果
更一致整齊(增加價值)。
# 計算的成本:莫拉維克悖論(Moravec's paradox) [5] [6]
莫拉維克悖論的大意是:「有些問題很適合用電腦處理,有些很不適合」。進一步
說:「愈是高度抽象思維的問題,就可能愈適合用電腦處理;愈是人體感官、肢體
運動相關的問題,就愈難用電腦處理」。
Moravec 解釋這背後的哲理是:「人腦處理感官、肢體運動的能力,是十億年基因
演化的成果;相較之下,抽象思考只是十萬年文化演化的成果」。易言之,兩邊的
級數差很多,難度不同。
把這個道理應用在「價值與成本」這個題目上,就是要去檢視哪些部分是「高度抽
象思維的問題」,哪些部分是「人體感官(情緒、感性)、肢體運動相關的問題」
。與「人體感官、情緒、感性、肢體運動」相關的部分愈多,一般來說,就愈不容
易去利用 *傳統* 自動化方法降低成本。(而現今 2019 年的AI工具門檻還是不
低,對一般碼猴來說能套利的空間有限。)
另一個要考量的,就是「計算的限制」 [7] ,雖說 RAR 的密碼可以找 yo叔 破
,但在計算科學上還是有些目前打不破、難以突破、尚無人能破的科學之壁,有興
趣可以看 "limits of computation" [7] 的討論。
# 價值與成本:市場、推銷、產品、技術
以下兩則漫畫諷刺「過分專注於產品、技術」的問題。
* https://xkcd.com/1319/ 上圖是理想狀況,自動化會省時間;下圖是現實情況
,花在開發自動化方案的預算大幅透支。
* https://xkcd.com/1445/ 花在「分析方法A與方法B哪個好」的時間成本遠超
過實作方法A或B的時間。
這則漫畫則是展示「價值與成本」的思維,也就是先思考「市場」的潛在價值,再
想想值得投入多少成本、預算。
* https://xkcd.com/1205/ 以5年來看,自動化要省多少時間才划算?
* 橫軸:你手動做這件事的頻率,每天 50 次/每天5次/每天1次/每週1次
/每月1次/每年1次
* 縱軸:自動化可省多少時間,1秒/5秒/30秒/1分/5分/30分/1小時
/6小時/1天
例如,如果自動化可以讓一件「1週1次」的事省下「1小時」,那麼,以5年為
期,就會省下
1 次/週 * 5 年 * 52 週/年 * 1 小時/次 * 1 天/24小時 = 10.8 天
在這個模型下,若花小於 10.8 天去實作這自動化,那就有價值;若花超過 10.8
天去做,那就是虧本。
從「價值槓桿」的角度來看:
市場(market) > 推銷(marketing) > 產品(product) > 技術(technology)
從市場去套利,會比從產品、技術著手來得簡單;但由技術出身的碼猴有時很難突
破這個心障,也就是所謂「當手上只有槌子時,每個問題看起來都像釘子」 [8]

你不需要去找世界第一大的市場,但你至少要能分辨你手上能處理的問題中,市場
總額 [9] 的相對大小,去判斷哪些問題的套利空間大。
## 推銷
這個題目很大,我也還不是很懂,還要再多學、多整理我的想法;有興趣的話可以
看看這些東西:
* value proposition
*
https://lloydmelnick.com/2014/07/23/why-a-new-product-or-game-has-to-be-9x-better/
* https://heathbrothers.com/books/
* 之前貼過的舊文連結,「如何測量及展示你造成的正面影響」
* https://www.facebook.com/30abysses/posts/2853523934672727
* https://www.facebook.com/30abysses/posts/2862654977092956
可以把這門學理想成「如何呼叫人類大腦的 API ,讓它做你想要它做的事」,也
就是所謂「說服(persuade)」。
# 價值與成本:工欲善其事,必先利其器
市面上已經有許多 CRUD 框架,已經能應付大部分資訊自動化的問題。在這裡我想
提的是比較少人談論的,解決問題的觀念、思維上的工具,例如:
* 限制理論(theory of constraints) [10] [11]
* 系統思考(system thinking) [12] [13] [14]
* 雙鑽(double diamond) [17]
這類工具可以更細緻地解構問題,抓出套利空間,掌握關鍵價值、成本的瓶頸。
就軟體工程方法、思維來說,這裡不談敏捷、TDD一類的,但我會建議讀一讀「
r/K選擇理論」 [15] [16] (英文版談得比較詳細),從自然中的例子反思不
同工法在「演化、疊代」(試誤、取得意見回饋、修正)上的差異,不同工法的價
值與成本。
# 結語
就碼猴來說,怎麼樣算好問題?可以答「適合以3A優勢套利的問題、自動化成本
小於手動成本的問題」。
那麼,要如何找到好問題?我會說,放下產品與技術,去接觸市場,也就是「願意
付錢解決它痛點的買家」,看看那痛點是怎麼個痛法,例如,費神、麻煩、慢、貴
、危險。再從這篇文提到的各種解析價值與成本的角度,估計套利空間,做出解決
方案,完成交易。
[1]: https://www.ptt.cc/bbs/Soft_Job/M.1574024530.A.45E.html
[2]: https://ryanhanwu.gitbooks.io/how-to-ask-questions-the-smart-way/
[3]: https://zh.wikipedia.org/zh-tw/%E8%AE%A1%E7%AE%97%E6%80%9D%E7%BB%B4
[4]: https://en.wikipedia.org/wiki/Computational_thinking
[5]:
https://zh.wikipedia.org/zh-tw/%E8%8E%AB%E6%8B%89%E7%B6%AD%E5%85%8B%E6%82%96%E8%AB%96
[6]: https://en.wikipedia.org/wiki/Moravec%27s_paradox
[7]: https://en.wikipedia.org/wiki/Limits_of_computation
[8]: https://zh.wikipedia.org/zh-tw/%E5%B7%A5%E5%85%B7%E8%A7%84%E5%BE%8B
[9]: https://en.wikipedia.org/wiki/Total_addressable_market
[10]: https://en.wikipedia.org/wiki/Theory_of_constraints
[11]: https://zh.wikipedia.org/zh-tw/%E9%99%90%E5%88%B6%E7%90%86%E8%AB%96
[12]:
https://thesystemsthinker.com/systems-thinking-what-why-when-where-and-how/
[13]: https://en.wikipedia.org/wiki/Systems_theory
[14]: https://en.wikipedia.org/wiki/System_dynamics
[15]: https://zh.wikipedia.org/zh-tw/R/K%E9%80%89%E6%8B%A9%E7%90%86%E8%AE%BA
[16]: https://en.wikipedia.org/wiki/R/K_selection_theory
[17]: https://en.wikipedia.org/wiki/Double_Diamond_(design_process_model)
作者: umum29 (....)   2019-11-26 04:24:00
你的文都是好文 感謝
作者: landlord (91)   2019-11-26 08:05:00
專業好文
作者: onegoman (SKY)   2019-11-26 09:31:00
推。
作者: ian90911 (xopowo)   2019-11-26 10:18:00
作者: onlyeric23 (MiGG)   2019-11-26 12:17:00
作者: bowin (盡其在我)   2019-11-26 12:44:00
推Amos好文!
作者: tsai1618 (tsai1618)   2019-11-26 20:45:00
作者: Panpipe (喜樂的心乃是良藥)   2019-11-26 23:33:00
深夜推個好文,讚!
作者: maxqq (max)   2019-11-27 13:10:00
熱 這種感受,在某部分上應該是抽象概念我反而覺得越是能夠量化的,反而越適合電腦處理我想應該是文字上感受度的不同如果哪天冷熱、情緒等問題,可以被量化,那就突破了一個級距。因為冷、熱,有分成體感溫度跟實際溫度。
作者: soappp9527 (soappp)   2019-11-27 16:57:00
深度好文 每篇參考文章都值得認真啃

Links booklink

Contact Us: admin [ a t ] ucptt.com