职业生涯
1. 写给年轻程序员的启示¶
- 正确认识自己。
- 比一般人更努力
- 适时建立个人权威。合适的时机去表现自己。积累实力,并在恰当的时候展现
- 遵循最佳实践
- 保持好奇心并勇于探索新事物
- 抛开代码与人沟通
- 为优秀的人工作
- 生活、睡眠、旅行
- 相信自己的天赋和创造力。阅读优秀书籍;记录和收集;尝试动手
2. 职场经验¶
- 你的薪酬和工作量无关。是否可以被替代
- 尽可能持续做一件事
- 变化
- 声誉非常重要。严谨的习惯
- 理解沟通的意义
- 右脑将是你成功的关键。
- 不要轻易说简单或者不可能
- 不应该总是单打独斗
- 你的能力显而易见。解决技术难题,提出解决方案,优雅完善的代码。大量实践,持续学习,勤于思考
3. 如何找到一名靠谱程序员¶
- 简历看人。不要有错别字;经验是否匹配
- 给面试者 10 分钟介绍自己最擅长的
- 基础打牢了么?
- 技术深度够么
- 适合企业文化
- 行为面试法
- 给他们一个虚拟任务
4. 每个程序员都应该了解的一件事¶
自我营销。
- 读与技术无关的书。自传、人文、经济、历史、艺术
- 会写文档。
- 学会包装。知道什么是优秀的;精心制作
- 尝试多讲。敢说;让说的和你想的一致。有意识锻炼讲话能力
- 建立社会化联系。分享自己的经验和想法
5. 程序员的烦恼¶
- 是否留在一线城市?买房会给你带来快乐吗
- 小公司做得杂
- 创建公司危机感。
- 技术单一。先学好一门
6. 年轻程序员的建议¶
- 尽早确定想做的事情。坚定目标并且持续努力的人
- 一万小时定律
- 提高工作效率。加快工作节奏;借助工具完成任务
- 简明的沟通方式
- 持续学习
- 学会控制情绪。对事不对人
- 让最优秀的人围绕在你身边
- 善于归纳和表达
- 掌握英语
- 睡眠充足
实践与认知
突破程序员思维¶
- 什么是程序员思维。人的思维+编程思维
- 长期不间断编程实践
- 持续学习和借鉴
- 学会反思,像专家一样思考
- 突破程序员思维
- 透过技术问题发现问题本质。反复追问一件事情的原因
- 像专家一样给出意见。
- 杂学获得不同视角
- 找回创造力。每天进行阅读,每周写一篇博客记录自己想到的东西。记录想法
重构-系统改善之道¶
- 从构建工具开始。引入构建工具或者构建脚本,一切需要手动的都应该工具来完成
- 让自动化成为重构的保障。
- 代码级别的重构。识别坏味道
- 基于微服务的重构
这样就好¶
- 不盲目使用新技术
- 避免过度设计
- 不在项目中技术镀金
走出软件开发原则¶
- 面向对象
- 测试非常重要
- 层出不穷的方法论
无法写出易读的代码¶
- 代码本身就是难以阅读的
- 推行模式而不是建立规范
- 深入理解并尊重你用的框架
- 不要过多使用技巧
- 设计复审和代码审查很重要
- 架构师应该活跃于整个阶段
- 小比大好
个人发展
优秀程序员的共同特质¶
- 至少深入理解一门编程语言。使用哲学;语言特性;局限;缺陷;未来
- 严谨好学
- 现实主义者。权衡;完成即是价值;尊重流程,但会灵活运用。
- 从失败中学习。面对失败的勇气,并从中获得进步
- 熟练打字;使用和发明工具;
- 善于发现和改造轮子。搜索引擎;社交网络;善于提问;快速上手
- 切分工作;利用好碎片时间
- 软技能;语言表达;倾听;领导者;指导他人;持续学习;谦逊;尊重
- 有优秀的伙伴;
- 对生活充满激情
专家和普通人的区别在于觉察力¶
- 真正理解和解决问题
- 最优秀的方案来自于无与伦比的觉察力
程序员创业的坑¶
- 不擅长的领域
- 不具操作性的商业计划
- 参与者太多或者太少
- 研发周期长,没特色
- 忽略市场
- 没有和用户维持关系
- 过分信任专家或者对用户言听计从