程序员还是得明白,技术不过只是工具而已

东东拿铁 2024-11-04 11:24:41
我目前工作7年了,这7年来埋头苦干,学习了很多技术,做了不少系统,也解决过不少线上问题,但是却从没好好静下来想一下,技术到底是什么,你我所处的这个行业的全貌是什么?

 

结合自己的工作经历,希望和大家一起聊聊,技术的本质与未来的方向,到底在哪里,才疏学浅,如果内容有误还希望你在评论区指正。

 

一、背景

 

 
1、行业现状

 

互联网行业发展放缓,进入调整阶段,具体表现为市场需求、用户规模、营收利润、创新活力等方面的放缓或下降。

 

一些曾经风光无限的互联网公司也遭遇了业绩下滑、股价暴跌、裁员潮等困境,你是不是也曾听过互联网的寒冬已至的言论?

 

其实互联网本身,并没有衰败或消亡,而是因为互联网高速发展的时代过去了。

 

  • 中国经济增速放缓、消费升级趋势减弱、人口红利消失等因素的影响,中国互联网市场的需求增长趋于饱和或下降。

  • 用户规模停滞,智能手机普及率饱和,互联网用户规模增长趋于停滞,由增量市场变为存量市场,互联网获客成本越来越高。

  • 监管政策收紧,互联网行业规范和监管愈加严格,更加注重合规,因此互联网行业也会收到影响。

 

 

2、供需环境

 

供需环境变化,应届生要求越来越高,更加注重学历。

 

社招更是看中学历的同时,开始限制年龄。招聘更看重项目经验,业务经验。五年前,你只要做过一些项目,哪怕不是实际使用的,也很容易拿到offer。而现在企业在看中技术能力的同时,还会关注候选人对与行业的理解,以及以往的工作经验。

 

二、技术的本质

 

先说结论,技术的本质是工具。我把过去几年的认知变化分成了四个阶段,给大家展示一下我对于技术的认知成长过程。

 

 

第一阶段

 

技术就是应用各类前沿的框架、中间件。

 

刚毕业时,我就职于一家传统信息企业。谈不上所谓的架构,只需要Spring、Mysql就构建起了我们的所有技术栈。当然,微服务框架更不可能,Redis、MQ在系统中都没使用到。

 

此时互联网企业已经开始快速发展,抖音诞生区区不过一年。

 

一线城市的互联网公司,都已经开始使用上了SpringBoot、微服务,还有各类我没有听说过的中间件。

 

工作环境的闭塞,让我对各类技术有着无限憧憬,因为很多当下难以解决的问题,应用一些新技术、新架构,就能立刻对很多难题降维打击。

 

举个例子,如果你使用本地缓存,那么集群部署时,你一定要考虑集群的缓存一致性问题,可这个问题如果用上分布式缓存Redis,那么一致性问题迎刃而解。

 

所以那个时候的我认为,技术就是应用各类中间件,只要用上这些中间件、框架,我就已经走在了技术的前沿。

 

 

第二阶段

 

技术对我而言就是互联网。半年后,我摆脱传统行业,来到了一个小型互联网公司,用上了不少在我眼中的新技术。

 

但任何新技术,如果只停留在表面,那么对于使用者来说,就是几个API,几行代码,你很快就会感到厌倦,发现问题也会焦虑,因为不清楚原理,问题就无从排查。

 

很快,所谓的“新技术”,就不能给我带来成就感了。我开始羡慕那些互联网行业APP,无时无刻都在畅想着,如果我做的产品能够被大家看到并应用,那该是多么有意思的一件事情。

 

于是我又认为,技术就是做那些被人看见、被人应用的网站、APP。

 

 

第三阶段

 

技术就是高并发、大流量、大数据。当自己真正负责了某一个APP的后端研发后,很多技术都有机会应用,也能够在AppStore下载自己的APP了,没事刷一刷,看到某一个信息是通过我自己写的代码展示出去,又满足了第二阶段的目标了。

 

那么我接下来追求的变成了,让更多的人使用我做的产品,起码让我的亲人、朋友也能看到我做的东西。

 

