應吳昇老師之邀,回中正資工「電腦軟體設計」課程分享。
我的⼯工作經驗蔡秉諺 Ping-Yen Tsaipingyen Vexed ⽶米蟲(到⽬目前為⽌止)
View Slide
中正資⼯工系 2001.9 - 2005.7中正資⼯工所 2005.9 - 2007.7 指導教授 吳昇中華電信 2007.10 - 2013.9Yahoo 2013.9 - 2015.4Puffin 2015.6
Xuite 隨意窩
Xuite Yo 隨意遊
Xuite UI
TinyMCE
Hami+
TW / HK
Local Search
Local DD
Puffin
「⼯工作中遇到的問題。︒。」
程式需要維護程式正有⼈人在⽤用超過⼀一個⼈人⼀一起寫程式程式需求不明確不確定寫出來的程式是不是使⽤用者要的跟不懂程式的⼈人合作
「怎麼解決。︒。」
版本控管Code ReviewTestAgileCI / CDIssue TrackingCollaborationInstrumentationExperiment
版本控管
Code Review
TestUnit TestIntegration TestFunctional TestTADTDDBDD
Unit Testadd(3, 6) == 9 ?
Integration Testminus(add(3, 6), 2) == 7 ?
Functional Test
TAD / TDDTest-After DevelopmentTest-Driven Development需求明確嗎?
BDDBehavior-Driven Development
add(3, 6)
add(3, 6, 1)add(3, 6, 1, 2)add(3, 6, 1, … )
測試即⽂文件
AgileMVPScrumKanban
MVPMinimum Viable Product
Kanbanカンバン看板from TOYOTA
CI / CDContinuous IntegrationContinuous Delivery
Issue Tracking
Collaboration
Instrumentation
Experiment
「連連看。︒。」
程式需要維護- 版本控管- Code Review- Test- Issue Tracking- Collaboration
程式正有⼈人在⽤用- Code Review- Test- Instrumentation- Experiment
超過⼀一個⼈人⼀一起寫程式- 版本控管- Code Review- Test- Agile- CI / CD- Issue Tracking- Collaboration
程式需求不明確- Agile- Test
不確定寫出來的程式是不是使⽤用者要的- Agile- Instrumentation- Experiment
跟不懂程式的⼈人合作- Agile- Test
「現在就⽤用。︒。」
版本控管 + Code Review + IssueTracking + Collaboration- GitHub- Phabricator- Bugzilla- Trac
Test- Selenuim- BDD
Agile- Scrum- Kanban
CI / CD- Jenkins- Travis
Collaboration- Google Docs- Hackpad- TWiki
InstrumentationGoogle AnalyticsFlurry
Experiment- Google Analytics- 關鍵字 A / B Test
Linode $10 / MDigitalOcean $5 / MWindows AzureHerokuAmazonCloudFlare
「學⽣生專案。︒。」
「其它。︒。」
選擇資⼯工是不錯的決定程式背後是⼈人 程式是⽤用來解決⼈人的問題要與⽣生活結合要好玩不要怕80 / 20 法則Side Project
「Open Source。︒。」
為什麼願意 Open Source ?
不要重覆造輪⼦子
「⾯面試。︒。」
HackerDoerMaker
GitHub你的個⼈人履歷
⽤用⼯工具 別讓⼯工具⽤用你
要求甚解
「就業現況。︒。」
矽⾕谷缺⼯工
免費午餐飲料MBPiPhoneWhy?
1 ⼯工程師 3 ⼈人撐
「U CCU。︒。」
不要 60 分
好好做 圈⼦子很⼩小Credit 會留下
⾞車騎慢⼀一點過好每⼀一天
「謝謝。︒。」