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

字节10年架构师职业发展经历,助你做好职业规划

一直以来程序员这一职业都给人高薪资的印象,近年来随着互联网行业的快速发展,程序员更是人满为患,然而很多人关注的却是程序员的薪资,而非职业本身。

一批批程序员进入工作岗位,但是很多人并没有对自己的职业生涯有清醒的认识和系统的规划,由此会在职业发展过程中遇到很多问题。

程序员是好职业吗?

虽然很多程序员总是调侃自己,但是这个问题我想对于大多数程序员都是肯定的,包括我自己。
不说什么改变世界的豪言壮语,单单就程序员本身的工作性质而言也是有无限魅力的:不用把太多的精力放在处理上下级、同事间的关系上,通过自己的敲敲打打做出产品本身就是一件很有成就的事。
当然,还有老生常谈的程序员的薪资,程序员确实是一个薪资相对丰厚的行业,特别对于刚走向社会的人来说,据说那些说不看薪资选职业的一般不是骗子就是富二代……
近几年程序员这一行业的薪资基本没出过年度薪资排行榜前五名,这就足以说明问题。

在此我分享一位在阿里任职的朋友的职业经历,看他是如何一步步稳步晋升的。职业规划、学习资料

第一阶段

第一阶段实际上对于程序员来说是第一个门槛,这个阶段将会决定你是否适合写代码,同时也会淘汰掉一批不适合写代码的人。在这一阶段,我们走出校园,迈入社会,成为一名程序员,正式从书本上的内容迈向真正的企业级开发。

第二阶段

第二阶段是第二个区分程序员的门槛。有些人在1-3年里,除了完成工作,在空余时间基本不会研究别的东西, 而那些热衷于研究各种技术实现细节、看了N多好书、写一些博客、在Github上分享技术、培养自己的架构师思维,这些人在五年后必然具备在技术上独当一面的能力并且清楚自己未来的发展方向,从一个CRUD码农逐步走向架构师,成为项目组中不可或缺的人物,甚至是团队核心人物的存在。

第三阶段

第三阶段考查的就是思考总结能力、代码审查、项目管理等综合能力。而大部分人都不能实现此目标,如果你有天赋,够勤学,那么恭喜你,下一阶段将是你的人生巅峰!

第四阶段

拥有前瞻能力、协调能力、管理能力和技术发展战略眼光这样的人,在公司基本担任的都是CTO、技术专家、首席架构师等最核心、最关键的职位,这对于自己绝对是一件荣耀的事,老板不光在经济上会有所侧重,整个技术团队都会唯你马首是瞻!

怎么样?这样的人生你是不是很向往呢?

我身边大部分的程序员,基本上都有想进大厂的梦想,说的高大一点是实现梦想,倍感荣光,实际上也是因为大厂的薪资待遇,也是一般小公司不能比拟的。在这里没有唯金钱论的意思。俗话说:“人往高处走,水往低处流”。在大的平台,你也会拥有更多的机会,更广阔的视野,去创造出更多得到可能性。而当这一切有希望成为现实时,又有谁能够抗拒呢?

笔者的这位阿里大牛朋友,也是从最基础得到CRUD一路做起,在项目中逐步实战,刻苦自学,有问题查阅相关书籍。而且那时候不比现在,随便上搜索引擎一查,海量知识笔记铺天盖地,如果你真有决心学习,现在的时代真的是最好的时代!

在这里笔者带来他的学习路线及笔记,希望能帮到有需要的朋友们。

Java基础架构

  • 认识SSM框架和Redis
  • Java设计模式
  • 认识MyBatis核心组件
  • MyBatis配置
  • 映射器
  • 动态SQL
  • MyBatis的解析和运行原理
  • 插件
  • Spring loC的概念
  • 装配Spring Bean
  • 面向切面编程
  • Spring和数据库编程
  • 深入Spring数据库事务管理
  • Spring MVC的初始化和流程
  • 深入Spring MVC组件开发
  • Spring MVC高级应用
  • Redis概述
  • Redis数据结构常用命令
  • Redis的一些常用技术
  • Redis配置
  • Spring缓存机制和Redis的结合
  • 高并发业务

MySQL技术精粹

  • MySQL架构介绍

  • MySQL权限与安全

  • 数据备份与还原

  • MySQL的高级特性

  • MySQL锁定机制

  • 使用MySQL Workbench管理数据库

  • SQL性能优化

  • MySQL服务器性能优化

  • MySQL性能监控

  • MySQL Replication

  • MySQL Cluster实战

  • 企业中MySQL的高可用架构

多线程与高并发

  • Java多线程技能

  • 对象及变量的并发访问

  • 线程间通信

  • Lock的使用

  • 定时器Timer

  • 单例模式与多线程

JVM实战调优

  • 初探Java虚拟机

  • 认识Java虚拟机的基本结构

  • 常用Java虚拟机参数

  • 垃圾回收概念与算法

  • 垃圾收集器和内存分配

  • 性能监控工具

  • 分析Java堆

  • 锁与并发

  • Class文件结构、装载系统

  • 字节码执行

