Enviar búsqueda
Cargar
軟體開發之路甘苦談(Gelis)
•
3 recomendaciones
•
33,405 vistas
Gelis Wu
Seguir
軟體開發之路-2017 新春網聚
Leer menos
Leer más
Software
Denunciar
Compartir
Denunciar
Compartir
1 de 32
Descargar ahora
Descargar para leer sin conexión
Recomendados
如何培養架構性思考(談軟體架構師必經之路)
如何培養架構性思考(談軟體架構師必經之路)
Gelis Wu
軟體架構設計的技術養成之路
軟體架構設計的技術養成之路
Gelis Wu
設計と実装で 抑えておきたい サービスクラスと例外
設計と実装で 抑えておきたい サービスクラスと例外
Takuya Sato
Spring と TDD
Spring と TDD
Takeshi Ogawa
實踐 Clean Architecture(實作高可用性的軟件架構)
實踐 Clean Architecture(實作高可用性的軟件架構)
Gelis Wu
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)
A AOKI
Hack言語に賭けたチームの話
Hack言語に賭けたチームの話
Yuji Otani
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
Yoshitaka Kawashima
Más contenido relacionado
La actualidad más candente
僕がつくった 70個のうちの48個のWebサービス達
僕がつくった 70個のうちの48個のWebサービス達
Yusuke Wada
Net 6 的 blazor 開發新視界
Net 6 的 blazor 開發新視界
Gelis Wu
関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門
関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門
Tadahiro Ishisaka
デキるプログラマだけが知っているコードレビュー7つの秘訣
デキるプログラマだけが知っているコードレビュー7つの秘訣
Masahiro Nishimi
例外設計における大罪
例外設計における大罪
Takuto Wada
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っている
Koichi Tanaka
JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」
JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」
y torazuka
テストとリファクタリングに関する深い方法論 #wewlc_jp
テストとリファクタリングに関する深い方法論 #wewlc_jp
kyon mm
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
gree_tech
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
Yoshitaka Kawashima
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Koichiro Matsuoka
HTML5マークアップの心得と作法
HTML5マークアップの心得と作法
Futomi Hatano
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
SEGADevTech
比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)
gree_tech
DevOps勉強会
DevOps勉強会
Shuntaro Saiba
Entity Framework(Core)についての概要を学ぼう
Entity Framework(Core)についての概要を学ぼう
TomomitsuKusaba
オブジェクト指向できていますか?
オブジェクト指向できていますか?
Moriharu Ohzu
ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説
増田 亨
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
shinjiigarashi
設計品質とアーキテクチャ
設計品質とアーキテクチャ
Toru Koido
La actualidad más candente
(20)
僕がつくった 70個のうちの48個のWebサービス達
僕がつくった 70個のうちの48個のWebサービス達
Net 6 的 blazor 開發新視界
Net 6 的 blazor 開發新視界
関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門
関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門
デキるプログラマだけが知っているコードレビュー7つの秘訣
デキるプログラマだけが知っているコードレビュー7つの秘訣
例外設計における大罪
例外設計における大罪
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っている
JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」
JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」
テストとリファクタリングに関する深い方法論 #wewlc_jp
テストとリファクタリングに関する深い方法論 #wewlc_jp
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
HTML5マークアップの心得と作法
HTML5マークアップの心得と作法
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)
DevOps勉強会
DevOps勉強会
Entity Framework(Core)についての概要を学ぼう
Entity Framework(Core)についての概要を学ぼう
オブジェクト指向できていますか?
オブジェクト指向できていますか?
ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
設計品質とアーキテクチャ
設計品質とアーキテクチャ
Similar a 軟體開發之路甘苦談(Gelis)
團隊開發永遠的痛 談導入團隊開發的共同規範(Final)
團隊開發永遠的痛 談導入團隊開發的共同規範(Final)
Gelis Wu
Digital product design process
Digital product design process
peiyuhuang5
Universal windows apps 開發—運用 html 及 java script
Universal windows apps 開發—運用 html 及 java script
Ian Chen
選一個框架當好朋友,讓您成為開心攻城獅
選一個框架當好朋友,讓您成為開心攻城獅
Shengyou Fan
HPX台南讀書會-Axure RP基礎課程
HPX台南讀書會-Axure RP基礎課程
Souyi Yang
Azurebootcamp 2018
Azurebootcamp 2018
Ian Chen
從雛形到設計-了解您的使用者在想什麼
從雛形到設計-了解您的使用者在想什麼
Souyi Yang
2020DDDTW-如何逐步導入敏捷精神,創造願意接受失敗的開發團隊?
2020DDDTW-如何逐步導入敏捷精神,創造願意接受失敗的開發團隊?
棋文 鄭
企業導入 Angular 作為前端開發的好處
企業導入 Angular 作為前端開發的好處
Oomusou Xiao
高雄和春資工系-Axure RP基礎課程
高雄和春資工系-Axure RP基礎課程
Souyi Yang
成大心理系-Prototyping方法
成大心理系-Prototyping方法
Souyi Yang
資工系青年們夢想起飛 一段愛與夢想的故事
資工系青年們夢想起飛 一段愛與夢想的故事
John Wu
Djt22 justinliu djt.qq.com
Djt22 justinliu djt.qq.com
drewz lin
Djt22 justinliu djt.qq.com
Djt22 justinliu djt.qq.com
drewz lin
F2E, the Keystone
F2E, the Keystone
Joseph Chiang
【iT邦幫忙交流聚(1)】創業路遙遙
【iT邦幫忙交流聚(1)】創業路遙遙
Brecht Huang
Joomla! 網站規劃 簡報 - I love joomla! 5月小聚
Joomla! 網站規劃 簡報 - I love joomla! 5月小聚
ilovejoomla
Joomla! 網站規劃 簡報-i love joomla! 5月小聚
Joomla! 網站規劃 簡報-i love joomla! 5月小聚
Asika Simon
【1110ROS社群開講】如何打造與人一起學習的機器檯燈_鄭凱文
【1110ROS社群開講】如何打造與人一起學習的機器檯燈_鄭凱文
MAKERPRO.cc
oa rapid framework課程說明會
oa rapid framework課程說明會
Jimmy Weng
Similar a 軟體開發之路甘苦談(Gelis)
(20)
團隊開發永遠的痛 談導入團隊開發的共同規範(Final)
團隊開發永遠的痛 談導入團隊開發的共同規範(Final)
Digital product design process
Digital product design process
Universal windows apps 開發—運用 html 及 java script
Universal windows apps 開發—運用 html 及 java script
選一個框架當好朋友,讓您成為開心攻城獅
選一個框架當好朋友,讓您成為開心攻城獅
HPX台南讀書會-Axure RP基礎課程
HPX台南讀書會-Axure RP基礎課程
Azurebootcamp 2018
Azurebootcamp 2018
從雛形到設計-了解您的使用者在想什麼
從雛形到設計-了解您的使用者在想什麼
2020DDDTW-如何逐步導入敏捷精神,創造願意接受失敗的開發團隊?
2020DDDTW-如何逐步導入敏捷精神,創造願意接受失敗的開發團隊?
企業導入 Angular 作為前端開發的好處
企業導入 Angular 作為前端開發的好處
高雄和春資工系-Axure RP基礎課程
高雄和春資工系-Axure RP基礎課程
成大心理系-Prototyping方法
成大心理系-Prototyping方法
資工系青年們夢想起飛 一段愛與夢想的故事
資工系青年們夢想起飛 一段愛與夢想的故事
Djt22 justinliu djt.qq.com
Djt22 justinliu djt.qq.com
Djt22 justinliu djt.qq.com
Djt22 justinliu djt.qq.com
F2E, the Keystone
F2E, the Keystone
【iT邦幫忙交流聚(1)】創業路遙遙
【iT邦幫忙交流聚(1)】創業路遙遙
Joomla! 網站規劃 簡報 - I love joomla! 5月小聚
Joomla! 網站規劃 簡報 - I love joomla! 5月小聚
Joomla! 網站規劃 簡報-i love joomla! 5月小聚
Joomla! 網站規劃 簡報-i love joomla! 5月小聚
【1110ROS社群開講】如何打造與人一起學習的機器檯燈_鄭凱文
【1110ROS社群開講】如何打造與人一起學習的機器檯燈_鄭凱文
oa rapid framework課程說明會
oa rapid framework課程說明會
Más de Gelis Wu
Blazor in NET 8 的重大改變___________________
Blazor in NET 8 的重大改變___________________
Gelis Wu
.NET 7 升級教戰手冊_V1.0.pdf
.NET 7 升級教戰手冊_V1.0.pdf
Gelis Wu
顧問養成秘技 - 顧問服務實戰.pptx
顧問養成秘技 - 顧問服務實戰.pptx
Gelis Wu
深入淺出領域驅動設計:以 .NET 5 與線上房貸申請系統為例
深入淺出領域驅動設計:以 .NET 5 與線上房貸申請系統為例
Gelis Wu
Blazor Component 開發實戰
Blazor Component 開發實戰
Gelis Wu
該準備從 .NET Framework 4.x 遷移至 .NET Core 3.0 了嗎?
該準備從 .NET Framework 4.x 遷移至 .NET Core 3.0 了嗎?
Gelis Wu
專業顧問的技能成長日記
專業顧問的技能成長日記
Gelis Wu
你的軟體架構夠敏捷嗎?
你的軟體架構夠敏捷嗎?
Gelis Wu
使用 .NET Standard 開發跨平台應用程式
使用 .NET Standard 開發跨平台應用程式
Gelis Wu
一個 ASP.NET Core 2.1 開發指南
一個 ASP.NET Core 2.1 開發指南
Gelis Wu
前端大型系統的基石 TypeScript
前端大型系統的基石 TypeScript
Gelis Wu
Dot netstandard2.0與.net的未來發展
Dot netstandard2.0與.net的未來發展
Gelis Wu
客製化的 Web api 的框架設計
客製化的 Web api 的框架設計
Gelis Wu
Asp.net identity 2.0
Asp.net identity 2.0
Gelis Wu
Asp.net mvc 基礎
Asp.net mvc 基礎
Gelis Wu
架構設計好簡單系列 設計符合團隊的範本精靈 (Project template)
架構設計好簡單系列 設計符合團隊的範本精靈 (Project template)
Gelis Wu
Azure PaaS (WebApp & SQL Database) workshop solution
Azure PaaS (WebApp & SQL Database) workshop solution
Gelis Wu
活用 Application insight
活用 Application insight
Gelis Wu
企業現代化網站架構
企業現代化網站架構
Gelis Wu
Css java script 前端網頁設計概論(day2).pics
Css java script 前端網頁設計概論(day2).pics
Gelis Wu
Más de Gelis Wu
(20)
Blazor in NET 8 的重大改變___________________
Blazor in NET 8 的重大改變___________________
.NET 7 升級教戰手冊_V1.0.pdf
.NET 7 升級教戰手冊_V1.0.pdf
顧問養成秘技 - 顧問服務實戰.pptx
顧問養成秘技 - 顧問服務實戰.pptx
深入淺出領域驅動設計:以 .NET 5 與線上房貸申請系統為例
深入淺出領域驅動設計:以 .NET 5 與線上房貸申請系統為例
Blazor Component 開發實戰
Blazor Component 開發實戰
該準備從 .NET Framework 4.x 遷移至 .NET Core 3.0 了嗎?
該準備從 .NET Framework 4.x 遷移至 .NET Core 3.0 了嗎?
專業顧問的技能成長日記
專業顧問的技能成長日記
你的軟體架構夠敏捷嗎?
你的軟體架構夠敏捷嗎?
使用 .NET Standard 開發跨平台應用程式
使用 .NET Standard 開發跨平台應用程式
一個 ASP.NET Core 2.1 開發指南
一個 ASP.NET Core 2.1 開發指南
前端大型系統的基石 TypeScript
前端大型系統的基石 TypeScript
Dot netstandard2.0與.net的未來發展
Dot netstandard2.0與.net的未來發展
客製化的 Web api 的框架設計
客製化的 Web api 的框架設計
Asp.net identity 2.0
Asp.net identity 2.0
Asp.net mvc 基礎
Asp.net mvc 基礎
架構設計好簡單系列 設計符合團隊的範本精靈 (Project template)
架構設計好簡單系列 設計符合團隊的範本精靈 (Project template)
Azure PaaS (WebApp & SQL Database) workshop solution
Azure PaaS (WebApp & SQL Database) workshop solution
活用 Application insight
活用 Application insight
企業現代化網站架構
企業現代化網站架構
Css java script 前端網頁設計概論(day2).pics
Css java script 前端網頁設計概論(day2).pics
軟體開發之路甘苦談(Gelis)
1.
https://www.facebook.com/groups/361804473860062/
2.
• 熱衷於 OOA/OOD/OOP
與 UML 塑模化應用程式設 計、軟體工程相關應用 • 喜歡程式設計、擅長 ASP.NET Web Form, MVC, WCF, Windows Form/WPF/WCF 開發、也實作過一 些專案 • 善於 Trouble-shooting 程式設計的各種疑難問題 吳俊毅 Gelis 集英信誠 - 資深.NET開發顧問 關於我
3.
• 我為什麼選擇軟體這條路? • 軟體開發最痛苦的是什麼? •
軟體開發最快樂的事是什麼? • 什麼都要做架構?什麼都要跟上潮流? • 軟體開發客戶經驗篇 - 小心接受客戶的恩惠 (說故事) • 軟體開發之路該怎麼走?技術怎麼選擇? • 各路高手交流軟體開發 經驗 與 分享 Agenda
4.
我為什麼選擇軟體這條路?
5.
我為什麼選擇軟體這條路? • 不是為了錢 • 當時根本不知道做軟體可 以賺多少錢! •
只是覺得寫程式很有意思 • 當時在震旦行 • 看見系統部的人在修改 Reposts 那時是使用 Delphi 2.0
6.
軟體開發最痛苦的事 情是什麼? 是什麼原因支撐你一直到現在?
7.
軟體開發最痛苦的事情是什麼? • 需求不固定,時程無法預估
9.
軟體開發最痛苦的事情是什麼? • 需求不固定,時程無法預估 • 政治問題… •
時程壓縮 - 加班 (老闆暗示星期六你要來... 測試你對公司的向心力..?) 長官消磨 你的熱情... • 無法與客戶溝通、無法與 PM 溝通、無法與主管溝通、同事不跟你溝通(很難溝 通?) • 客戶像流氓、客戶說的不是地球話、Member 難相處… • 背前人的黑鍋 => 我不入地獄誰入地獄? => 當作磨練... 只是工作而已! 熱情呢? 可能剩下 5% • 接手系統沒文件、Source Code 不完整 – 前人沒用 Source Control...!!! – Production 目前 Run 的不知道是哪一版 (跟交接來的 Source Code 不一樣...) – 在 Production 找到一顆DLL在 Source Code 裡面是沒有的!... (讓我我了解了反組譯工具 是幹什麼用的!)
10.
• 不懂技術的 SA/PM
談下天馬行空的需求 還跟你說.. 這很難嗎? (我心裡想,你帶腦袋出門很難嗎,你怎麼不來寫?) 因此,那 一陣子工程師最流行的就是 "做不到"、"不然你來寫" • 傳聲筒 PM... • 懂皮毛的 PM 跟你說,他覺得這個功能半小時可以做完! => 你 是你說你可以寫完,還是我半小時可以寫完? • 團隊沒有規範 - 各做各的... • 每個專案都從頭來 (沒有既定框架)…. • 公司團隊開發沒 (流程/SOP) – 老闆完全不懂技術… • 將人當作資源,許多案子失敗的關鍵,工程師的產值多事是看的見的有形物體 • 別信 KPI?.... 程式碼不是用行數來衡量工程師的產出....
11.
軟體開發最快樂的事 是什麼? 賺很多錢?…
12.
軟體開發最快樂的事是什麼? • 不要做專案 (誤) •
賺很多錢?..... • 做自己想做的事/寫自己想要寫的程式 • 程式寫完很有成就感 – 做出來不是客戶要的 (成就感瞬間消失) – [還是有成就感 (自爽)] 因為學會某項技術? • 可以玩新技術? • 不要交接別人的程式?... • 最好不要維護舊系統 – 不要維護別人寫的程式?…
13.
軟體開發客戶經驗篇 - 小心 接受客戶的恩惠 說故事…
14.
軟體開發客戶經驗篇 • 小心接受客戶的恩惠 =>
那怕只是杯星巴克... 嘻嘻…
15.
什麼都要做架構? 什麼都要跟上潮流? 架構要做,但是… 團隊規範 > 架構
> 技術
16.
什麼都要做架構?什麼都要跟上潮流? • 潮流也可能是洪流 (裡面可能有個漩渦),先被淹死…
17.
什麼都要做架構?什麼都要跟上潮流? • 潮流也可能是洪流 (裡面可能有個漩渦),先被淹死… 架構雖有其必要性,但團隊規開發範更為重要 不隨意跟著潮流,但是不做出改變,等於等死…
18.
什麼都要做架構?什麼都要跟上潮流? • 潮流也可能是洪流 (裡面可能有個漩渦),先被淹死… 技術、工具每天都在進步,大環境每一天也都在改變…
19.
什麼都要做架構?什麼都要跟上潮流? • 潮流也可能是洪流 (裡面可能有個漩渦),先被淹死… •
軟體開發因為市場環境劇烈環境的變化,因此我們談「敏捷」 – 現在講求「敏捷」,「自動化」,「CI 持續整合」、「CD持續佈 署」搭配一些系統自動化的工具,落實在開發、建構、測試、佈署 各個階段 – 敏捷告訴我們要快速反應,團隊反應需要溝通,團隊要有合適的溝 通方式可能需要適當的方法,要有適當的方法就要有適當的規範 • 團隊規範 > 架構 > 技術
21.
所以? • 我們應該獲取我們需要的部分,而不是全盤使用 • 許多技術永遠都是為了創造更好的生活、更方便而進步的, 軟體開發也是一樣,不斷的更新也是為了使軟體開發更快 速、更容易、讓開發人員更容易維護自己的程式碼 •
軟體開發工具不斷地更版,並不表示企業就一定要跟進, 企業得自行評估,如果新的開發工具並不能夠為您現有的 開發團隊、流程造成改變、變得更好,那麼現階段你的團 隊可能就不適合導入
23.
理想的開發團隊具備要素 • 最佳化重複步驟(iteration)的速度 • 自動化 •
適當的流程與架構、框架 (Platform/Framework) • 導入 Code-Review • 維持一個彼此尊重的工作環境 • 分配 20 %的時間策略 • 建立一個持續學習和改善的文化 • 與合適的人建立團隊
24.
Martin Fowler 在深圳的演講 •
http://www.jianshu.com/p/e042ed1d79b0 • 一般工程學套用在軟體開發不可行(工程方法/計畫驅動): – 開發人員視為可替換的資源根本是個錯誤的假設 – 每一個開發動作都同時包含了設計和實施的成分在 – 每一個軟體專案幾乎肯定具有獨特性 • 如果都是完全一樣的程式碼,那你根本不用重寫,只需要copy一分(或買 套裝軟體)就好 • 幾乎永遠不可能有確定的需求 – 那從不確定的需求,要準確的預估時程幾乎是不可能實現的
25.
• 所以? – 敏捷開發法的設計者認為,你不能把程式設計師看做資源 –
應該把軟體開發團隊看做是一組球隊 • 團隊中的成員每一個都有自己獨特的角色和任務,人人不可或缺,無法 輕易替代 • 所以,每一個球員的產值大不相同,高低之間可能相差數十倍,是無法 相提並論或替換的! – 敏捷開發中的迭代(iteration)行為會是當今軟體開發最可行的方式
26.
軟體開發之路該怎麼走? 技術怎麼選擇? 走得長久除了熱情,還要有很好的肝?…
28.
軟體開發之路該怎麼走?技術怎麼選擇? • 給社會新鮮人: – 不要只挑熱門的學
熱門的很快就會冷卻 • 但也不要排斥學習新的技術 有用的技術 • 給軟體開發人員: – 維持對軟體的熱情 – 對市場需求、解決那些問題 (自己有那些問題) 有足夠的洞察力 • 不盲目追求新技術 – 對於技術、工具有(評估/選擇)的能力 – 培養解決問題的能力 – 接受改變、擁抱改變、切忌一成不變、事情永遠有更好的方法
29.
軟體開發之路該怎麼走?技術怎麼選擇? • 培養自己用架構師的觀點來寫程式 • 不要排斥其他角色
SA, SD, PM, Architect, RD, Presals…
32.
聯絡我 • 部落格 (Gelis
技術隨筆) • https://www.dotblogs.com.tw/gelis/ • FB 粉絲團(Gelis 的程式設計訓練營) • https://www.facebook.com/gelis.dev.learning/?ref=bookmarks • FB 社團 (軟體開發之路) • https://www.facebook.com/groups/361804473860062/?ref=ts&fref=ts
Notas del editor
適當的限制 => 是為了讓軟使用的技術不會整個發散 是為了讓軟體更容易維護、交接 適當開發框架,可針對某些特殊領域加速開發 容易控管團隊的開發時程
一直以來也都是取用對我的團隊有幫助的部分,而不是全盤使用。在這樣的情況下,對我的團隊或是客戶而言,我們是能夠做到取用適當的新工具來改善現有開發方式甚至是加速的目的。
這是一個認知上的巨大差異,一旦當你把軟體開發團隊,從傳統工程(例如營造)的施工團隊,轉變成球場上的團隊,你會發現你的思維將會瞬間轉換。你將不再相信傳統的專案管理方法,你帶領團隊的方式也會大不相同。
新技術 不代表就適合你現在的團隊,不代表就適合投入到專案中開發 技術、工具有(評估/選擇)的能力:包含對於技術有一定的了解能力 (時間越短越好) ,也就是對於該技術所帶來的效益、它解決什麼問題?以及它的長遠性 等等
Descargar ahora