当前位置: 首页 > news >正文

我做云原生的那几年

背景介绍

在2020年6月,我加入了一家拥有超过500人的企业。彼时,前端团队人数众多,有二三十名成员。在这样的大团队中,每个人都要寻找自己的独特之处和核心竞争力。否则,你可能会沉没于常规的增删改查工作中,无法展现自己的真正价值,或者在别人已经铺好的道路上与同伴竞争。
近期发布的《2023开发者职场生存白皮书》清晰地揭示了这种情况。其中提到,一线城市的竞争日益激烈,二线地区的开发者陷入无尽的内卷,而三、四线地区的开发者则面临着职业降维打击。对于前端开发者来说,真正的发展空间已经变得十分狭窄。这种趋势早早地引起了我的注意。我意识到,仅仅追求技术的深度并不明智。今天你在公司撰写一篇关于TypeScript的常用技巧的文章,但明天,可能就有人发表关于TypeScript更高级的内容;再过一段时间,可能就有人开始探讨TypeScript的源码解析。无形中自己陷入了内卷的恶性循环。
在认识到这一点后,我决定不再单纯地深入技术研究,因为那样的投入与收益并不成正比。相反,我选择拓展与我的职业岗位相关的知识,并在看清未来技术的大趋势后,决定加强我的云技术能力。这样,不仅可以提高自己的技术广度,还能在多元化的领域中展现自己的价值。

学习历程

自从加入公司后,我有幸成为了容器引擎开发部门的一员。我们的目标是研发一个与rancher和kubersphere相竞争的产品。在工作之余,我也投入了大量的时间来研究这两大云平台。对他们的前端部分进行了深入探讨后,我还撰写并发布了多篇相关文章,并尝试为它们提交PR,甚至还自行定制了部分页面。
在这段期间,我也如饥似渴地吸收了大量云原生相关的知识,例如如何使用Docker来部署镜像、如何为前端构建Docker镜像,以及如何在本地通过minikube部署前端应用等。云计算的核心技术是Kubernetes,但在实际应用中,我们还需要结合诸如Docker、API Gateway、云原生DevOps等多种技术。可以说,云原生技术构成了一个广阔的技术生态圈。
尽管很多前端开发者都精通TypeScript,但真正了解Kubernetes的却寥寥无几。这使得我在团队中逐渐获得了一定的威望。当同事们在前端项目部署或构建前端镜像方面遇到问题时,很多人都会找到我,寻求解决方案。确实,有些人可能会认为,一个前端开发者不深入研究前端技术,却投身于运维领域,这是否“不务正业”?但作为一名软件工程师,我们不能这样局限自己。除了做好职责范围内的工作,我们还应当扩展自己的技术视野,全面了解整个应用的生命周期。毕竟,每一个应用都需要部署,如果需要上云,那就必须进行容器化处理。这意味着我们不仅需要掌握云技能,还要能够处理常见的业务场景,并在出现问题时能迅速进行排查。
在公司内,我进行了多次关于Kubernetes的技术分享。其中,利用GitLab CI/CD自动化部署到Kubernetes集群的主题,受到了团队的一致好评。这也证明了,跨界的学习和尝试,往往能带来意想不到的成果和收获。

收获

在公司,我选择了一条与众不同的晋升之路,不盲目追随,不随波逐流,而是凭自己的技能和理念,开创了自己的职业道路。我没有试图攀登别人已经达到的高峰,而是选择了另起炉灶,铸造属于自己的事业之路。通过深入了解上下游、熟悉业务流程,并结合我所掌握的技术,我对整个应用的开发和部署流程进行了优化。而这样的技能,在现今的IT行业中,无疑是每家公司所迫切需要的。
凭借这些努力和成果,我两次荣获了公司的“月度之星”的殊荣。
在这里插入图片描述
在这里插入图片描述

业余时间,我也没有闲下来。我创建了一个关于云原生的专栏《我做云原生那几年》,目前已经累积发布了67篇文章。现在的前端领域中,真正熟悉云原生的人是相当少的。这片广袤的领域就像一块未被开垦的荒地,很少有人知道前端与云原生结合会碰撞出何种火花。但可以确定的是,这样的探索决定了我的职业生涯绝不会单调。
随着我积累的专业资料越来越多,一家出版社主动接触我,询问我是否有意将这些经验和知识整理成书。经过近一年的辛勤努力和创作,我终于迎来了人生中的第一本书的出版。这不仅是对我职业生涯的一种肯定,也为更多的开发者提供了一条新的探索路径。
在这里插入图片描述

总结