由浅及深的提升充实自己,在工作中配合项目实战,效果真是事半功倍。

最后,我想提醒大家的是,提前做好职业规划固然重要,但是职业规划不是一成不变的,因为可能每个人在职业的每个阶段都会接触不同的领域,自己也会有不同的认知,自己的思维也会有所变化,所以,很可能会发现自己更适合的方向也说不定。

不过无论如何,我们要做的就是不断学习,不断提升自己,更早的关注职业规划,更早的给自己制定一份更适合自己的职业蓝图。

相关文章:

字节10年架构师职业发展经历,助你做好职业规划

一直以来程序员这一职业都给人高薪资的印象,近年来随着互联网行业的快速发展,程序员更是人满为患,然而很多人关注的却是程序员的薪资,而非职业本身。 一批批程序员进入工作岗位,但是很多人并没有对自己的职业生涯有清…...

ArrayList真的是因为实现了RandomAccess接口才能做到快速随机访问的吗

ArrayList和RandomAccess接口RandomAccess 接口Collections.binarySearch()源码总结RandomAccess 接口 首先,RandomAccess接口是什么,以下代码可见: public interface RandomAccess { }RandomAccess接口其实是一个标记接口,它只…...

OSI七层模型与物理层与设备链路层

目录 协议 举例 OSI七层模型 理解七层模型 以下为OSI七层模型数据逐层封装和数据逐层解封的过程 TCP/IP参考模型 数据包的层层封装与层层拆包 各层的数据以及协议 封装所用的协议的数字表示形式 物理层 模拟信号 模拟信号特点 数字信号 数字信号特点 数据通信模…...

Java8的Optional类的使用 和 Stream流式操作

Java知识点总结:想看的可以从这里进入 目录13.6、Optional类13.7、Stream13.7.1、Stream创建13.7.2、中间操作1、筛选2、切片3、映射4、排序13.7.3、终止操作1、遍历2、聚合3、匹配查找4、归约5、收集归集统计分组字符串拼接归约13.6、Optional类 Optional类是一个…...

Authorization Server 认证服务

Hi Auth HiAuth是一个开源的基于Oauth2协议的认证、授权系统,除了标准的Oauth2授权流程功能外,还提供了应用管理、用户管理、权限管理等相关功能。 在这个项目中你能够了解到如何基于spring-security-oauth2-authorization-server实现自己的Authorizat…...

研制过程评审活动(五)生产定型阶段

1. 生产定型阶段主要任务 生产定型的主要任务是对产品批量生产条件和质量稳定情况进行全面考核,以确认产品是否达到批量生产的标准。   需要生产定型的军工产品,在完成设计定型并经小批量试生产后、正式批量生产之前,进行生产定型。生产定型的条件和时间,由定委在批准设计…...

NCUT加权的NMF

矩阵定义 X:特征矩阵,矩阵的维度为体素数mx(指标数x被试数)n S:相似性矩阵,由特征矩阵的每一行计算皮尔逊相关得到mxm的方阵 D:度矩阵,度矩阵的对角线元素由相似性矩阵S对应的行和…...

从0开始的ios自动化测试

最近由于工作内容调整,需要开始弄ios自动化了。网上信息有点杂乱,这边我就按我的实际情况,顺便记录下来,看是否能帮到有需要的人。 环境准备 安装tidevice pip3 install -U “tidevice[openssl]” 它的作用是,帮你绕…...

vue3中使用jszip压缩文件

1、安装依赖 npm install jszip npm install file-saver --save 2、使用 <template><el-card class"mb15"><template #header><span>jszip</span></template><!-- 二维码容器 --><div id"qrCodeBox">&…...

React 虚拟DOM的前世今生

引文 通过本文你将了解到 什么是虚拟DOM&#xff1f;虚拟DOM有什么优势&#xff1f;React的虚拟Dom是如何实现的&#xff1f;React是如何将虚拟Dom转变为真实Dom&#xff1f; 一、前言 要了解虚拟DOM&#xff0c;我们先明确一下DOM的概念。 根据MDN的说法&#xff1a; 文档…...

Java环境变量配置

一、Path环境变量配置设置环境变量的值&#xff1a;C:\Program Files\Java\jdk-17\bin目前较新的JDK安装时会自动配置javac、java程序的路径到Path环境变量中去 &#xff0c;因此&#xff0c;javac、java可以直接使用。注意&#xff1a;以前的老版本的JDK在安装的是没有自动配置…...

超详细解读!数据库表分区技术全攻略

更多内容可以关注微信公众号&#xff1a;老程序员刘飞 分区的定义 分区是一种数据库优化技术&#xff0c;它可以将大表按照一定的规则分成多个小表&#xff0c;从而提高查询和维护的效率。在分区的过程中&#xff0c;数据库会将数据按照分区规则分配到不同的分区中&#xff0…...

Redis高可用集群方案

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 @[TOC](文章目录)主从复制哨兵模式(sentinel)Cluster集群在生产过程中,Redis不一定会单独部署。因为一旦redis服务因为某些原因导致无法提供数,那么redis就不可用了。那么实现redis高可用的方式就…...

企业微信机器人发送消息