当然,随之而来的就是日益增长的数据规模和大流量,这些无时无刻都在挑战系统的性能,如何去解决这些问题,成为了我很长一段时间的工作主线。

 

应对高并发、大流量,我们需要对系统作出各种极致性能的优化。

 

为了性能优化,还需要了解更多的底层原理,才能在遇到问题时有一个合理的解决方案。

 

所以,我认为技术就是高并发、大数据,做好这些,才算做好了技术。

 

 

第四阶段

 

经过了传统企业,到互联网公司,再到互联网大厂的一番经历,让我发现技术的本质就是工具,在不同阶段,去解决不同的问题。

 

在第一阶段,技术解决了各类行业的数据信息化问题,借助各类中间件、架构把具体的需求落地。

 

在第二阶段、第三阶段,技术解决了业务的规模化问题,因为在互联网,流量迅猛增长,我需要去用技术解决规模化带来的各类的问题,做出性能优化。

 

当然,技术在其他领域也发挥着作用,比如AI&算法,给予了互联网工具“智能化”的可能,还有比如我们很难接触到的底层框架研发,也就是技术的“技术”,这些底层能力,帮助我们更好的发挥我们的技术能力。

 

三、未来机会

 

 

1、大厂仍是最好的选择

 

即使是在互联网增速放缓、内卷持续严重的今天,即使我选择从大厂离职,但我依然认为大厂是最好的选择。

 

为什么这么说,几个理由

 

  • 大厂有着更前沿的技术能力,你可以随意选择最适合的工具去解决问题

  • 大厂有着更大的数据、流量规模,你所做的工作,天然的就具备规模化的能力

  • 大厂有先进的管理方法,你所接触的做事方法、目标管理可能让你疲倦,但工作方法大概率是行业内经过验证的,你不会走弯路,能让你有更快的进步速度

 

 

2、数字化转型

 

如果你在互联网行业,可能没有听说过这个词,因为在高速发展的互联网行业,本身就是数字驱动的,比如重视数据指标、AB实验等。但在二线、三线城市的计算机行业或者一些传统行业,数字化转型是很大的发展机会。

 

过去十年,传统行业做的普遍是信息化转型,也就是把线下,需要用纸、笔来完成工作的,转移到系统中。

 

那什么是数字化转型?

 

我用我自己的理解说一下,数字化转型就是业务流程精细化管理,数据驱动,实现降本增效。

 

我目前所在的公司的推进大方向之一,就是数字化转型。因为许多行业的数字化程度非常低,本质而言,就是把数字驱动的能力,带给传统企业,让传统企业也能感受到数字化带来的发展可能。

 

举个例子,比如一个餐饮系统数字化转型后,一方面可以把用户下单、餐厅接单、开始制作、出餐、上餐线上化,还可以和原材料供应系统打通,当有订单来时,自动检测餐饮的库存信息,库存不足及时提供预警,甚至可以作出订单预测,比如什么时间点,哪类餐品的点单量最高。

 

当然,数字化转型与互联网有着极大的不同,在互联网行业,你只需要坐在工位,等着产品提出需求就可以了。但是传统行业,你需要深入客户现场,实地查看业务流程,与用户交谈,才能真正的理解客户需求。

 

或许这样的工作并不炫酷,还需要出差,但在互联网行业饱和的今天,用技术去解决真实世界的问题,也不失为一个很好的选择。

 

 

3、AI&智能化

 

随着AI快速发展,各类智能化功能已经遍布了我们使用的各类APP,极客时间有了AI自动总结,懂车帝有了智能选车度搜索问题,有时候第一个也会是AI来给我们解答。

 

任何行业遇上AI都可以再做一遍。

 

抛开底层算法、模型不谈,但从使用者角度来说,最重要的是如何与行业、场景结合相使用。但是想要做好应用,需要你在行业有着比较深的沉淀,有较深的行业认知。

 

当然,智能化也不仅限于AI,像上面餐饮系统的例子,如果能够实现订单预测、自动库存管理,其实也是智能化的体现。

 

四、终身学习

 

 

1、技术能力

 

