软件老兵眼中最有价值的12条开发经验

引言

笔者从事软件开发工作已有 10 多年了,可以算得上软件开发领域的一名老兵。在软件开发领域,前辈们积累了非常多的有价值的开发经验,那么在一个老兵眼中,最有价值的 12 条开发经验是什么?


12条开发经验.png

你永远不可能什么都知道

  • 立足于擅长的东西,打造个人标签
  • 因需而学,问题驱动
  • 保持清醒,维持学习的动力

好的团队可以让你的能力呈指数增长

  • 独立工作会把你局限在自己的能力范围内
  • 交谈和讨论可以影响你的思维过程
  • 工作比个人完成的更快,过程也更快乐

好的代码应该易于理解易于修改

  • 先实现功能,根据性能测试报告再针对性的做代码优化
  • 不要过早优化,更不要过度优化,必要时添加注释
  • 深刻理解“破窗理论”和“童子军军规”,并持续实践

好的架构师是优秀的程序员

  • 从“问题”出发,寻求最合适的技术去低成本解决“问题”,避免从“技术“出发使”问题“变得复杂,防止”技术热情“的蔓延
  • “过渡繁忙”不是一个好的状态,需要“忙里偷闲”,定期刷新架构知识和技能,否则老本很快会被吃光
  • 好的架构不是预先设计出来的,而重构是达成它的唯一方式,不同的人因为背景和经验的差异而导致演进的节奏不同,但最终目标是相同的,收益最大化
  • 每天坚持 coding,保持对代码的 feeling,并不是舍不得丢弃这种技能,而是为了设计更接地气的架构,与程序员产生共鸣与共振,从而降低系统的维护成本

耐心是你最好的朋友

  • 不管是开发特性,还是 fix bug,或者学东西,感觉时间会超出预期
  • 非紧急重要的任务可以推迟到明天或后天完成,不要熬夜,恰恰要按时作息,保证充足睡眠
  • 管理者不要对开发人员的期望过高,不要设定太过激进或不切实际的最后期限,软件交付并非越快越好
  • 保持耐心,不要把自己长期置于压力之下,否则会对你造成伤害
  • 保持冷静,整理思路,形成想法,工作会越来越出色,经验会越来越丰富

持续性是关键

  • 持续性做某件事,可以帮助你成为专家
  • 每天投入 15 分钟或 1 个小时胜过一次性投入 20 个小时
  • 不断的重复做某件事,你的大脑慢慢地习得了相应的模式并保存了下来,让你成为专家

向比你更优秀的人学习

  • 技术领域非常宽广,你无法什么都学会
  • 你和同事有各自的知识优势,可以互相学习,从而将别人的优势转化成自己的优势
  • 既要学习成功的经验,也要学习失败的教训

社交网络很重要

  • 走出去,和人建立联系
  • 让别人了解自己,会不断的为你带来学习、工作和互动的机会

经常休息可以让你更高效

  • 如果没有遇到困难,你可以一直在编码或工作,而没注意到时间的流逝,但是你的大脑需要经常休息
  • 休息有助于大脑恢复体力,处理先前摄入的信息
  • 可以定期休息,比如每小时休息 5 分钟,四小时后可以休息 30 分钟,也可以事件驱动休息,比如累了,效率下降了,注意力不集中了,就休息一下
  • 事实证明,每隔一段时间休息一下大脑可以让你更快的完成工作,记住 7 + 1 > 8

要有很好的人缘

  • 与同事和管理者经常交流,增进彼此间的了解,建立起良好的关系
  • 谦虚内敛,乐于帮助他人

学会深度思考

  • 遇到复杂问题时,像剥洋葱一样逐层分析
  • 从被动接受到主动学习,从低成长区跨越到高成长区
  • 让自己冷静下来,看清问题的本质
  • 战术上的勤奋和战略上的优化同时推进
  • 刻意练习深度思考的能力,使之成为习惯

没有完美的公司

  • 每个公司都有问题,即使世界一流的高科技公司,也会有这样那样的问题
  • 并非所有同事都和你想象的那样是顶级的,他们就是普通的开发者,不会什么都知道,并且会犯错
  • 不要动不动就要改变世界,有些工作比较无聊,遇到的问题也没有那么难,但这些工作需要做得非常好
  • 不要抱怨,要全心全力和公司一起成长

小结

本文站在一个老兵的角度,简单梳理了软件开发中最有价值的 12 条开发经验,希望对读者有一定的帮助。

软件开发人员不仅要面临高强度的工作,还要面临高强度的学习。软件开发领域的技术更迭速度比较快,长时间不更新知识结构就会有被行业淘汰的风险,这对软件开发人员来说是导致焦虑的一个重要原因。我们要吃透软件开发中最有价值的 12 条开发经验,停止焦虑,健康快乐的成长,真正胜任软件开发工作,并具有较强的竞争力。

参考资料

  • 程序员眼中最有价值的 10 条开发经验

你可能感兴趣的:(软件老兵眼中最有价值的12条开发经验)