我編程.我快樂
TRANSCRIPT
我編程.我快樂Chad Fowler - The Passionate Programmer:Creating A Remarkable Career In Software Development
2015.04.14 @ Hiiir Inc. 7F 東方藍Taien Wang<[email protected]>時間軸科技股份有限公司
在開始之前
下一步的計畫是…
現在是否快樂?
現在是否達到?
請回想一開始寫程式的初衷
你無法預先把點點滴滴串聯起來只有在未來回顧時
才會明白那些點點滴滴是如何串在一起的賈伯斯
訂製自己的計劃
• 選擇市場
• 投資
• 執行
• 行銷
• 保持技術領先
一、選擇市場
• 1. 穩定成熟的技術還是未成熟的新技術?
• 無論做出哪種選擇,最終的目的是產生利潤
• 選擇是把雙面刃,決定權還是在你手裡
• 2. 供應和需求
• 發現市場上的不平衡
• 不要在價格上競爭,你承受不起
• 技術專家可以制定標準,保證質量,領導技術團隊
• 3. 只會寫程式是不夠的
• 仔細思考在哪個商業領域投入時間
• 4. 做團隊中最差的
• 做樂隊中最差勁的樂手
• 你身邊的人會對你產生很大的影響,明智選擇你的團隊
• 5. 在思維上投資
• 沒人給過我機會?需學會抓住機遇
你選擇語言的原因?
TIOBE Index for March 2015
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
API
• Web Services 與 Restful 的差別?
為什麼瀏覽器的問題層出不窮?
• HTML/CSS/JS
• 安全問題
• …
一、選擇市場
• 6. 不要聽從父母
• 成功是要冒險的!
• 勝利者想的是他們想要做什麼,而不是其他人會怎麼做
• 7. 做一名通才
• 通才很少,所以很珍貴
• 當工作要跨越職業階梯的等級時,人們不是不願意去做,而是沒有能力去做
• 程式設計師不會領導團隊,團隊領導人不會編程
• 你的技術水平應該超越技術平台
• 8. 成为一名專家
• 9. 切忌孤注一擲
• 以特定技術廠商為中心的觀點,缺乏遠見
• 10. 熱愛它,不然就離開它
• 工作,因為你無法停止工作
IT職業分解
職涯的各層
平台和作業系統
程式碼與資料
系統與應用程式
業務與IT
How I Turned Down $300,000 from Microsoft to go Full-Time on GitHubTom Preston-Werner – Cofunder of GitHub
http://tom.preston-werner.com/2008/10/18/how-i-turned-down-300k.html
為什麼工程師難當…
資料來源:http://www.inside.com.tw/2015/03/27/why-learning-to-code-is-so-damn-hard
二、在產品上投資
• 11. 學習釣魚
• 授人以魚,不如授人以漁
• 要主動問,不要等著別人來告訴你
• 12. 學習行業如何運轉的
• 只有瞭解了一個行業後,你才能創造性地有所建樹
• 13. 尋找良師
• 可以依賴別人,但須確保這個人是靠得住的
• 重要的是你要有可以信賴佩服的人,他可以幫助你做出職業導向,幫助你磨練技術
• 14. 做一名良師
• 想要弄明白自己是不是真正懂得某一知識,那就把它講給其他人聽
• 15. 練習,練習,再練習
• 在極限處練習
二、在產品上投資
• 16. 做事的方法
• 想要擁有自己的步驟,就執行他
• 17. 站在巨人的肩膀上
• 從現有程序中得到領悟
• 用現有程序來反思自己的程序
• 18. 在工作中,將自己自動化
• 提高軟體開發的效率
• 生產率 =項目數量
程式員×平均時薪
提升軟體開發效率
工作效率更高的人
更多一般人
自動化工作
三、執行
• 19. 就是現在
• 現在,我們能做些什麼?
• 帕金森定律: 工作會自動膨脹到佔滿所有可用的時間
• 20. 讀心術
• 讀心術用得好,人們就會信任你
• 讀心術的風險
• 21. 每天成績
• 每天都有可匯報的成績
• 制定目標(每日,每周)
• 22. 別忘了你在為誰工作
• 確保你的目標和工作與公司的目標一致
• 團隊的成功,就是主管的成功
三、執行
• 23. 安分守己
• 作為經理,最棘手的事情就是總有個想要往上爬上的雇員
• 需有雄心,但不須路人皆知
• 24. 今天我能把工作做到多好
• 你能為工作增添多少樂趣?
• 25. 你的價值是多少
• 薪水,福利津貼,間接管理費用,培訓
• 問自己,今天實現自己的價值了嗎?
• 通貨膨脹,機會成本,風險因素
• 找出你公司的最低預期資本回報率,用它來衡量你的工資,你是不是一項好的投資?
三、執行
• 26. 一桶水中的鵝卵石
• 永遠不要高枕無憂
• 小心,別讓成功沖昏了頭
• 你越是成功,就越有可能犯下重大錯誤
• 27. 愛上維護
• 維護也可以成為自由和創造的沃土
• 評估>改進>評估
• 28. 8小時激情燃燒
• 作項目像是馬拉松,而不是全速短跑
三、執行
• 29. 學習如何失敗
• 每個錯誤的音調離正確的音調不過一步之遠
• 充滿壓力的時候是贏得忠誠的最好時機
• 30. 說"不"
• 為了避免失望而說"是",就是在說謊
• 31. 不要恐慌
• 英雄從不恐慌
• 32. 說出來,行動,展示
• 狀態報告可以幫助你推銷自己
解決技術,溝通或者項目管理中出現的錯誤的規則
1. 發現問題後第一時間提出, 不要企圖隱瞞錯誤,因為在軟體開發和測試中, 越早發現錯誤, 造成
的問題就越小
2. 接受批評
3. 提供解決方法
4. 尋求幫助
第四章推銷...不僅僅是迎合
• 33. 不要忽視感覺
• 績效考績永遠都不會是客觀的
• 34. 探索嚮導
• 他們尋找的是可以幫助他們完成項目的人
• 客戶害怕你
• 35. 學會溝通,善於寫作
• 做自己就是你要解釋的內容
• 36. 到場
• 了解你的同事
• 37. 適當的言語
• 請用行業術語推銷你的成就
第四章推銷...不僅僅是迎合
• 38. 改變世界
• 帶著任務去上班,並確保別人知道你的任務
• 39. 讓人們聽到你的聲音
• 人脈很重要,優秀的工程師有自己的社群,互相介紹
• 出版文章,公眾演講
• 閱讀網路文章,撰寫
• 40. 創建自己的商標
• 你的名字就是你的商標
• Google永遠不會忘記
• 41. 發布你編寫的程序
• 人人都能使用Rails,但很少有人能開發出Rails
第四章推銷...不僅僅是迎合
• 42. 變成卓越的能力
• 傳統上市場行銷四大要素
• 生產,價格,宣傳,定位
• 43. 建立關係
• 恐懼感使我們無法接近專業人士
第五章保持技術領先
• 44. 已經過時的技術
• 你引以為傲的新技術已經過時了
• 每周找出時間來研究尖端技術,每周至少找出2個小時的時間研究新技術
• 45. 你已經失去工作了
• 你不是你的工作
• 如果你想射到一個移動中的物體,就不能瞄準這個物體本身,應該瞄準這個物體要移動到的位置
• 這個過程不是一條直線,最好的情況是條弧線,但大多數狀況他是一條曲線
• 46. 沒有終點的道路
• 不須關注結果,須關注做事情的過程
第五章保持技術領先
• 47. 給自己做一份藍圖
• 讓自己的發展集中
• 雖然學些不同的東西是正確的,這也會擴寬自己的思路
• 48. 要注意觀察市場變化
• 留意那些技術達人
• 49. 鏡子裡的胖子
• 開發者們,需自我反省
• 做一次360度評估
• 50. 南印度抓猴陷阱
• 價值僵固使你脆弱
• 51. 避免瀑布型職業計畫
• 52. 每天都有進步
• 53. 獨立
My Skill Roadmap
延伸閱讀
• 記住你是誰
• QBQ問題背後的問題
• 打造將才基因
• 秘密
• 阿德勒的思想
• 被討厭的勇氣
• 自卑情結