随着互联网的高速发展,大龄恐惧、技术更新迭代快被越来越多地在被人讨论。而35岁确实是一个合乎一般规律的拐点,年龄和技能它就像一道天堑,衡亘在职场程序员心中。
大家好,我是何小敏,TOT8,08年清华大学硕士毕业以后加入公司,已经12年,目前负责云图产品部。今天的演讲话题《焦虑的时代,工程师如何保持核心竞争力》,希望带给大家一些收获。
软件工程师是现在最好的职业之一
有一本书《软件调试》,其中作者说过一句话:三生有幸做软件,我非常同意文章里面的观念。我认为软件工程师是现在最好的职业之一,比如:高薪酬、舒适的工作环境、低学习成本、就业机会多、有机会改变行业甚至可以改变整个世界等。
最近关于程序员的一些困惑和焦虑较多。比如说:技术方向选择问题、技术含量的问题、互联网公司技术更新换代太快、写代码没有前途等。我今年已经35岁了,是不是比较比较危险?我们的困惑和焦虑本质是什么呢,我认为是缺少自信,缺少竞争力!!
核心竞争力一:对技术本质的深刻理解和把握
接下来,我会谈一下我们的核心竞争力究竟是什么?第一,我认为作为软件工程师核心竞争力最大的本质之一是对技术本质的深刻理解和把握。很多东西本质是没有变化的、计算机没有变化、网络的结构没有变化、安全的体系没有变化。
解决问题的方法是分层,就是通过一层一层的封装去解决问题。我对计算机的一个认识,就是物理原理加协议。除了底层的原理外,计算机世界其实就是一堆协议或者说规定。但是要说变化,我觉得是多核,计算机都是多核的,然后是我们的GPU越来越强大。再就是通过分片去解决问题,什么叫分片,我们现在都是用集群的方法去解决问题。这种变化带来了新的编程语言,让我们很自然的去利用多核的能力,很方便地利用多核或者集群去解决问题,比如go语言。总体而言,不变的东西占绝大多数,我们如果能够掌握底层或者说本质的不变的东西,我们就不会有那么多的困惑了。
现在随着我们的年龄增长,不在于掌握多少门语言、多少个框架,而是对技术本质的深刻理解。可能大家会说一些体系和网络我们都学过,但没什么好学的。其实不是这样,我做一个简单地测试:大家对TCP协议是不是真的理解?做开发的同学看一下是不是都能理解的那么清楚,在做3-5年的时候这些问题回答的不是特别清楚,到现在我才稍微清楚一些。很简单的东西,实际上想理解的特别透彻,是需要时间和学习的。所以为了学这些本质的东西,只能通过学习。
核心竞争力二:对领域知识的深刻洞察和抽象能力
大多数人在业务层做事情,我们必须去拥抱业务。我认为纯粹技术未来空间越来越小。我的个人建议是:选择一个有前景的细分行业,职业发展会有更多的可能性。
成长
有了这些东西以后就OK呢?并不是!技术好、业务好就能得到提拔吗?并不是!获得信任比什么都重要!每个人都是一个品牌,做的要超出自己的预期,获得团队的信任,成长的机会会更大一些。
最后,也是最重要的,我觉得成长和收获不是线性的,很多人会设计一个目标说三年、五年是什么样子的,我的同学什么样子…每个人的发展轨迹是不一样的,不要因为没有回报,就马上放弃一切。很多人就是以为没有坚持到回报那一下子,就跳槽,错过了很好的原本属于他的机会,其实很多时候在坚持一下就好!