[TOC]
## 公司與個人
* 公司是盈利性組織
* 個人和公司必須雙贏
* 在認同公司理念且能夠給公司創造足夠價值的基礎上,為個人發展而工作
## WHO AM I
### 黑客是守正出奇且具備創造力的群體
* 守正出奇
* 這條正道/底線得堅守
* 但如果太過正就迂腐了,為了搞定任務有時得出奇招
* 創造力
* 一個沒有創造力的人是多么的可憐,對于團隊來說也是一種恥辱
* 本技能表的本質目的只有一個:引導你擁有足夠的創造力
* 黑客也可以是一種思維方式
* 我們需要對得起名片上的那個頭銜:工程師、研究員
### 牛人姿態
* 即使現在不是牛人,也得具備這樣的姿態
* 沒有一定扎實內功與遠見的人很少有這樣的姿態
* 擁有不將就的做事風格,遲早是牛人
## 如何做事
### 方法論
* 完成一件事有好幾條途徑,優秀的人的途徑最短
* 任務拆分很容易得出做事的方法論
* 好的「方法論」會讓你具備更強的「創造力」!
* 時刻問自己:「是否具備創造力?」
### 任務拆分
* 成長過程會經歷:能力越大、責任越大、事情越多
* 思路
* 拆分細化為多個點
* 排好優先級
* 任務四象限,決定優先級
* 緊急重要: 趕緊搞定
* 重要不緊急:時刻保持關注,以免淪為「緊急重要」
* 緊急不重要:少少益善,學會拒絕
* 不緊急不重要:靠自律
* SMART原則
* S:任務是否明確
* 不明確的任務搞起來就是浪費生命
* M:任務是否可度量
* 不可度量如何體現價值?
* A:任務是否可搞定
* 搞不定就不應該接,接就得有魄力搞定
* R:任務的相關性如何
* 決定了任務的價值,相關性越高越能體現價值,比如這個任務搞定了能讓團隊獲得公司、客戶等更大的認可
* T:任務的時間
* Timeline:任務時間軸,什么時間點需要搞定什么
* Deadline:任務的最后期限,做評估時最好提前,因為總會有各種意外或拖延本性
* Timeline上一些很關鍵的時間點我們可以稱為里程碑,搞定每個里程碑應該慶祝下
* 自己欠缺什么,立馬發現
* 是否需要尋求幫助,誰能幫你,自己單干?
* 團隊
* 士氣第一
* 當你有團隊時,分配與調度好任務很關鍵
* 做得好是真并發
* 做不好會死鎖
### 溝通、反饋與責任
* 一個無溝通能力的人,要么是天才,要么是不可愛的人,不過天才也就寥寥無幾而已,你并不是
* 反饋要及時
* 避免出問題不反饋,影響進度
* 方式
* 正式的:郵件
* 臨時的:微信等即時通信
* 著急的:給個電話
* 工作有大小,責任心無大小
* 周報的透明
* 意義:大家互相了解工作與心得,有利于自己的判斷與成長
* 觀察是一種多重要的技能
* 不是單純的給領導匯報工作
* 周報需體現本周工作總結、下周工作計劃、心得/問題/建議(我們叫唧唧歪歪)
* 周報可以很好體現一個人的
* 總結能力
* 計劃能力
* 分享能力
* 想象下:一個人從來沒有心得/問題/建議的沉淀或反饋,這個人是一個相對封閉的人,在團隊作戰中很難達到默契
* 當然,這種分享能力遠不僅僅是在周報這種形式里
### 團隊意識
* 很多人都說自己具備足夠好的團隊意識,但是有些人卻并不是這樣
* 舉個小例子:一個10人團隊約定早上10點開會,而你遲到了10分鐘,對于團隊來說你浪費了整個團隊100分鐘(10人*10分鐘)的生命。有些人無羞愧之心要么是意識不到這點,要么這個團隊的風氣就是這樣...
* 團隊意識是建立在互相信任的基礎上
* Leader最關鍵,優秀的Leader一定會有個優秀團隊
* 兵熊熊一個
* 將熊熊一窩
* 如何擁有個優秀的團隊是一個復雜的話題
## 成長
### 新事物的敏感性
* 保持好奇心
* 不要局限在自己的圈子,適當跨界吸收靈感
* 訂閱國內外優秀博客/資源,深藍閱讀不錯
* 選擇性參與一些必要的會議,聽必要的主題,討論必要的話題
### 關于知識
* 對知識的渴望程度決定了前進動力的大小
* 當知識很廉價地擺在你面前,你反而不會珍惜
* 對知識保持敬畏之心
### 不要讓自己成為矯情/浮夸的人
### 和比你厲害的人在一起,和一流的人工作
* 指點往往是精華
* 杜絕笨蛋爆炸
* 二流的人招進來的人不太可能是一流的
* 久而久之一個團隊就笨蛋爆炸了
### 思考
* 批判性思考
* 換位思考
* 對于一個團隊來說,這點太關鍵
### 提問的智慧
* 遇到問題先獨立思考,嘗試獨立解決,盡最大努力后再提問
* 提問時,禮貌很關鍵(對知識的敬畏),清晰表達很關鍵
* 解決后,分享出來幫助更多需要幫助的人
### 小事心態
* 越基礎的事越關鍵,越需要細心
* 不要一味盲目追求「高級感」,而忽視「小事」/「簡單事」/「基礎事」
* 基礎不牢、地動山搖
* 小事做不好,別提大事
### 無論是個人還是團隊的成長都需要不斷沉淀知識,沒有沉淀根基不穩
## 完成的定義
### 比如寫個PoC
* 1\. 搞懂了目標Web應用漏洞的原理
* 2\. 熟練運用Python各相關模塊與機制
* 3\. 熟練了解了HTTP協議
* HTTP請求
* HTTP響應
* 4\. 代碼寫得夠規范,讓人看起來就是爽
* 5\. 程序經過足夠的測試
* 黑測試
* 白測試
* 6\. 及時反饋進度
* 我遇到困難了
* 我搞定了
* 7\. 更新相關文檔,沉淀
## 熟練的定義
### 比如熟練SQL注入
* SQL語句這門“語言”能脫離文檔順手寫出
* 主流數據庫的SQL特有函數、存儲過程、機制我都了如指掌
* MySQL
* MSSQL
* Oracle
* PostgreSQL
* Access
* SQLite
* ...
* 牛逼的工具我不僅用的順其自然,源碼還讀過幾遍,我能修改
* sqlmap
* ...
* 我具備創造性,而不僅僅是跟在大牛身后
* 研究出了幾個不錯的技巧
* 發了幾篇不錯的Paper
* 對外會議/沙龍等進行了幾次分享
* 寫出了自己的相關工具,爽
* 我實戰了N回,遇到了很多奇葩環境,我有足夠的信心繞過
* 以上這些之后,這才叫熟練!其他同理
## 好書推薦
### 推薦理由
* 打通任督二脈的書,怎能不看?
* 但,盡信書不如無書
* 任何科學研究最終必須至少到哲學層面,觸碰到上帝的腳
* 具體技術類書籍請見「專業技能」相關部分
### 雞湯類
* 黑客與畫家
* 印象深刻:設計者的品味
* 好設計是簡單的設計
* 抓住本質
* 好設計是永不過時的設計
* 如果解決方法是丑陋的,那就肯定還有更好的解決方法,只是還沒有發現而已
* 好設計是解決主要問題的設計
* 好設計是啟發性的設計
* 好設計通常是有點趣味性的設計
* 好設計是艱苦的設計
* 好設計是看似容易的設計
* 好設計是對稱的設計
* 好設計是模仿大自然的設計
* 好設計是一種再設計
* 好設計是能夠復制的設計
* 好設計往往是奇特的設計
* 好設計是成批出現的
* 好設計常常是大膽的設計
* 浪潮之巔
* 感受IT帝國的崛起與沒落,我們現在站在又一個互聯網浪潮之巔
### 潔癖類
* 重構
* 代碼整潔之道
* 代碼大全2
### 敏捷類
* Rework中文版
* 37signals團隊的敏捷經驗
* 高效程序員的45個習慣
### 產品類
* 人人都是產品經理
* 結網
### 神書
* 自私的基因
* 失控
### ...