工作三年多,记录下自己对写代码的一些认识。

标题图片

技术积累阶段

离开校园,从事软件行业,就意味着在代码的道路上要不断升级打怪,不断提高自我了。开始可能从项目的增加功能开始,或者做个轻量型的产品/demo。多数情况下,公司的产品已经趋于成熟稳定,代码稳定,所以写起来难度不是,按照已有的风格方式去写就OK。

这个阶段主要是在于学习。当然不光是代码的学习,包括很多其他方面:

  • 系统: 如果是Linux, 那么需要了解Linux,掌握常用命令,一些提高工作效率的个性化配置,工具
  • 语言: C/Java/Go/Swift等等
  • 代码管理:svn/git
  • 配置管理:puppet/salt/ansible
  • ……

当然,不光是技术,还包括其他软实力的提高:

  • 沟通: 对于稍大的项目,总是需要多人合作开发,良好、有效的沟通是非常重要的一步
  • 问题解决能力:这个需要长期的实践才能提高的,实践是检验真理的唯一标准嘛
  • 好奇心:对技术要有足够的好奇心,将持续学习当做一种人生的态度,这样才能有持续的学习动力

技术提高阶段

这个阶段对产品的业务逻辑有了清晰的认识,各方面都能够适应了。毕竟产品注重的是业务逻辑,对技术的运用是有限的,可能不需要考虑到大并发、高性能(当然跟具体业务有关)。这个时候就需要有所专研了,找到自己感兴趣的领域去深入

比如后端的专研方向大致有:

  • 网络方向 (网络优化、加速)
  • 消息中间件 (mq, jms)
  • 分布式方向(缓存、 数据库、 分锁)
  • 大数据方向(hadoop、 openstack)
  • 负载均衡方向(apache、 nginx)

技术的提高不光是靠看书,也需要经过实践的。 可以自己动手开发个demo,托管在github上,说不定就会备受关注,做成个成熟的开源产品呢。

全栈阶段

全栈工程师是:“掌握多种技能,病能利用多种技能独立完成产品的人”(baidu定义)。这个阶段应该不是局限在代码本身了吧,更多的是在项目架构设计、项目技术选择、项目整体进度调控等等。(此阶段离本程序汪还很是遥远, 需要继续奋斗)