前言 随着科技的发展,各企业公司的业务不断发展,那么就需要强有力的沟通软件,其中企业微信、钉钉的能力得到了大众的认可,今天这篇文章就讲其中的一个功能-调用企业微信机器人(下文简称应用)进行消息传递。它的好处有哪些呢?自然是可以让相关人员及时追踪任务进度。 一、…...

使用PHP+yii2调用asmx服务接口

一.创建服务端 1&#xff1a;创建一个ASP.NET web应用程序 2:选择空的模板 3&#xff1a;系统生成项目目录 4&#xff1a;右键项目-添加项-新建项 5&#xff1a;选择Web 服务&#xff08;ASMX&#xff09; 6&#xff1a;选择之后项目中会有一个Test.asmx服务程序&#xff0c;…...

【042】904. 水果成篮[滑动窗口]

你正在探访一家农场&#xff0c;农场从左到右种植了一排果树。这些树用一个整数数组 fruits 表示&#xff0c;其中 fruits[i] 是第 i 棵树上的水果 种类 。 你想要尽可能多地收集水果。然而&#xff0c;农场的主人设定了一些严格的规矩&#xff0c;你必须按照要求采摘水果&…...

Linux基础知识(一)

♥️作者&#xff1a;小刘在C站 ♥️个人主页&#xff1a;小刘主页 ♥️每天分享云计算网络运维课堂笔记&#xff0c;努力不一定有收获&#xff0c;但一定会有收获加油&#xff01;一起努力&#xff0c;共赴美好人生&#xff01; ♥️夕阳下&#xff0c;是最美的绽放&#xff0…...

Redis面试题

目录 Redis持久化机制:RDB和AOF Redis线程模型有哪些&#xff1f;单线程为什么快&#xff1f; Redis的过期键有哪些删除策略&#xff1f; Redis集群方案有哪些&#xff1f; redis事务怎么实现&#xff1f; 为什么redis不支持回滚&#xff1f; redis主从复制的原理是什么 …...

微服务之Eureka

&#x1f3e0;个人主页&#xff1a;阿杰的博客 &#x1f4aa;个人简介&#xff1a;大家好&#xff0c;我是阿杰&#xff0c;一个正在努力让自己变得更好的男人&#x1f468; 目前状况&#x1f389;&#xff1a;24届毕业生&#xff0c;奋斗在找实习的路上&#x1f31f; &#x1…...

日日顺于贞超:供应链数字化要做到有数、有路、有人

在供应链行业里面&#xff0c;关于“数字化”的讨论绝对是一个经久不衰的话题。 但关于这个话题的讨论又时常让人觉得“隔靴搔痒”&#xff0c;因为数字化变革为非一日之功&#xff0c;对于企业来说意味着投入和牺牲。企业既怕不做怕将来被淘汰&#xff0c;又怕投入过高、不达预…...

MFC内存泄露

1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...

ssc377d修改flash分区大小

1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...

Leetcode 3577. Count the Number of Computer Unlocking Permutations

Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接&#xff1a;3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯&#xff0c;要想要能够将所有的电脑解锁&#x…...

现代密码学 | 椭圆曲线密码学—附py代码

Elliptic Curve Cryptography 椭圆曲线密码学&#xff08;ECC&#xff09;是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础&#xff0c;例如椭圆曲线数字签…...

C# SqlSugar:依赖注入与仓储模式实践

C# SqlSugar&#xff1a;依赖注入与仓储模式实践 在 C# 的应用开发中&#xff0c;数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护&#xff0c;许多开发者会选择成熟的 ORM&#xff08;对象关系映射&#xff09;框架&#xff0c;SqlSugar 就是其中备受…...

select、poll、epoll 与 Reactor 模式

在高并发网络编程领域&#xff0c;高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表&#xff0c;以及基于它们实现的 Reactor 模式&#xff0c;为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。​ 一、I…...

Mac下Android Studio扫描根目录卡死问题记录

环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中&#xff0c;提示一个依赖外部头文件的cpp源文件需要同步&#xff0c;点…...

GruntJS-前端自动化任务运行器从入门到实战

Grunt 完全指南&#xff1a;从入门到实战 一、Grunt 是什么&#xff1f; Grunt是一个基于 Node.js 的前端自动化任务运行器&#xff0c;主要用于自动化执行项目开发中重复性高的任务&#xff0c;例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...

《Docker》架构

文章目录 架构模式单机架构应用数据分离架构应用服务器集群架构读写分离/主从分离架构冷热分离架构垂直分库架构微服务架构容器编排架构什么是容器&#xff0c;docker&#xff0c;镜像&#xff0c;k8s 架构模式 单机架构 单机架构其实就是应用服务器和单机服务器都部署在同一…...

macOS 终端智能代理检测

&#x1f9e0; 终端智能代理检测&#xff1a;自动判断是否需要设置代理访问 GitHub 在开发中&#xff0c;使用 GitHub 是非常常见的需求。但有时候我们会发现某些命令失败、插件无法更新&#xff0c;例如&#xff1a; fatal: unable to access https://github.com/ohmyzsh/oh…...