35岁是程序员工作的终点!?(二)

“35岁是程序员工作的终点。”这句话到底是什么意思呢?

猜想二:心态
35岁的程序员因为年龄和履历的增长导致心态不再端正

那些令人纠结的困惑

人生是一场马拉松,在漫长的征途中,难免有很多困惑。困惑就像枷锁,使我们步履蹒跚,困惑就像死锁,让我们停滞不前。

接下来我将总结自己在工作中碰到和看到的一些典型困惑。这些困惑或者长期困扰本人,或者困扰我身边的同事和朋友。当这些困惑被释然之后,大家都感觉如重获释,为下一阶段的征程提供满满的正能量。人生就像一场旅途,不必在乎目的地,在乎的,应该是沿途的风景,以及看风景的心情。良好的心态是技术之旅最好的伴侣。期望通过这个解惑之旅,让大家拥有一个愉快的心情去感受漫长的学习旅途。

学无止境吗

必须要承认一个残酷的现实:人的生命是有限的,知识却是无限的。用有限的生命去学习无限的知识是不可能完成的任务。一想到此,有些工程师不免产生一些悲观情绪。如果方法得当并且足够勤奋,悲伤大可不必。

虽然,人类的整体知识体系一直在扩张。但是就很多重要的工程细分领域,基础理论并不高深。计算机的很多重要领域,工程师有能力在有限时间内抓住核心要害。

比如,密码学被认为是门非常高深的学科,但是一大类密码技术的基础是数论中一个非常简单的理论——素因数分解:给出两个素数,很容易算出它们的积,然而反过来给定两个素数的积,分解的计算量却非常惊人。

“一致性”算得上是计算机领域里面最经典的难题,它是所有分布式系统的基础,从多核多CPU到多线程,从跨机器到跨机房,无所不在,几乎所有的计算机从业人员都在解决这个问题,但是Paxos给出了一个很优雅的解决方案。

权限管理是很多工程师的噩梦,但如果你能搞定“Attribute Based Access Control(ABAC)”和“Role-Based Access Control(RBAC)”,也能达到相当高度。
另外,技术学习是一场对抗赛,虽然学无止境,超越大部分对手就是一种胜利。所以,以正确的学习方式,长时间投入就会形成核心竞争力。

没有绝对高明的技术,只有真正的高手

致力于在技术上有所成就的工程师,都梦想有朝一日成为技术高手。但技术高手的标准却存在很大的争议。这是一个有着悠久历史的误解:以某种技术的掌握作为技术高手的评判标准。我经常碰到这样一些情景:因为掌握了某些技术,比如Spring、Kafka、Elasticsearch等,一些工程师就自封为高手。有些工程师非常仰慕别的团队,原因竟是那个团队使用了某种技术。

这种误解的产生有几个原因:首先,技多不压身,技术自然是掌握的越多越好,掌握很多技术的人自然不是菜鸟。其次,在互联网时代来临之前,信息获取是非常昂贵的事情。这就导致一项技能的掌握可以给个人甚至整个公司带来优势地位。互联网时代,各种框架的出现以及开源的普及快速淘汰或者降低了很多技能的价值,同时降低了很多技术的学习门槛。所以,在当前,掌握某项技能知识只能是一个短期目标。怀揣某些技能就沾沾自喜的人需要记住:骄傲使人退步。

所谓麻雀虽小,五脏俱全。如果让你来做造物主,设计麻雀和设计大象的复杂度并没有明显区别。一个看起来很小的业务需求,为了达到极致,所需要的技术和能力是非常综合和高深的。真正的高手不是拿着所掌握的技术去卡客户需求,而是倾听客户的需求,给出精益求精的方案。完成客户的需求是一场擂台赛,真正的高手,是会见招拆招的。
在这里插入图片描述Java企业级电商项目架构演进之路 Tomcat集群与Redis分布式和Java深入微服务原理改造房产销售平台,需要完整Java全套资料可以扫下方微信码免费领取
在这里插入图片描述项目效果展示图

不做项目就无法成长吗

在项目中学习是最快的成长方式之一,很多工程师非常享受这个过程。但是一年到头都做项目,你可能是在一家外包公司。对于一个做产品的公司,如果年头到年尾都在做项目,要不然就是在初步创业阶段,要不然就是做了大量失败的项目,总之不算是特别理想的状态。正常情况,在项目之间都会有一些非项目时间。在这段时间,有些同学会产生迷茫,成长很慢。

项目真的是越多越好吗?答案显然是否定的。重复的项目不会给工程师们带来新的成长。不停的做项目,从而缺乏学习新知识的时间,会导致“做而不学则殆”。真正让工程师出类拔萃的是项目的深度,而不是不停地做项目。所以,在项目之间的空档期,工程师们应该珍惜难得的喘息之机,深入思考,把项目做深,做精。

如何提高项目的深度呢?一般而言,任何项目都有一个目标,当项目完成后,目标就算基本达成了。但是,客户真的满意了吗?系统的可用性、可靠性、可扩展性、可维护性已经做到极致了吗?这几个问题的答案永远是否定的。所以,任何一个有价值的项目,都可以一直深挖。深挖项目,深度思考还可以锻炼工程师的创造力。期望不停地做项目的人,就像一个致力于训练更多千里马的人是发明不出汽车的。锻炼创造力也不是一蹴而就的事情,需要长时间地思考。总之,工程师们应该总是觉得时间不够用,毕竟时间是最宝贵的资源。

职责真的很小吗

很多时候,一个工程师所负责系统的数量和团队规模与其“江湖地位”正相关。但是,江湖地位与技术成长没有必然关联。提升技术能力的关键是项目深度以及客户的挑剔程度。项目越多,在单个项目中投入的时间就越少,容易陷入肤浅。特别需要避免的是“ 在其位不谋其政”的情况。团队越大,在管理方面需要投入的精力就越多。在管理技巧不成熟,技术眼界不够高的前提强行负责大团队,可能会导致个人疲于应付,团队毫无建树。最终“ 一将无能,累死三军”,效果可能适得其反。

从技术发展的角度来说,技术管理者应该关注自己所能把控的活跃项目的数量,并致力于提高活跃项目的影响力和技术深度。团队人数要与个人管理能力、规划能力和需求把控能力相适应。一份工作让多个人来干,每个人的成长都受限。每个人都做简单重复的工作,对技术成长没有任何好处。团队管理和项目管理需要循序渐进,忌“拔苗助长”。

一定要当老大吗

有一些工程师的人生理想是做团队里的技术老大,这当然是一个值得称赞的理想。可是,如果整个团队技术能力一般,发展潜力一般,而你是技术最强者,这与其说是幸运,不如说是悲哀。这种场景被称之为“武大郎开店”。 团队里的技术顶尖高手不是不能做,但为了能够持续成长,需要满足如下几个条件:

1.首先你得是行业里面的顶尖专家了——实在很难找到比你更强的人了!
2.其次,你经常需要承担对你自己的能力有挑战的任务,但同时你拥有一批聪明能干的队友。虽然你的技术能力最高,但是在你不熟悉的领域,你的队友能够进行探索并扩展整个团队的知识。
3.最后,你必须要敏而好学,不耻下问。

否则,加入更强的技术团队或许是更好的选择,最少不是什么值得骄傲的事情。

Java同行愿更进一步者,来者不拒资料免费放送
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44074342/article/details/85125121
今日推荐