一、如何成为一线技术专家

1、职业发展之路

Java 程序员的职业发展

技术道路没有捷径、机会永远是留给有准备的人

image.png

成为优秀技术人才

  • 积累了足够多的技术实力、某个领域具有足够的深度
    • Java基础(并发编程、JVM、IO)
    • 开发框架(Spring 技术体系、ORM技术体系)
    • 中间件开发(RPC、MQ、Redis)
    • 数据库技术(MySQL优化、分库分表)
    • 架构能力(微服务、系统重构、高并发经验)
  • 解决复杂问题, 独当一面、不断从实践中学习新技能、用过往经验提升团队能力
  • 成为T 型、Π型综合性人才、加入大厂, 获得更好发展机会

能力模型

能力模型.png

架构师做什么

定义: 项目里或组织里对技术决策负责的角色。 也可以细分为系统架构师、应用架构师、 企业架构师等。
问题: 搭建一个SSH\SSM框架的技术人员, 算不算是一名架构师呢?
一般职责:

一般职责
①技术规划与重大决策
②技术选型与新技术引入
③技术难点的解决与问题排查
④技术工具与基础设施的实现与维护
⑤技术创新类工作
⑥技术人才的引入与培养
⑦技术规范相关标准的制定与监督
⑧技术相关指标的定义与度量
⑨重点项目的架构设计
⑩测试与运维、 安全等领域的技术支持等

2、成为更好的自己

image.png

夯实自身硬实力技能

image.png

  1. 技术能力, 技术人员的核心竞争力
  2. 设计能力, 通过设计解决问题
  3. 抽象能力, 提升思维和认知层次
  4. 管理能力, 管理自我, 管理他人
  5. 结构化思维能力, 细化问题, 弄清楚问题
  6. 系统化分析能力, 深度思考问题, 第一性原理

image.png

  • 通过技术手段, 推动业务发展
  • 支撑业务实现 -> 推动业务发展 -> 优化改进业务
  • 四级/五级流程法(Java知识体系)

image.png

  • 高效的做事。
  • 对人, 对事儿。
  • 过程, 结果。 从定性到定量。
  • 《管理的常识》 《卓有成效的管理者》 《领导梯队》
  • 《金字塔原理》
  • 《系统化思维导论》

    培养个人全面软实力

    image.png
  1. 大局观能力: 提升一个层级看问题
  2. 沟通协作能力: 事半功倍解决问题, 推动任务
  3. 持续学习能力: 更新知识结构, 引入新的办法
  4. 专注力: 专注事物本质, 积累深入, 做到极致
  5. 探索力: 对新事物保持好奇心, 接受新思维
  6. 决策力: 勇于做出分析和决策, 推动发展
  7. 自我驱动力: 外因的驱动都无法持久

image.png
提升自己, 自我进化、通过更全面的内部外认知, 信息的有效传递和补充、《非暴力沟通》
image.png
保持长期有效发展的基础、探索力 更深一层次的要求

努力成为更好的自己

积累知识, 积点成面

  • 知识必须要体系化, 行为一个完整的结构。
  • 甚至, 思考任何问题, 分析任何问题, 都要考虑用一个良好的结构化思路。
  • 积累, 可以复用。

学以致用, 创造价值

  • 不创造价值的知识, 本身就没有价值
  • 如果我们认识不到它的价值, 说明我们思考的不够深入。

走出技巧, 关注方案

  • 工作和学习的过程中, 逐渐的走出对技巧的外在追求,
  • 更关注于, 如何解决问题, 如何更好的解决问题,
  • 这个办法/方案/知识/工具, 还可以解决哪些类似问题。
  • 搞清楚问题, 永远比稀里糊涂解决了问题, 更重要

方法重要, 胜过细节

  • 好的方法是逐渐培养和形成的。
  • 不同人, 对于适合自己的方法, 也不尽相同。
  • 找到最适合自己的, 高效方法。
  • 细节是魔鬼, 需要的时候再去跟魔鬼斗争。

关注他人, 影响团队

  • 这个时代不是一个人的英雄主义时代。
  • 关注他人, 影响他人, 将自己的能力, 通过团队放大。
  • 建立自己的影响力

养成习惯, 终身学习
四句口诀:善用时间管理,构建知识体系,实践积累经验,终身持续学习。
很多技术背后的原理都是相通的, 学习本身具有飞轮效应。善于复盘, 在每一段经历中得到锻炼和成长。每天进步一点点

3、个人目标总结

  1. 分析自己的硬实力和软实力, 总结自己的优缺点, 正视自己并思考改进。
  2. 针对自己的分析, 规划自己未来1年、 2年、 3年、 5年的职业发展。
  3. 分别用100个字以上的一段话, 加上一幅图(架构图或脑图) , 总结自己
    对下列技术的关键点思考和经验认识:
    1) JVM
    2) NIO
    3) 并发编程
    4) Spring和ORM等框架
    5) MySQL数据库和SQL
    6) 分库分表
    7) RPC和微服务
    8) 分布式缓存
    9) 分布式消息队列

    二、如何搞定一个非常有挑战的任务

    1、如何搞定

    面临挑战

    每个人长大后都时刻面临挑战

  4. 老板说,你去负责一个X新项目吧!

  5. 经理说,你去搞定线上XX故障问题!
  6. 组长说,我们研究使用XXX新技术吧!

    两大法宝

    Fake it,Make it!

    剖析一下这两个法宝

    对自己来说,我。。。
    image.png
    对领导来说,我。。。
    image.png

    2、如何制定目标

    目标决定方向,但方向不只是只有目标一个
    要点,还有站立点。站立点作为起点,目标作为终点,两点方能确定一条直线,直线即方向。

    什么是目标?

    举个例子,我要做一个有钱人、我要嫁给富二代、我要变成技术大牛、我要成为受人敬仰的人。都不算是目标!

    目标 = goal / objective

  • 足球比赛,我想把脚下的球,踢进球门;
  • 我想这个星期看完某课程并独立完成实践;
  • 期末考试,我想把数学成绩提升10分,从期中的75分提高到85分。
  • 我想明年这个时候,能够拿到阿里、腾讯、京东或者美团的技术专家Offer。

    怎么制定目标?

    目标制定:SMART原则

技术专家路线 - 图12
制定了一个目标,例如:明年这个时候,能够拿到A、T、J或者M的技术专家Offer。思考题:然后呢?怎么办?