持续精进专业技术能力,相信大家对此都没有疑问。

 

对于日常使用到的技术,我们需要熟练掌握技术原理,积累使用经验,尤其是线上环境的问题处理经验。

 

第一个是基础。比如对集合类,并发包,IO/NIO,JVM,内存模型,泛型,异常,反射,等有深入了解,最好是看过源码了解底层的设计。

 

第二你需要有全面的互联网技术相关知识。从底层说起,你起码得深入了解mysql,redis,nginx,tomcat,rpc,jms等方面的知识。

 

第三就是编程能力,编程思想,算法能力,架构能力。

 

在这个过程中,打造自己的技能树,构建自己的技术体系。

 

 

对于不断冒出的新技术,我们一方面要了解清楚技术原理,也要了解新技术是为了解决什么问题,诞生于什么背景。

 

 

2、业务能力

 

前面说到技术是一种工具,解决的是现实世界的问题,如果我们希望更好的发挥技术的作用,那么就需要我们先掌握好业务领域。

 

互联网领域如果你想要快速地入门互联网领域的业务,你可以使用AARRR漏斗模型来分析。

 

AARRR这5个字母分别代表 Acquisition、Activation、Retention、Revenue 和 Refer 五个英文单词,它们分别对应用户生命周期中的 5 个重要环节:获取(Acquisition)、激活(Activation)、留存(Retention)、收益(Revenue)和推荐(Refer)。

 

AARRR 模型的核心就是以用户为中心,以完整的用户生命周期为指导思想,分析用户在各个环节的行为和数据,以此来发现用户需求以及产品需要改进的地方。

 

举一个简单的例子,我们以一个互联网手游 LOL来举例:获取就是用户通过广告、push等形式,了解到了游戏并注册或者登陆。激活就是用户真正的开始游戏,比如开始了一场匹配。留存就是用户在7天、30天内,登陆了几次,打了几把比赛,几天登陆一次,每日游戏时常又是多少。收益,用户购买皮肤了,产生了收益。推荐,用户邀请朋友,发送到微信群中,邀请了朋友一起开黑。

 

如果你所在的行业是C端产品,那么这个模型基本可以概括用户的生命周期全流程。

 

传统行业传统行业没有比较通用的业务模型,如果想要入手,需要我们从以下三个角度去入手

 

  • 这个行业的商业模式是什么,也就是靠什么赚钱的?比如售卖系统收费,收取服务费等

  • 行业的规模如何?头部玩家有哪些?它们的模式有哪些特色?

  • 这个行业的客户是谁、用户是谁?有哪些经典的作业场景?业务操作流程是什么样的?

 

如何获取到这些信息呢?有几种常见的形式

 

  • 权威的行业研究报告,这个比较常见

  • 直接关注头部玩家的官网、公众号、官媒

  • 深入用户现场

 

我们以汽车行业来举例 商业模式:整车销售、二手车、汽车租赁等,细分一点,又有传统动力和新能源两种分类。规模:如下图

 

图片

 

头部车企:传统的四大车企一汽、东风、上汽、长安,新势力 特斯拉、蔚小理 经典场景:直接去4S店体验一下汽车销售模式、流程

 

说在最后

 

好了,文章到这里就要结束啦,我用我自己工作几年的不同阶段,给你介绍了我对于技术的本质是工具的思考过程,也浅浅的探寻了一下,未来的发展机会在哪里,以及我们应该如何提升自己,很感谢你能看到最后,希望对你有所帮助。

 

不知道你对于技术是怎么看的,又如何看待当下的市场环境呢?

 

 

 
作者丨东东拿铁
来源丨公众号:东东拿铁(ID:DongLatte)
dbaplus社群欢迎广大技术人员投稿,投稿邮箱:editor@dbaplus.cn
最新评论
访客 2024年04月08日

如果字段的最大可能长度超过255字节,那么长度值可能…

访客 2024年03月04日

只能说作者太用心了,优秀

访客 2024年02月23日

感谢详解

访客 2024年02月20日

一般干个7-8年(即30岁左右),能做到年入40w-50w;有…

访客 2023年08月20日

230721

活动预告