程序员如何构建自己的「护城河」

大家好,我是K&D,一名10年以上大数据架构&研发经验从业者,目前主要从事云原生大数据方向设计,擅长云原生技术、数据架构、数据平台构建、大数据组件性能调优

关注我,持续分享更多技术干货

0. 何为「护城河」

前段时间,大家一直在讨论说在当下的时代,作为程序员来讲,我们的护城河是什么?

下面我从十几年的从业经验来讲一讲,我所使用过的一些方式和方法,有些对我是有积极的促进作用,有些则没有任何效果,同时也尝试过不同的工作岗位,根据以上的一些经验总结来谈一下如何构建属于自己的护城河。

所谓的护城河,更多的是个人职业发展的可持续性,而不被太多因素影响到职业发展和生活水平

下面我列举一下,我这些年是如何构建的“护城河”并且截止目前还依旧有效,还在为我带来源源不断的机遇。

1. 底层核心原理

作为程序员的底层核心是什么?其实分为两种,一种是技术内核,一种是内在发心

先说技术内核也就是基础类的通识技能,比如操作系统、数据结构和算法、分布式原理等等,这些东西是不会有什么变化的,即便是有变化,也是基于这些来演变而来。

那么,如果作为不是科班出身,没有系统化学习过的人来说,怎么对这些内容有更好的认识和了解呢?答案就是:用中学,学中用。当某个问题的处理方式涉及到了底层之后,就花一些时间来快速的学习一遍,然后针对问题本身在仔细的学习一下相关知识点,基本上不会有什么问题

而且,这项技能不管是从事编程还是从事售前,还是其它技术相关角色都会适用

另外一种是内心,我清楚的记得在2017年当时公司的副总裁在提拔我的时候,给CEO的邮件里有这么一句话 「说我除了优秀的工作能力之外,是一个具有企图心很强的人」,我当时是26岁,听到企图心这个词猛然间觉得这是不是一种贬义词?后来我才知道,哦,原来这代表的是自己内心目标感+意愿,也可以简单理解为做事情的激情

所以,你对做事情是否有激情,是否有强大的企图心是决定你构建护城河的一个根基,有了这个根基之后,其它的都是在术的层面进行历练,根基是道的层面,自己悟不到,自己不去建立,那基本掌握再多的术,也无所用处

2. 团队管理通识

为什么要做团队管理?其实我原本想着的是个人管理,但是从我亲自实践+观察周边人之后,我就不认可从个人管理角度出发来构建护城河(注意我说的是构建职业发展的护城河),why?

首先,个人管理大多称之为自律,自律多少天早起、早读、晚上定时做什么。这些我也尝试过,但是经历过之后就感觉浑身乏累,除了记录了当初的学习内容之外,对实际工作没有实质性的帮助,也影响整个人的精神状态(因人而异)

后来,我就调整了自己的节奏,从团队工作出发,站在当下看看有哪些事情,也就是事上练,不断的通过事情来打磨自己,磨炼自己的内核,当做了很多事情,帮助团队处理了很多问题之后,慢慢的也就站在了管理者角色上,所以,总结来看,这是一个稳步迭代,并且收益明显的事情

3. 不断打破边界

如果你是一名程序员,具体工作的日常是做监控运维系统的开发,那么从你的认知里,你觉得应该怎么发展?

可能会有两种人的想法:

第一:就是安排了什么事情,就做什么事情,也不关心团队其它工作什么样,只负责好自己的这摊子事就好了

第二:除了监控运维系统之外,会更多的探索性能、稳定性以及其他人所做的工作是什么样子的?适当的学习请教一下,有时候对方忙不过来或者有紧急问题时,主动上去解决。久而久之,自己也会往这个方向发展了

很明显,第二种人发展空间更广大,至少我是第二种人,所以,从我的实际来看,作为一名普通的开发,因为大数据开发团队没有人负责老旧项目运维,我主动接了过来,然后学习大数据技术,慢慢的承接了一些需求开发,然后主动与人分享学习到的内容,得到大家的正反馈,慢慢的站到了团队的Top3 位置,这些并不是我实际规划好的,而是我的不断打破边界,不断进化,所带来的正向结果

4. 交流和分享

团队中有很多人都是每天安静的做自己事情,也不会同他人交流也不会分享自己的技术内容,可以说 10 个程序员里有 3,4 个人都是这样的。

每个人都有各自的性格、习性、习惯,有些人就不太爱表达,不擅长沟通,才会选择来做程序员,安安静静地写代码,这并不是什么不好的问题,而且这种人往往也具备坚固的护城河,就是他的核心底层技术非常扎实。

如果不具备核心系统非常扎实,而每天只是做应用层开发的话,那我建议还是适当放开自己,建立一个对外交流的通道,帮助自己扩展发展路径

5. 不要惧怕问题

我们做程序员每天写程序,调试 bug,仿佛天然就对问题有着敏感度。

其实,这里的问题并不是指的程序 bug,更多的是你看待事情的方式,有些人觉得事情是他的就做,不是我的就不做。或者是原本 xx 做的,为啥我来做呢?

如果是这种思维的话,就处于闭塞在自己的牢笼里,以后很难有突破性成长。

我一直认为,成长的过程就是不断解决问题的过程,解决的问题越多,成长的速度就越快

所以,我从不惧怕问题,问题来了我就想办法解决,想不到办法的话,我就去找其他人一起来,那么这中间你知道锻炼了哪方面能力吗?锻炼了你独立思考、团队协作、跨部门沟通、资源协调等等一系列的知识点在里面,这些在项目管理里面都是要独立来讲的,而我们在实践中如果有应用的话,那么事半功倍。

好了,那么简要的啰哩啰嗦了几条,如果你觉得有道理,恭喜你,学到了内核,如果觉得没有道理,也恭喜你,你有自己的独特想法和见解。

上面几条,因为时间原因,简单的都概述了一下,看完你会发现 不仅仅是程序员,其它的岗位同样也会有类似问题,同时解决方案也是类似的。

终归到底,是要自己有不断成长的思维,在自己的经济财务没有达到完全自由的时候,将注意力和精力更多的放在能提升工作价值和个人价值的事情(注意这里工作和个人是分开的,两者关系如何协同是我一段探索的学问,并且已经初见成效,为我带来了持续的收益)


程序员如何构建自己的「护城河」_第1张图片

你可能感兴趣的:(个人成长,职场和发展)