通用技能¶
公司与个人¶
- 公司是盈利性组织
- 个人和公司必须双赢
- 在认同公司理念且能够给公司创造足够价值的基础上,为个人发展而工作
Who am I¶
黑客是守正出奇且具备创造力的群体¶
守正出奇¶
- 这条正道/底线得坚守
- 但如果太过正就迂腐了,为了搞定任务有时得出奇招
创造力¶
- 一个没有创造力的人是多么的可怜,对于团队来说也是一种耻辱
- 本技能表的本质目的只有一个:引导你拥有足够的创造力
黑客也可以是一种思维方式¶
我们需要对得起名片上的那个头衔:工程师、研究员¶
牛人姿态¶
- 即使现在不是牛人,也得具备这样的姿态
- 没有一定扎实内功与远见的人很少有这样的姿态
- 拥有不将就的做事风格,迟早是牛人
如何做事¶
方法论¶
- 完成一件事有好几条途径,优秀的人的途径最短
- 任务拆分很容易得出做事的方法论
- 好的「方法论」会让你具备更强的「创造力」!
- 好的「方法论」会让你具备更强的「创造力」!
- 时刻问自己:「是否具备创造力?」
任务拆分¶
成长过程会经历:能力越大、责任越大、事情越多
思路¶
拆分细化为多个点¶
SMART 原则¶
- S:任务是否明确
- 不明确的任务搞起来就是浪费生命
- M:任务是否可度量
- 不可度量如何体现价值?
- A:任务是否可搞定
- 搞不定就不应该接,接就得有魄力搞定
- R:任务的相关性如何
- 决定了任务的价值,相关性越高越能体现价值,比如这个任务搞定了能让团队获得公司、客户等更大的认可
- T:任务的时间
- Timeline:任务时间轴,什么时间点需要搞定什么
- Deadline:任务的最后期限,做评估时最好提前,因为总会有各种意外或拖延本性
- Timeline 上一些很关键的时间点我们可以称为里程碑,搞定每个里程碑应该庆祝下
自己欠缺什么,立马发现¶
是否需要寻求帮助,谁能帮你,自己单干?¶
沟通、反馈与责任¶
- 一个无沟通能力的人,要么是天才,要么是不可爱的人,不过天才也就寥寥无几而已,你并不是
- 反馈要及时
- 避免出问题不反馈,影响进度
- 方式
- 正式的:邮件
- 临时的:微信等即时通信
- 着急的:给个电话
- 工作有大小,责任心无大小
- 周报的透明
- 意义:大家互相了解工作与心得,有利于自己的判断与成长
- 观察是一种多重要的技能
- 不是单纯的给领导汇报工作
- 周报需体现本周工作总结、下周工作计划、心得/问题/建议(我们叫唧唧歪歪)
- 周报可以很好体现一个人的
- 总结能力
- 计划能力
- 分享能力
- 想象下:一个人从来没有心得/问题/建议的沉淀或反馈,这个人是一个相对封闭的人,在团队作战中很难达到默契
- 当然,这种分享能力远不仅仅是在周报这种形式里
- 意义:大家互相了解工作与心得,有利于自己的判断与成长
团队意识¶
- 很多人都说自己具备足够好的团队意识,但是有些人却并不是这样
- 举个小例子:一个 10 人团队约定早上 10 点开会,而你迟到了 10 分钟,对于团队来说你浪费了整个团队 100 分钟(10 人 * 10 分钟)的生命。有些人无羞愧之心要么是意识不到这点,要么这个团队的风气就是这样...
- 团队意识是建立在互相信任的基础上
- Leader 最关键,优秀的 Leader 一定会有个优秀团队
- 兵熊熊一个
- 将熊熊一窝
- 如何拥有个优秀的团队是一个复杂的话题
成长¶
新事物的敏感性¶
- 保持好奇心
- 不要局限在自己的圈子,适当跨界吸收灵感
- 订阅国内外优秀博客/资源,深蓝阅读不错
- 选择性参与一些必要的会议,听必要的主题,讨论必要的话题
关于知识¶
- 对知识的渴望程度决定了前进动力的大小
- 当知识很廉价地摆在你面前,你反而不会珍惜
- 对知识保持敬畏之心
不要让自己成为矫情/浮夸的人¶
和比你厉害的人在一起,和一流的人工作¶
- 指点往往是精华
- 杜绝笨蛋爆炸
- 二流的人招进来的人不太可能是一流的
- 久而久之一个团队就笨蛋爆炸了
思考¶
- 批判性思考
- 换位思考
- 对于一个团队来说,这点太关键
提问的智慧¶
- 遇到问题先独立思考,尝试独立解决,尽最大努力后再提问
- 提问时,礼貌很关键(对知识的敬畏),清晰表达很关键
- 解决后,分享出来帮助更多需要帮助的人
小事心态¶
- 越基础的事越关键,越需要细心
- 不要一味盲目追求「高级感」,而忽视「小事」/「简单事」/「基础事」
- 基础不牢、地动山摇
- 小事做不好,别提大事
无论是个人还是团队的成长都需要不断沉淀知识,没有沉淀根基不稳¶
完成的定义¶
比如写个 POC¶
- 搞懂了目标 Web 应用漏洞的原理
- 熟练运用 Python 各相关模块与机制
- 熟练了解了 HTTP 协议
- HTTP 请求
- HTTP 响应
- 代码写得够规范,让人看起来就是爽
- 程序经过足够的测试
- 黑测试
- 白测试
- 及时反馈进度
- 我遇到困难了
- 我搞定了
- 更新相关文档,沉淀
熟练的定义¶
比如熟练 SQL 注入¶
- SQL 语句这门“语言”能脱离文档顺手写出
- 主流数据库的 SQL 特有函数、存储过程、机制我都了如指掌
- MySQL
- MSSQL
- Oracle
- PostgreSQL
- Access
- SQLite
- ...
- 牛逼的工具我不仅用的顺其自然,源码还读过几遍,我能修改
- sqlmap
- ...
- 我具备创造性,而不仅仅是跟在大牛身后
- 研究出了几个不错的技巧
- 发了几篇不错的 Paper
- 对外会议/沙龙等进行了几次分享
- 写出了自己的相关工具,爽
- 我实战了 N 回,遇到了很多奇葩环境,我有足够的信心绕过
- 以上这些之后,这才叫熟练!其他同理
好书推荐¶
推荐理由¶
- 打通任督二脉的书,怎能不看?
- 但,尽信书不如无书
- 任何科学研究最终必须至少到哲学层面,触碰到上帝的脚
- 具体技术类书籍请见「专业技能」相关部分
鸡汤类¶
黑客与画家¶
印象深刻:设计者的品味
- 好设计是简单的设计
- 抓住本质
- 好设计是永不过时的设计
- 如果解决方法是丑陋的,那就肯定还有更好的解决方法,只是还没有发现而已
- 好设计是解决主要问题的设计
- 好设计是启发性的设计
- 好设计通常是有点趣味性的设计
- 好设计是艰苦的设计
- 好设计是看似容易的设计
- 好设计是对称的设计
- 好设计是模仿大自然的设计
- 好设计是一种再设计
- 好设计是能够复制的设计
- 好设计往往是奇特的设计
- 好设计是成批出现的
- 好设计常常是大胆的设计
浪潮之巅¶
感受 IT 帝国的崛起与没落,我们现在站在又一个互联网浪潮之巅
洁癖类¶
- 重构
- 代码整洁之道
- 代码大全 2
敏捷类¶
- Rework中文版
- 37signals 团队的敏捷经验
- 高效程序员的 45 个习惯
产品类¶
- 人人都是产品经理
- 结网
神书¶
- 自私的基因
- 失控