从一般程序员到优秀程序员需要走几步?
即便是在高薪的IT行业,程序员与程序员之间的收入差距也是非常巨大的。影响收入的一个重要因素是编程能力。那么,从一个普通程序员成长为优秀程序员,在编程能力方面,会经历几个阶段呢?
1 拷贝阶段
一开始,刚从新手村出来的你什么也不会,只能向他人学习,模仿他人。处在拷贝阶段的你就是传说中的“代码拷贝员”了。
这个阶段的你对实现功能几乎没有思路,只能从网上或是之前其他团队成员写的代码中拷贝出片段,然后放到项目中。如果运行项目出现了期望结果,就代表任务完成。
这时候的你会改代码,但遇到需要写代码的情况就会一筹莫展。你能够获得刚好够用的薪资,但无法再进一步,也感受不到隐藏在代码中的魅力。
2 入门阶段
从拷贝阶段到入门阶段,核心在于提升学习能力。当产品有功能需求时,由于经验有限,你并不完全知道要如何实现这个功能,但你可以通过学习、寻找资料等方式来解决问题。一旦学会自主解决问题,你很快就会领略到编程的魅力所在。在功能实现的那一刻,你就是世界上最轻松愉悦的人。
这个阶段你的主要目标是“完成功能”,因此代码bug可能较多,稳定性不高。你常常会碰上开发花费1个月,改bug却要改上好几个月的情况。
3 学习阶段
经历过入门阶段后,你对所在领域的语言已经比较了解,对于一般功能可以有较为清晰的实现思路,给出需求时可以通过自己的思路来实现,并且会一定程度上考虑边界条件和性能问题。此时的你不喜欢复用别人的代码,看见项目中别人实现了相类似的功能,自己就想要做一个。与代码斗,其乐无穷。
当然了,此时的你对可读性和可扩展性考虑很少,也没有项目级别的考虑。不过经过学习,你会变得更厉害的。
4 实现阶段
到了这个阶段,你已经有了比较丰富的经验。当接受到产品需求时,你对功能实现方案已经了然于胸,可以快速的实现需求,并且对边界、性能都有一定程度的考虑。因为能够快速实现需求功能,你经常会被团队评价为“牛人”。
这个阶段的你非常喜欢“开发项目”,却不喜欢“维护项目”。你产出的代码最大的问题就是维护较为困难,可能过上几个月回头看自己的代码都会晕头转向。
5
架构阶段
这时的你已经比实现阶段的你迈出了一大步。你经验丰富,对相关框架和工具等都很熟悉,“完成功能”、“稳定性”、“性能”这些已经不再是你的追求。更优美的代码、更合理的架构才是目标。
此时你的接口设计大多建立在对需求变更的预测上,可扩展性好、稳定高效、可读性较高,还能保证项目可持续发展。
由于考虑问题较多,你可能做得比较慢,但成品非常优秀而且稳定。
以上就是成为优秀程序员的5个阶段啦,你觉得自己在哪个阶段呢?留言分享一下吧!