20130908 change the world?

52
改變世界 () 2013/10/8 賴怡玲 (Azole)

Upload: azole-lai

Post on 24-May-2015

2.206 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: 20130908 Change the world?

改變世界 (?)

2013/10/8 賴怡玲 (Azole)

Page 2: 20130908 Change the world?

About me – Azole

• 1X年軟體工程師 / 技術經理 / 史上外務最多工程師

• 金融交易系統(網站、AP)、編譯器、電子商務網站

• 較常用的語言:Javascript, PHP, C#, C++, … – 請留意,是“常”用,不是會…

• 期貨證照、PMP • FB: https://www.facebook.com/azoleLai

Page 3: 20130908 Change the world?

•軟體工程師? –軟體工程師到底在做些什麼?

• 工程師的美麗與哀愁 • 改變世界? • 軟體工程師! • 工商時間

Page 4: 20130908 Change the world?

我爸以為我在…

Page 5: 20130908 Change the world?

我媽以為我在…

Page 6: 20130908 Change the world?

我以為我可以是…

Page 7: 20130908 Change the world?

不然至少也可以做做這個…

Page 8: 20130908 Change the world?

進了學校以後都在…

Page 9: 20130908 Change the world?

畢業後老闆以為我是…

Page 10: 20130908 Change the world?

工作時我以為至少可以這樣…

Page 11: 20130908 Change the world?

結果都在… (通常還都是自己放的火)

Page 12: 20130908 Change the world?

不然就是在…

Page 13: 20130908 Change the world?

或是…

Page 14: 20130908 Change the world?

最後就…

Page 15: 20130908 Change the world?

• 軟體工程師?

•工程師的美麗與哀愁 – 當工程師也沒有那麼不好,其實有很多有趣的地方,只是這些有趣通常都伴隨著…

• 改變世界? • 軟體工程師! • 工商時間

Page 16: 20130908 Change the world?

工程師的美麗

• 工程師永遠不會無聊 • 永遠有超新奇的技術可以學習

• 但那就表示…

Page 17: 20130908 Change the world?

工程師的哀愁

• 有看不完的書… (這只是冰山一角…) (右邊是我本人沒錯)

Page 18: 20130908 Change the world?

工程師的美麗

• 當工程師完成一個需求或是解決一個bug之後,那爽度真的是…沒有詞彙可以形容的爽!!

Page 19: 20130908 Change the world?

工程師的哀愁

禁得住誘惑,耐得住寂寞

• 只是你再爽也沒有人懂你…

Page 20: 20130908 Change the world?

工程師的美麗

• 工程師做出來的東西可以全世界都在用…

Page 21: 20130908 Change the world?

工程師的哀愁

• 只是很抱歉,那些都不是你做的…

Page 22: 20130908 Change the world?

工程師的美麗

• 工程師真真切切地可以改變這個世界

Page 23: 20130908 Change the world?

工程師的哀愁

• 還是很抱歉,那些也都不是你做的…

Page 24: 20130908 Change the world?

那我們一般的工程師 都在做什麼?

Page 25: 20130908 Change the world?

都在應付這些事….

希望看到功能後說“哇塞!”

希望開發時程短

希望bug少

Bug多 醜

要 等

Page 26: 20130908 Change the world?

最後你發現,改變世界? 你唯一能改變的是你桌子的狀態。

Page 27: 20130908 Change the world?

• 軟體工程師? • 工程師的美麗與哀愁

•改變世界? – 不能改變世界,那怎麼辦?

• 軟體工程師! • 工商時間

Page 28: 20130908 Change the world?

我們真的不是這兩位…

Page 29: 20130908 Change the world?

但偉大的修女有告訴我們,即便我們做不了偉大的事情,但還是可以帶著滿滿的愛來做很小的事情。

既然我們無法改變世界,那我們做好自己總行了吧!

Not all of us can do great things. But we can do small things with great love.

--Mother Teresa

Page 30: 20130908 Change the world?

• 重構程式? 把程式寫得更好? – 反派:能動就好好嗎

• 註解、測試、文件? – 反派:寫程式都沒時間了…

• 規劃? – 反派:你聽不懂嗎?連寫程式都沒時間!

• 看書、繼續學習? – 反派:我要翻桌了,沒時間!

• 我們要樂於分享 – ……. (反派表示不想理你了)

