知乎上有个有意思的问题:“你认为程序员从幼稚到成熟的过程是什么?”关注数超过2500,浏览次数更是超过100w。看来大家都很关心自己熟没有。
对于工作经历并不丰富的Jungle而言,自然是谈不上成熟的。但我相信自己正处在这个过程,所以也回答了一波。
1. 承担的责任
如果仅仅是开发某个功能函数,修复某个bug,一方面任务单一,且大部分都是在老员工们已有的代码框架下进行,完成起来并不难,技术提升几乎没有。另一方面,思维和视野局限在这一个功能函数或者修复bug上,可能变着花样儿去实现、去编码,容易沉浸在个人的编码世界里,但其实毫无作用。当承担的责任比较重时,在项目中扮演主要角色时,要考虑的,就远远不止修复某个bug了。
这些东西会促使我从整体全局去考虑,代码如何设计和实现、业务上如何和上下游交互等等。
2. 不再痴迷于炫酷的UI,而是注重基础知识和基本技能。
再炫酷的技术,终究会回归到底层。怎么编码的?数据或者一个对象在内存里是如何排布的?数据为什么溢出了?堆、栈?STL、GDB等等。基础知识和基本技能才是基石,运行一段代码,弹出一个炫酷的UI,那它从头至尾这个过程是怎样的?你能把它弹回去吗?我越来越觉得,业务上可能既要务实又要务虚,但技术上一定是得务实的,脚踏实地把基础扎牢,纵然新技术层出不穷日益更新迭代,但回归底层,始终是0和1。