通用技能 ======== 公司与个人 ---------- * 公司是盈利性组织 * 个人和公司必须双赢 * 在认同公司理念且能够给公司创造足够价值的基础上,为个人发展而工作 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 个习惯 产品类 ~~~~~~ * 人人都是产品经理 * 结网 神书 ~~~~ * 自私的基因 * 失控 ... ~~~