Page 31: 20130908 Change the world?

• 我們要做出好用的軟體! – 使用者都是白癡 – PM也是白癡 – 老闆也是白癡 – (你也是。)

• 我們要改變這個世界! – …..

Page 32: 20130908 Change the world?

經歷了一些反派的挫折後,我想起了一個很有名的人說的話:

小的時候,以為只要自己夠努力就能改變這個世界。 長大後才發現,自己很努力,只是為了不讓自己被這個世界改變。

» 這個有名的人叫賴小賴,記住他,他以後會很有名。

Page 33: 20130908 Change the world?

程式不是能動就好嗎?

• StringBuilder 比 String 快 (C#) – A表示:有這件事? – B表示:好像有聽說… – C表示:我有自己做過測試,這句話是錯的! string str = “azole” + “ is “ + “smart.”; StringBuilder sb = new StringBuilder();

sb.append(“azole”);

sb.append(“ is ”);

sb.append(“smart”);

Page 34: 20130908 Change the world?

• “abc” + “xyz”

abc xyz abcxyz

Page 35: 20130908 Change the world?

StringBuilder sb.Append("abcdefghijklmnop");

Console.WriteLine("Length:{0}, Capacity:{1}", sb.Length, sb.Capacity);

// Length:16, Capacity: 16

sb.Append("q");

Console.WriteLine("Length:{0}, Capacity:{1}", sb.Length, sb.Capacity);

// Length:17, Capacity: 32

.NET Reflector

Page 36: 20130908 Change the world?

StringBuilder

.NET Reflector

Length: 16

Length: 32

Page 37: 20130908 Change the world?

string str = “abc” + “xyz”; string str = “abcxyz”;

compile

Page 38: 20130908 Change the world?

改變世界?

Page 39: 20130908 Change the world?

• 軟體工程師? • 工程師的美麗與哀愁 • 改變世界

•軟體工程師! • 工商時間

Page 40: 20130908 Change the world?

軟體工程師 • 多讀書、多實作

Page 41: 20130908 Change the world?

軟體工程師

• 非技術書籍 – User Experience、設計 – Domain Knowledge – 歷史、經濟… – 漫畫、電影、音樂、…

Logic will get you from A to B. Imagination will take you everywhere.

- Albert Einstein

Page 42: 20130908 Change the world?

軟體工程師

• 只有更好,沒有最好。 • 永遠要有熱情,不要被世界改變。

– 知世故而不世故才是最善良的成熟。 - 徐曉

• 尊重專案中的其他角色。 – 學會溝通

• 不要「手裡拿的是槌子就把全世界都當成釘子」 – 勿文人相輕,戰語言、戰框架是沒有意義的。

(工程師)

Page 43: 20130908 Change the world?

軟體工程師

• 要為自己寫的code負責

• 珍視與他人溝通的重要性,去除程式碼中多餘的複雜性,並保持開放的心態。

- Kent Beck

Page 44: 20130908 Change the world?

改變世界?

Page 45: 20130908 Change the world?

g0v.tw 是一個推動資訊透明化的社群,致力於開發公民參與社會的資訊平台與工具。

g0v.tw 以開放原始碼的精神為基底,關心言論自由、資訊開放,寫程式提供公民容易使用的資訊服務。

資訊的透明化能幫助公民更確實了解政府運作、更快速了解議題,不被媒體壟斷,也才可有效監督政府,化為參與行動最終深化民主體質。

http://g0v.tw/

我個人也還沒有去參與, 這邊只是舉個例子告訴大家, 其實可以做些什麼,也有人在做了。

Page 46: 20130908 Change the world?

中央政府總預算

Page 47: 20130908 Change the world?

新聞小幫手

Page 48: 20130908 Change the world?

改變世界?

Page 49: 20130908 Change the world?
Page 50: 20130908 Change the world?

Q & A

Page 51: 20130908 Change the world?

現場很多人問我怎麼學新東西、怎麼寫好程式,必須說,我自己都還沒有做得很好,還有好多好多東西要學,我並不是很有資格來回答這個問題,但觀察其他很厲害的人,不外乎這樣做:

• 多分享 • 多討論 • 多讀書 • 多動手做

Page 52: 20130908 Change the world?

• 軟體工程師? • 工程師的美麗與哀愁 • 改變世界 • 軟體工程師!

•工商時間