很感谢自己一直以来的努力,没有放弃成长的机会,坚持学习云计算等前沿技术。学习一项新技术,特别是云技术,概念多,耗时长,资料杂且多,所以在这个漫长的学习过程我也走了很多弯路。对于现在要学习云技术的同学,我要告诉你们一个好消息,亚马逊云科技推出了完整的云技能认证体系。如针对新手的AWS Certified Cloud Practitioner,主要考察队亚马逊云科技的基本了解,无需基本相关经验。
在这里插入图片描述
还有针对比较有经验的开发者准备的 AWS Certified Solutions Architect - Professional 与AWS Certified DevOps Engineer - Professional基于角色的认证,用于验证设计安全,优化和现代化的应用程序以及在亚马逊云科技上实现流程自动化所需的高级技能和知识。
在这里插入图片描述
本片文章就写到这里,祝大家都能在云计算的海洋里遨游,利用技术转化为生产力,为业务赋能。

相关文章:

我做云原生的那几年

背景介绍 在2020年6月,我加入了一家拥有超过500人的企业。彼时,前端团队人数众多,有二三十名成员。在这样的大团队中,每个人都要寻找自己的独特之处和核心竞争力。否则,你可能会沉没于常规的增删改查工作中&#xff0…...

@EventListener注解使用说明

在Java的Spring框架中,EventListener注解用于监听和处理应用程序中的各种事件。通过使用EventListener注解,开发人员可以方便地实现事件驱动的编程模型,提高代码的灵活性和可维护性。本文将详细探讨EventListener注解的使用方法和作用&#x…...

算法通关村第五关-白银挑战实现队列

