分享两点自己最近在工作中的一些感悟与思考。
1
两年前我进入数据库内核开发的时候,刚开始确实有点痛苦,感觉非常的困难,哪哪都不熟悉,对数据库的整体模块、架构,一些设计细节都感觉非常模糊,尽管有一些 KV 数据库的经验,但是总体来说还是太少了,不足以应对数据库这么庞杂的系统。
好在自己还算是坚持,加上向一些 nice 的同事请教,以及 leader 的协助,能够慢慢的开始去上手做一些简单的事情。两年多过去了,我在工作中也做了很多,主导了一些独立的功能上线。
但是,随着我在数据库这方面了解的东西越来越多,成就感却没有那么足,反而觉得自己不知道的东西更多了。因为我现在做的事情,都是比较独立的 feature,涉及到的模块很多,慢慢的发现有时候做一件事情感觉寸步难行。
有时候因为一个功能牵扯到的模块很多,需要不停的学习,然后再去应用并解决现有的问题。
当然也因为自己的一些洁癖,比如为了写一行代码,我可能会去看 100 行,甚至 500 行代码,仔细去看别人是怎么写的。有时候为了一个函数或者变量的命名,为了确保能够和现有的代码风格保持一致,都会纠结一会儿该怎么取一个合适的名字。
久而久之,在做事情的时候,刚开始甚至会觉得有一些心情受挫。
只不过,转念一想,我的这种情况应该还算是正常的,估计很多人都会经历。
今天 leader 给我分享了一些事情,比如说他刚开始带的一些人,在前面的一两年也都没有深入到内核开发,都是从一些比较边缘的事情开始做起来,然后慢慢的熟悉,我目前的学习节奏还是非常快的了。
确实是这样,有时候我们看到某某同事怎么这么厉害,因为我们看到的只是结果,并没有看到别人成长的过程,每个人都会经历很多职场阵痛期。
在工作中,任何有意义的成长,一定是带着痛苦的。刚开始在了解范围有限的情况下,做一些事情反而觉得轻松。但是到了一定的阵痛期,会发现寸步难行,思考的方面更多了,做起来会觉得非常困难。 但只要我们熬过这些困难的时候,才会让自己发生质的变化。
2
第二点是我最近在思考的一个问题,那就是如何在职场中寻求更大的突破? 大多数人的状态,其实都是埋头默默做自己的事情,稍微好点的,能够在遇到问题的时候和别人讨论,然后有进展就反馈,中规中矩的去完成自己的目标,我目前的状态大概也是这样。
这种状态持续久了之后,我开始去思考,怎么才能够更进一步,达到一个更高的层次? 今天和 leader 交流了一下,得到了一些经验,以及我自己也有了一些总结。
观察一下职场中更加厉害的人,他们都有什么样的特点?除了专业技能强之外,比较重要的一点是他们能够多方面,甚至全方位的参与到很多事情当中,并且不停地发表自己的看法,能够 cover 住很多东西。
我觉得想要寻求更进一步的突破的话,确实需要在团队中建立这样的个人影响力。
在做好自己事情的基础之上,能够去参与到其他的事务当中,比如能够去 review 别人的代码,参与到别人的需求讨论中,而不是秉持一种事不关己的心态。
当我们能够越来越多的参与到其他事情当中,我们会在团队中树立自己的影响力,当别人第一想到这个问题的时候,能够下意识的和你关联起来。
久而久之,参与的东西越来越多,就越可能有机会去承担更多的责任,成为独当一面的中坚力量,甚至更进一步,当你能够 cover 住团队内大多数事情的时候,其实就具备了成为 team leader 的能力。
当然,能力越大,责任越大,反过来是一样的,想要承担更多的责任,必须要有对应的能力。我觉得,首先能够在自己的能力范围之内,去参与到其他事情当中,并且发表自己的看法。
在这个基础之上,尽管自己有可能在某些方面能力不足,但是可以选择性的参与,就算有不懂的也没有什么关系,重要的是能够有参与进去的意愿,也不要羞于发表。这样会促使我们去不停的学习,参与的事情越来越多,我们的能力也会越来越强。
一个工程师的绝对能力,不仅仅在技术层面得以展现,而是在这个基础之上,发表自己有建设性的想法,去构建团队内、公司内,甚至行业内的影响力。