狠狠撸

狠狠撸Share a Scribd company logo
行外人不瞭解的软体开发
為什麼有這份簡報
●
聽過太多次學校老師把「程式設計師」說成是很
「技術」、「作業員」的工作
– 但我覺得那只是他們不會教學生的推托之詞
●
遇過太多次老闆把「程式設計師」當成小叮噹,
付了錢,就負責生出他要的東西來就好
– 偏偏很多老闆自己都不清楚自己想要什麼東西
– 然后又认為付了钱就是老大,大家都要陪他通灵
程式設計只是軟體開發的環節之一
●
不是全部
●
真的不是全部
●
我說了,真的不是全部
程式設計只是軟體開發的環節之一
●
在「程式設計之前」,有很多事情要做
●
需求分析
– 你如果自己都搞不清楚自己要什麼,沒人幫得了你
– 錢不是問題,(老闆)你的表達能力才是問題
– 技術不是問題,(專案經理)(產品經理)你的溝通
能力與通靈能力,再加上一點同理心才是問題
– 但是咱們的專案管理證照好像在考你背誦一堆與以上
無關的東西…
程式設計只是軟體開發的環節之一
●
在「程式設計之前」,有很多事情要做
●
需求分析
●
系統設計
– 這是這篇簡報強調的重點之一
– 如果(老闆)你一直抱持著「程式設計沒什麼,我以
前也學過,不要騙我不懂」的想法,那你就確實不懂
– 对,不要怀疑,你真的不懂
系統設計
●
「照需求書、規格書下去『寫程式』就好了啊,
是還要設計什麼?」
– 需求書、規格書講的是人話,程式在電腦裡並不理你
這種語言
– 系統設計不只是一種「翻譯」人話為程式語言的工
作,而是要把business logic(事務邏輯)提煉出
來,提出一份「人類好懂、程式也好實作」的規律,
人機之間互相配合,而不是你強制機器就是要這麼做
你說什麼?為什麼我還要配合機器?
●
機器並不是你想的這麼萬能
●
有時你以為財大氣粗錢多好辦事,買好多好貴的
機器,可能還比不過一個有效率的程式寫法
●
先有一個良好、合理、具備彈性的設計,才能夠
給程式設計師足夠的迴旋空間,去想有效率的程
式寫法
別唬我,我以前也學過寫程式!
●
多大的程式?
●
不要拿那種學生作業的規模,來看你現在要開發
團隊做的東西
我就說了,我以前也學過寫程式…
●
複雜度不一樣啦!
複雜又怎樣?
●
軟體工程的面向之一,就是控制軟體的複雜度
– 模組化
– 物件導向
– 開發流程
– 協作方式
– 測試
– 人機介面
– …………有太多太多的學問,每個都可自成一個主題讓人鑽研
到頭疼,絕對不只是「程式設計」而已
你可能有很多的「大不了」
●
程式改不動,大不了砍掉重練
– 更多時候是頭洗到一半了,就回不了頭
– 通常程式還不是最大的問題,經年累月下來的資料才
是
●
程式改不動,大不了再多請幾個人來改寫
– 请去读一本书叫做《人月神话》
我想說的是
●
軟體開發是一門專業,這專業底下又有很多專業
●
如果學校老師你對軟體開發不懂,拜託,去瞭解
一下,不然至少請閉上尊口,不要亂灌輸錯誤觀
念給學生
●
如果在學學子你有志於當個「程式設計師」,除
了coding以外,很多與「人」溝通的能力是需要
培養的,吃這行飯沒有那麼簡單
我想說的是
●
如果你是開案子的老闆,好,我沒話可說
– 但是下次當你要脫口而出「這沒那麼難吧」、「別騙
我,我以前也學過寫程式」前,先想想曾經有個傻子
做這份簡報試著跟你釐清觀念過
好,我要洗洗睡了。

More Related Content

Besides programming