Re: [閒聊] Domain Knowledge
※ 引述《csfgsj (Lazy bone)》之銘言:
: 曾經有一個老竽仔跟我說
: 如果你在看程式碼的時候,能看到程式語言以外的思維
: 那就是它啦!Domain knowledge
: 它偶爾會冒出來
: 在大部分都是程式語言的視野中佔據一小角
: 隨著時間的漂移
: 你會發現越來越多程式語言以外的思維從程式碼中冒出來
: 佔據越來越多的視野
: 相對的,程式語言所佔的視野會越來越小
: 直到有一天
: 當所有的視野通通與程式語言無關時
: 那你就出師了
同意;其實,把 domain knowledge 想成「創造 business value 的
工具」的話,就很好理解
以「這個按鈕按下去後,列出所有資料」這功能為例
首先自然是刻 UI ,把客戶端接上後端,後端大概再寫個去撈資料的
東西,最後把資料吐出來
接下來就是最潮的 domain knowledge 惹
* 這軟體是賣給誰用? 若是要賣給美國公家機關,刻 UI 時就要懂得
要設計成色盲也能用,若有用顏色來作 visualization 的話,就
要設計成有灰階版本的;要設計成身體不方便的人也能用,例如,
每個 UI 元件要支援 speech 功能, 要支援 high contrast, 要與
OS 內建的各種 sticky key / tab key 等等功能相容 ...
* 這軟體是處理什麼資料? 這些資料的特性為何? 例如: 安全性? 或
著,是否需要遵守 document retention 的各種法律? 資料量有多
大? 是否要 server-side paging? 資料的「本質」為何? 是否該
設計分析功能? 要設計怎麼樣的分析功能? 統計分析? visualization?
data mining?
* 軟體開發本身的 domain knowledge, 例如 agile, CI, devops;
, dev-qa-pm 是 heaven 的三位一體還是 hell 互婊三巨頭?
PM 是否有給予 dev 足夠的 context? 還是把 dev 關在黑箱裡
直接要他們去實作 PM 想像中的 solution?
dev 與 qa 是否知道這產品是為什麼而做? 做了要賣給誰?
etc.
其他的,什麼 i18n, 會不會踩到別人的專利? 踩到了是要戰還是要
和;這個專案的時程為什麼這樣排? 這產品的競爭對手是誰? 價格如
何定? 如何黏住你的用戶? 有的沒的
易言之,「到底解決了什麼問題? 創造了何種 business value?」
============================================================
基本上,認識 *domain knowledge* 最簡單的方式,應該是
1. 取得該產業裡一般公認的最基本入門知識與技能,例如,以軟體
業來說,「取得 Computer Science 學士學位」是個最常見的方
法
2. 進入業界,從「在這個業界,若要讓公司活下去,成長茁壯,需
要怎麼樣的知識與技能? 」的角度去看事物以及每天發生的各種
大大小小的事件
3. ???
4. Profit!!!
總結:
在背景知識與實務經驗間取得平衡,競爭之後活下來;你所經歷的
一切,就可說是 *domain knowledge*
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 68.4.115.53
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1425139209.A.DE7.html
※ 編輯: AmosYang (68.4.115.53), 03/01/2015 00:01:53
※ 編輯: AmosYang (68.4.115.53), 03/01/2015 00:15:21
推
03/01 00:17, , 1F
03/01 00:17, 1F
修正些語句用詞用字…
※ 編輯: AmosYang (68.4.115.53), 03/01/2015 00:28:55
推
03/01 10:27, , 2F
03/01 10:27, 2F
推
03/01 12:55, , 3F
03/01 12:55, 3F
推
03/02 00:07, , 4F
03/02 00:07, 4F
推
03/03 23:57, , 5F
03/03 23:57, 5F
推
03/04 00:06, , 6F
03/04 00:06, 6F
討論串 (同標題文章)