大纲 队列基础队列的基本概念和基本特征实现队列队列的基本操作Java中的队列 队列基础 队列的基本概念和基本特征 队列的特点是节点的排队次序和出队次序按入队时间先后确定,即先入队者先出队,后入队者后出队,即我们常说的FIFO(first in fi…...

协力共创智能未来:乐鑫 ESP RainMaker 云方案线下研讨会圆满落幕

近日,乐鑫 ESP RainMaker 云方案线下研讨会(深圳)在亚马逊云科技与合作伙伴嘉宾的支持下成功举办,吸引了众多来自智能家电、照明电工、能源和宠物等行业的品牌客户、方案商和制造商。研讨会围绕如何基于乐鑫 ESP RainMaker 硬件连…...

读取谷歌地球的kml文件中的经纬度坐标

最近我在B站上传了如何获取研究边界的视频,下面分享一个可以读取kml中经纬度的matlab函数,如此一来就可以获取任意区域的经纬度坐标了。 1.谷歌地球中划分区域 2.matlab读取kml文件 function [sname,lon,lat] kml2xy(ip_kml) % ip_kml ocean_distubu…...

1深度学习李宏毅

目录 机器学习三件事:分类,预测和结构化生成 2、一般会有经常提到什么是标签label,label就是预测值,在机器学习领域的残差就是e和loss​编辑3、一些计算loss的方法:​编辑​编辑 4、可以设置不同的b和w从而控制loss的…...

Flask_Login使用与源码解读

一、前言 用户登录后,验证状态需要记录在会话中,这样浏览不同页面时才能记住这个状态,Flask_Login是Flask的扩展,专门用于管理用户身份验证系统中的验证状态。 注:Flask是一个微框架,仅提供包含基本服务的…...

利用Graviton2和S3免费套餐搭建私人网盘

网盘是一种在线存储服务,提供文件存储,访问,备份,贡献等功能,是我们日常中不可或缺的一种服务。很多互联网公司都为个人和企业提供免费的网盘服务。但这些免费服务都有一些限制,比如限制下载速度&#xff0…...

跟着GPT学设计模式之单例模式

单例设计模式(Singleton Design Pattern)一个类只允许创建一个对象(或者实例),那这个类就是一个单例类,这种设计模式就叫作单例设计模式,简称单例模式。 单例有几种经典的实现方式,…...

【MySQL索引与优化篇】数据库调优策略

数据库调优策略 文章目录 数据库调优策略1. 数据库调优的措施1.1 调优目标1.2 如何定位调优问题1.3 调优的维度和步骤第1步:选择合适的DBMS第2步:优化表设计第3步:优化逻辑查询第4步:优化物理查询第5步:使用 Redis 或 …...

基于BP神经网络的风险等级预测,BP神经网络的详细原理,

目录 背影 BP神经网络的原理 BP神经网络的定义 BP神经网络的基本结构 BP神经网络的神经元 BP神经网络的激活函数, BP神经网络的传递函数 代码链接:基于BP神经网络的风险等级评价,基于BP神经网络的风险等级预测(代码完整,数据齐全)资源-CSDN文库 https://download.csdn.n…...

最新Ai智能创作系统源码V3.0,AI绘画系统/支持GPT联网提问/支持Prompt应用+搭建部署教程

一、AI创作系统 SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统,支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如…...

项目资源不足,常见的5种处理方式

软件开发中,经常会遇到项目资源不足的情况,项目团队如果无法及时获得所需的人力、财力、物力等资源,往往会影响团队士气以及任务质量,造成无法按时完成任务,进而影响项目进度。 因此及时处理和应对资源不足的情况&…...

ER图设计神器,帮你省时省力,高效完成工作!

ER图(Entity-Relationship Diagram)工具用于设计数据库模型,通常用于表示数据实体、关系和属性之间的关系。以下是10个好用的ER图工具。 一、Lucidchart Lucidchart 是一款基于云的协作式图表设计工具,它允许用户创建、编辑和共享…...

Notepad++下载、使用

下载 https://notepad-plus-plus.org/downloads/ 安装 双击安装 选择安装路径 使用 在文件夹中搜索 文件类型可以根据需要设置 如 *.* 说明是所有文件类型; *.tar 说明是所有文件后缀是是tar的文件‘;...

基于若依的ruoyi-nbcio流程管理系统增加仿钉钉流程设计(一)

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio 演示地址:RuoYi-Nbcio后台管理系统 仿钉钉的开源项目网上也不少,而且很多功能已经也比较完善了,但大部分都不是MIT协议…...

【知网检索征稿】第九届社会科学与经济发展国际学术会议 (ICSSED 2024)

第九届社会科学与经济发展国际学术会议 (ICSSED 2024) 2024 9th International Conference on Social Sciences and Economic Development 第九届社会科学与经济发展国际学术会议(ICSSED 2024)定于2024年3月22-24日在中国北京隆重举行。会议主要围绕社会科学与经济发展等研究…...

带你人工识别C#开源库BarcodeLib生成的一维码Code128

我们是做HIS系统开发的,前段时间发现某些处方的一维码出现无法识别的情况。看了一下一维码生成的逻辑,使用到了BarcodeLib库,经过反复确认,我们程序是没有问题的。后面不得不反编译看一下BarcodeLib生成一维码的逻辑。最后调整一维…...

软考 系统架构设计师系列知识点之系统架构评估(6)

接前一篇文章:软考 系统架构设计师系列知识点之系统架构评估(5) 所属章节: 第8章. 系统质量属性与架构评估 第2节. 系统架构评估 8.2.1 系统架构评估中的重要概念 相关试题 3. 正确识别风险点、非风险点、敏感点和权衡点是进行软…...

指挥通信车360度3d虚拟互动展示系统的优势及特点

通信车是装有通信装备,用于保障通信联络的专用车辆,用于偏僻/特殊环境下的机动通信。并且机动通信局装备通常分为应急综合通信车、网络管理车、程控电话车、自适应跳频电台车、数字扩频接力车、散射通信车、卫星通信车、光缆引接车、线缆收放车和通信电源…...

挑战杯推荐项目

“人工智能”创意赛 - 智能艺术创作助手:借助大模型技术,开发能根据用户输入的主题、风格等要求,生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用,帮助艺术家和创意爱好者激发创意、提高创作效率。 ​ - 个性化梦境…...

超短脉冲激光自聚焦效应

前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误

HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...

基于Uniapp开发HarmonyOS 5.0旅游应用技术实践

一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来&#xf…...

12.找到字符串中所有字母异位词

🧠 题目解析 题目描述: 给定两个字符串 s 和 p,找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义: 若两个字符串包含的字符种类和出现次数完全相同,顺序无所谓,则互为…...

Linux --进程控制

本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...

2023赣州旅游投资集团

单选题 1.“不登高山,不知天之高也;不临深溪,不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...

android13 app的触摸问题定位分析流程

一、知识点 一般来说,触摸问题都是app层面出问题,我们可以在ViewRootImpl.java添加log的方式定位;如果是touchableRegion的计算问题,就会相对比较麻烦了,需要通过adb shell dumpsys input > input.log指令,且通过打印堆栈的方式,逐步定位问题,并找到修改方案。 问题…...

基于PHP的连锁酒店管理系统

有需要请加文章底部Q哦 可远程调试 基于PHP的连锁酒店管理系统 一 介绍 连锁酒店管理系统基于原生PHP开发,数据库mysql,前端bootstrap。系统角色分为用户和管理员。 技术栈 phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 注册/登录/注销 2 个人中…...

STM32---外部32.768K晶振(LSE)无法起振问题

晶振是否起振主要就检查两个1、晶振与MCU是否兼容;2、晶振的负载电容是否匹配 目录 一、判断晶振与MCU是否兼容 二、判断负载电容是否匹配 1. 晶振负载电容(CL)与匹配电容(CL1、CL2)的关系 2. 如何选择 CL1 和 CL…...